Servizi WCF e traccia eventi per Windows

Nell'esempio ETWTracing viene illustrato come usare la traccia analitica in Windows Communication Foundation (WCF) per generare eventi in Event Tracing for Windows (ETW). Le tracce analitiche sono eventi generati in corrispondenza di punti chiave nello stack WCF che consentono risolvere i problemi relativi ai servizi WCF in un ambiente di produzione.

La funzionalità di tracci analitica nei servizi WCF consiste in una traccia che può essere attivata in un ambiente di produzione con impatto minimo sulle prestazioni. Queste tracce vengono inviate come eventi a una sessione ETW.

In questo esempio è incluso un servizio WCF di base in cui gli eventi vengono inviati dal servizio al registro eventi che può essere visualizzato tramite Visualizzatore eventi. È inoltre possibile avviare una sessione ETW dedicata che rimanga in ascolto degli eventi generati dal servizio WCF. Nell'esempio è incluso uno script che consente di creare una sessione ETW dedicata che archivia gli eventi in un file binario che può essere letto tramite Visualizzatore eventi.

Per usare questo esempio

  1. In Visual Studio, aprire il file della soluzione EtwAnalyticTraceSample.sln.

  2. Per compilare la soluzione, premere CTRL+MAIUSC+B.

  3. Per eseguire la soluzione, premere CTRL+F5.

    Nel browser web, fare clic su Calculator.svc. L'URI del documento WSDL per il servizio viene visualizzato nel browser. Copiare l'URI.

    Per impostazione predefinita, il servizio inizia ad ascoltare le richieste sulla porta 1378 http://localhost:1378/Calculator.svc.

  4. Eseguire il client di prova WCF (WcfTestClient.exe).

    Il client di prova WCF (WcfTestClient.exe) si trova in \<Visual Studio Install Dir>\Common7\IDE\WcfTestClient.exe.

  5. All'interno del client di prova WCF, aggiungere il servizio selezionando File, quindi Aggiungi servizio.

    Aggiungere l'indirizzo dell'endpoint nella casella di input. Il valore predefinito è http://localhost:1378/Calculator.svc.

  6. Aprire l'applicazione Visualizzatore eventi.

    Prima di richiamare il servizio, avviare Visualizzatore eventi e verificare che il registro eventi sia in ascolto per rilevare gli eventi generati dal servizio WCF.

  7. Nel menu Start selezionare Strumenti di amministrazione, quindi Visualizzatore eventi. Abilitare i registri Analitico e Debug.

  8. Nella visualizzazione albero di Visualizzatore eventi, passare a Visualizzatore eventi, Registri applicazioni e servizi, Microsoft, Windows, quindi Server applicazioni-Applicazioni. Fare clic con il pulsante destro del mouse su Server applicazioni-Applicazioni, scegliere Visualizza, quindi Visualizza registri analitici e di debug.

    Assicurarsi che l'opzione Visualizza registri analitici e di debug sia selezionata.

  9. Abilitare il log Analitico.

    Nella visualizzazione albero di Visualizzatore eventi, passare a Visualizzatore eventi, Registri applicazioni e servizi, Microsoft, Windows, quindi Server applicazioni-Applicazioni. Fare clic con il pulsante destro del mouse su Analitico e scegliere Abilita log.

Per eseguire il test del servizio

  1. Tornare a client di prova WCF, fare doppio clic su Divide e mantenere i valori predefiniti che specificano un valore per il denominatore pari a 0.

    Se il valore del denominatore è 0, il servizio genererà un errore.

  2. Osservare gli eventi creati dal servizio.

    Tornare a Visualizzatore eventi e passare a Visualizzatore eventi, Registri applicazioni e servizi, Microsoft, Windows e quindi a Server applicazioni-Applicazioni. Fare clic con il pulsante destro del mouse su Analitico e selezionare Aggiorna.

    Gli eventi di traccia analitici di WCF verranno visualizzati nel Visualizzatore eventi. Si noti che poiché un errore è stato generato dal servizio, nel Visualizzatori eventi viene visualizzato un evento traccia di errore.

  3. Ripetere i passaggi 1 e 2 con valori di input validi. Il valore del parametro N2 deve essere un numero diverso da 0.

    Aggiornare il canale analitico per visualizzare gli eventi WCF e osservare come non includano alcun evento di errore.

Nell'esempio vengono illustrati gli eventi di traccia analitici creati da un servizio WCF.

Per eseguire la pulizia (facoltativo)

  1. Aprire il Visualizzatore eventi.

  2. Passare a Visualizzatore eventi, Registri applicazioni e servizi, Microsoft, Windows, quindi Server applicazioni-Applicazioni. Fare clic con il pulsante destro del mouse su Analitico e selezionare Disabilita log.

  3. Passare a Visualizzatore eventi, Registri applicazioni e servizi, Microsoft, Windows, quindi Server applicazioni-Applicazioni. Fare clic con il pulsante destro del mouse su Analitico e selezionare Cancella log.

  4. Scegliere l'opzione Cancella per cancellare gli eventi.

Vedi anche