Diagnostic d’applications transactionnelles
Cette rubrique décrit comment utiliser la fonctionnalité de diagnostic et de gestion de Windows Communication Foundation (WCF) pour dépanner une application transactionnelle.
Compteurs de performance
WCF fournit un jeu standard de compteurs de performance vous permettant de mesurer la performance de votre application transactionnelle. Pour plus d’informations, consultez Compteurs de performances.
Les compteurs de performance sont définis à trois niveaux différents : service, point de terminaison et opération, tel que décrit dans les tableaux suivants.
Compteurs de performance de service
Compteur de performances | Description |
---|---|
Transactions passées | Nombre de transactions passées aux opérations dans ce service. Ce compteur est incrémenté chaque fois qu'une transaction est présente dans le message envoyé au service. |
Transactions passées par seconde | Nombre de transactions passées aux opérations dans ce service par seconde. Ce compteur est incrémenté chaque fois qu'une transaction est présente dans le message envoyé au service. |
Opérations traitées validées | Nombre d’opérations traitées avec des résultats validés dans ce service. Le travail effectué dans le cadre de telles opérations a été entièrement validé. Les ressources sont mises à jour en fonction du travail effectué dans l'opération. |
Opérations traitées validées par seconde | Nombre d’opérations traitées avec des résultats validés dans ce service par seconde. Le travail effectué dans le cadre de telles opérations a été entièrement validé. Les ressources sont mises à jour en fonction du travail effectué dans l'opération. |
Opérations traitées annulées | Nombre d’opérations traitées avec des résultats annulés dans ce service. Le travail effectué dans le cadre de telles opérations est annulé. Les ressources sont replacées à leur état antérieur. |
Nombre d'opérations traitées abandonnées par seconde | Nombre d'opérations traitées avec des résultats annulés dans ce service par seconde. Le travail effectué dans le cadre de telles opérations est annulé. Les ressources sont replacées à leur état antérieur. |
Opérations traitées avec des résultats incertains | Nombre d'opérations traitées avec des résultats incertains dans ce service. L'état d'un travail effectué avec un résultat incertain est indéterminé. Les ressources sont conservées dans l'attente des résultats. |
Opérations traitées avec des résultats incertains par seconde | Nombre d'opérations traitées avec des résultats incertains dans ce service par seconde. L'état d'un travail effectué avec un résultat incertain est indéterminé. Les ressources sont conservées dans l'attente des résultats. |
Compteurs de performance de point de terminaison
Compteur de performances | Description |
---|---|
Transactions passées | Nombre de transactions passées à des opérations au niveau de ce point de terminaison. Ce compteur est incrémenté chaque fois qu’une transaction est présente dans le message envoyé au point de terminaison. |
Transactions passées par seconde | Nombre de transactions passées à des opérations au niveau de ce point de terminaison par seconde. Ce compteur est incrémenté chaque fois qu’une transaction est présente dans le message envoyé au point de terminaison. |
Compteurs de performance d'opération
Compteur de performances | Description |
---|---|
Transactions passées | Nombre de transactions passées à des opérations au niveau de ce point de terminaison. Ce compteur est incrémenté chaque fois qu’une transaction est présente dans le message envoyé au point de terminaison. |
Transactions passées par seconde | Nombre de transactions passées à des opérations au niveau de ce point de terminaison par seconde. Ce compteur est incrémenté chaque fois qu’une transaction est présente dans le message envoyé au point de terminaison. |
Windows Management Instrumentation
WCF expose au moment de l’exécution les données d’inspection d’un service par l’intermédiaire d’un fournisseur WMI (Windows Management Instrumentation) de WCF. Pour plus d’informations sur l’accès aux données WMI, consultez Utilisation de Windows Management Instrumentation pour les diagnostics.
Un certain nombre de propriétés WMI en lecture seule indiquent les paramètres de transaction appliqués pour un service. Les tableaux suivants répertorient l'ensemble de ces paramètres.
Sur un service, ServiceBehaviorAttribute
a les propriétés suivantes :
Nom | Type | Description |
---|---|---|
ReleaseServiceInstanceOnTransactionComplete | Booléen | Spécifie si l’objet de service est recyclé lorsque la transaction actuelle se termine. |
TransactionAutoCompleteOnSessionClose | Booléen | Spécifie si les transactions en attente sont complétées lorsque la session actuelle se ferme. |
TransactionIsolationLevel | Chaîne contenant une valeur valide de l'énumération IsolationLevel. | Spécifie le niveau d’isolation des transactions que ce service prend en charge. |
TransactionTimeout | DateTime | Spécifie le délai dans lequel une transaction doit se terminer. |
ServiceTimeoutsBehavior
a la propriété suivante :
Nom | Type | Description |
---|---|---|
TransactionTimeout | DateTime | Spécifie le délai dans lequel une transaction doit se terminer. |
Sur une liaison, TransactionFlowBindingElement
a les propriétés suivantes :
Nom | Type | Description |
---|---|---|
TransactionProtocol | Chaîne contenant une valeur valide du type TransactionProtocol. | Spécifie le protocole de transaction utilisé dans le passage d’une transaction. |
Liaison | Booléen | Spécifie si le flux de transaction entrant est activé. |
Sur une opération, OperationBehaviorAttribute
a les propriétés suivantes :
Nom | Type | Description |
---|---|---|
TransactionAutoComplete | Booléen | Spécifie s'il convient de valider automatiquement la transaction actuelle si aucune exception non traitée ne se produit. |
TransactionScopeRequired | Booléen | Spécifie si l’opération requiert une transaction. |
Sur une opération, TransactionFlowAttribute
a les propriétés suivantes :
Nom | Type | Description |
---|---|---|
TransactionFlowOption | Chaîne contenant une valeur valide de l'énumération TransactionFlowOption. | Spécifie l’étendue à laquelle le flux de transaction est requis. |
Traçage
Les suivis vous permettent de surveiller et d'analyser les erreurs dans vos applications transactionnelles. Pour activer le suivi, procédez comme suit :
Suivi WCF standard
Ce type de suivi est identique à celui des applications WCF. Pour plus d'informations, consultez Configuring Tracing.
Suivi WS-AtomicTransaction
Le suivi WS-AtomicTransaction peut être activé à l’aide de l’utilitaire de configuration WS-AtomicTransaction (wsatConfig.exe). Un suivi de ce type permet de connaître l’état des transactions et des participants d’un système. Pour activer également le suivi du modèle de service interne, affectez une valeur valide de l'énumération
HKLM\SOFTWARE\Microsoft\WSAT\3.0\ServiceModelDiagnosticTracing
à la clé de registre SourceLevels. Vous pouvez activer la journalisation des messages de la même façon que pour les autres applications WCF.Suivi
System.Transactions
Lorsque vous utilisez le protocole OleTransactions, les messages de protocole ne peuvent pas être suivis. La prise en charge du suivi fournie par l’infrastructure System.Transactions (laquelle utilise OleTransactions) permet aux utilisateurs de consulter les événements qui se sont produits au niveau des transactions. Pour activer le suivi d'une application System.Transactions, incluez le code suivant dans le fichier de configuration
App.config
.<configuration> <system.diagnostics> <sources> <source name="System.Transactions" switchValue="Verbose, ActivityTracing"> <listeners> <add name="Text" type="System.Diagnostics.XmlWriterTraceListener" initializeData="SysTx.log" traceOutputOptions="Callstack" /> </listeners> </source> </sources> <trace autoflush="true" indentsize="4"> </trace> </system.diagnostics> </configuration>
Cela active par ailleurs le suivi WCF, car WCF utilise également l’infrastructure System.Transactions.