WCF Services et suivi d'événements Windows
L’exemple ETWTracing montre comment utiliser le suivi analytique dans Windows Communication Foundation (WCF) pour émettre des événements dans le suivi d’événements pour Windows (ETW). Les traces analytiques sont des événements émis à des points clés dans la pile WCF qui permettent de résoudre des problèmes liés aux services WCF dans un environnement de production.
La trace analytique des services WCF est un suivi qui peut être activé dans un environnement de production avec un impact minime sur les performances. Ces traces sont émises en tant qu'événements dans une session de suivi ETW.
Cet exemple inclut un service WCF de base dans lequel des événements sont émis du service au journal des événements, lequel peut être consulté à l’aide de l’Observateur d’événements. Il est également possible de démarrer une session de suivi ETW dédiée qui écoute les événements du service WCF. L'exemple comprend un script permettant de créer une session de suivi ETW dédiée qui stocke des événements dans un fichier binaire pouvant être lu à l'aide de l'Observateur d'événements.
Pour utiliser cet exemple
À l’aide de Visual Studio, ouvrez le fichier solution EtwAnalyticTraceSample.sln.
Pour générer la solution, appuyez sur Ctrl+Maj+B.
Pour exécuter la solution, appuyez sur Ctrl+F5.
Dans le navigateur web, cliquez sur Calculator.svc. L'URI du document WSDL du service doit s'afficher dans le navigateur. Copiez cet URI.
Par défaut, le service commence à écouter les requêtes sur le port 1378
http://localhost:1378/Calculator.svc
.Exécutez le client test WCF (WcfTestClient.exe).
Le client test WCF (WcfTestClient.exe) se trouve à
\<Visual Studio Install Dir>\Common7\IDE\WcfTestClient.exe
.Dans le client test WCF, ajoutez le service en sélectionnant Fichier, puis Ajouter un service.
Ajoutez l'adresse du point de terminaison dans la zone d'entrée. Par défaut, il s’agit de
http://localhost:1378/Calculator.svc
.Ouvrez l'application Observateur d'événements.
Avant d’appeler le service, démarrez l’Observateur d’événements et vérifiez que le journal des événements écoute les événements de suivi émis à partir du service WCF.
Dans le menu Démarrer, sélectionnez Outils d’administration, puis Observateur d’événements. Activez les journaux d’analyse et de débogage.
Dans l’arborescence de l’Observateur d’événements, naviguez vers Observateur d’événements, Journaux des applications et des services, Microsoft, Windows, puis Serveur d’applications-Applications. Cliquez avec le bouton droit sur Serveur d’applications-Applications, sélectionnez Afficher, puis Afficher les journaux d’analyse et de débogage.
Vérifiez que l’option Afficher les journaux d’analyse et de débogage est activée.
Activez le journal Analyse.
Dans l’arborescence de l’Observateur d’événements, naviguez vers Observateur d’événements, Journaux des applications et des services, Microsoft, Windows, puis Serveur d’applications-Applications. Cliquez avec le bouton droit sur Analyse et sélectionnez Activer le journal.
Pour tester le service
Revenez au client test WCF, double-cliquez sur
Divide
et conservez les valeurs par défaut, qui spécifient le dénominateur 0.Si le dénominateur est 0, le service génère une erreur.
Observez les événements émis par le service.
Revenez à l’observateur d’événements et naviguez jusqu’à Observateur d’événements, Journaux des applications et des services, Microsoft, Windows, puis Serveur d’applications-Applications. Cliquez avec le bouton droit sur Analyse et sélectionnez Actualiser.
Les événements du traçage analytique de WCF s'affichent dans l'Observateur d'événements. Notez qu'en raison de l'erreur générée par le service, un événement de trace d'erreur est visible dans l'Observateur d'événements.
Répétez les étapes 1 et 2, mais avec des entrées valides. La valeur du paramètre
N2
peut être n'importe quel nombre différent de 0.Actualisez le canal analytique pour constater que les événements WCF n'incluent aucun événement d'erreur.
L'exemple montre les événements de trace analytique émis par un service WCF.
Pour effectuer un nettoyage (facultatif)
Ouvrez l'observateur d'événements.
Naviguez vers Observateur d’événements, Journaux des applications et des services, Microsoft, Windows, puis Serveur d’applications-Applications. Cliquez avec le bouton droit sur Analyse et sélectionnez Désactiver le journal.
Naviguez vers Observateur d’événements, Journaux des applications et des services, Microsoft, Windows, puis Serveur d’applications-Applications. Cliquez avec le bouton droit sur Analyse et sélectionnez Effacer le journal.
Choisissez l’option Effacer pour effacer les événements.