ETW-Ablaufverfolgung
In diesem Beispiel wird das Implementieren der End-to-End (E2E)-Ablaufverfolgung mit Event Tracing for Windows (ETW) und dem in diesem Beispiel bereitgestellten ETWTraceListener
veranschaulicht. Das Beispiel basiert auf dem Beispiel 'Erste Schritte' und schließt die ETW-Ablaufverfolgung ein.
Tipp
Die Setupprozedur und die Buildanweisungen für dieses Beispiel befinden sich am Ende dieses Themas.
In diesem Beispiel wird davon ausgegangen, dass Sie mit Ablaufverfolgung und Nachrichtenprotokollierung vertraut sind und die Dokumentation für Ablaufverfolgung und Nachrichtenprotokollierung gelesen haben.
Alle Ablaufverfolgungsquellen im System.Diagnostics-Ablaufverfolgungsmodell können über mehrere Ablaufverfolgungslistener verfügen, die bestimmen, wann und wie die Daten verfolgt werden. Der Typ des Listeners definiert das Format, in dem Ablaufverfolgungsdaten protokolliert werden. Im folgenden Codebeispiel wird das Hinzufügen eines Listeners zur Konfiguration dargestellt.
<system.diagnostics>
<sources>
<source name="System.ServiceModel"
switchValue="Verbose,ActivityTracing"
propagateActivity="true">
<listeners>
<add type=
"System.Diagnostics.DefaultTraceListener"
name="Default">
<filter type="" />
</add>
<add name="ETW">
<filter type="" />
</add>
</listeners>
</source>
</sources>
<sharedListeners>
<add type=
"Microsoft.ServiceModel.Samples.EtwTraceListener, ETWTraceListener"
name="ETW" traceOutputOptions="Timestamp">
<filter type="" />
</add>
</sharedListeners>
</system.diagnostics>
Damit dieser Listener verwendet werden kann, muss eine ETW-Ablaufverfolgungssitzung gestartet werden. Diese Sitzung kann mithilfe von Logman.exe oder Tracelog.exe gestartet werden. Dieses Beispiel umfasst die Datei "SetupETW.bat", sodass Sie die ETW-Ablaufverfolgungssitzung einrichten können. Außerdem wird die Datei "CleanupETW.bat" zum Schließen der Sitzung und Abschließen der Protokolldatei bereitgestellt.
Tipp
Die Setupprozedur und die Buildanweisungen für dieses Beispiel befinden sich am Ende dieses Themas. Weitere Informationen zu diesen Tools finden Sie unter https://go.microsoft.com/fwlink/?LinkId=56580 (möglicherweise nur in englischer Sprache).
Bei der Verwendung von ETWTraceListener werden Ablaufverfolgungen in binären ETL-Dateien protokolliert. Wenn die ServiceModel-Ablaufverfolgung aktiviert ist, werden alle generierten Ablaufverfolgungen in der gleichen Datei angezeigt. Verwenden Sie Service Trace Viewer Tool zum Anzeigen von ETL- und SVCLOG-Protokolldateien. Der Viewer erstellt eine End-to-End-Ansicht des Systems, mit der eine Nachricht von der Quelle zum Ziel und zur Verwendung verfolgt werden kann.
Der ETW-Ablaufverfolgungslistener unterstützt zirkuläre Protokollierung. Klicken Sie zum Aktivieren dieses Features auf Start, Ausführen, und geben Sie dann cmd ein, um eine Befehlskonsole zu starten. Ersetzen Sie im folgenden Befehl den <logfilename>
-Parameter durch den Namen der Protokolldatei.
logman create trace Wcf -o <logfilename> -p "{411a0819-c24b-428c-83e2-26b41091702e}" -f bincirc -max 1000
Der -f
-Schalter und der -max
-Schalter sind optional. Sie geben das binäre zirkuläre Format bzw. die maximale Protokollgröße von 1000 MB an. Mit dem -p
-Schalter wird der Ablaufverfolgungsanbieter angegeben. In diesem Beispiel ist "{411a0819-c24b-428c-83e2-26b41091702e}"
die GUID für "XML ETW Sample Provider".
Nach Abschluss der Protokollierung können Sie die Sitzung mit dem folgenden Befehl beenden.
Logman stop Wcf
Bei diesem Prozess werden binäre zirkuläre Protokolle generiert, die mit einem beliebigen Tool verarbeitet werden können, beispielsweise Service Trace Viewer Tool oder Tracerpt.
Im Beispiel Zirkuläre Ablaufverfolgung finden Sie außerdem weitere Informationen zu einem alternativen Listener zum Ausführen der zirkulären Protokollierung.
So richten Sie das Beispiel ein, erstellen es und führen es aus
Stellen Sie sicher, dass Sie Beispiele zum einmaligen Setupverfahren für Windows Communication Foundation ausgeführt haben.
Befolgen Sie zum Erstellen der Projektmappe die Anweisungen unter Erstellen der Windows Communication Foundation-Beispiele.
Führen Sie vor dem Ausführen des Beispiels RegisterProvider.bat auf dem Client und dem Server aus. Dadurch wird die resultierende Datei ETWTracingSampleLog.etl zum Generieren von Ablaufverfolgungen eingerichtet, die von Service Trace Viewer angezeigt werden können. Diese Datei befindet sich im Ordner C:\logs. Wenn dieser Ordner nicht vorhanden ist, muss er erstellt werden. Andernfalls werden keine Ablaufverfolgungen generiert. Führen Sie dann SetupETW.bat auf dem Client- und dem Servercomputer aus, um die ETW-Ablaufverfolgungssitzung zu starten. Die Datei "SetupETW.bat" befindet sich unter dem Ordner "CS\Client".
Wenn Sie das Beispiel in einer Konfiguration mit einem Computer oder computerübergreifend ausführen möchten, befolgen Sie die Anweisungen unter Durchführen der Windows Communication Foundation-Beispiele.
Führen Sie nach dem Abschließen des Beispiels CleanupETW.bat aus, um das Erstellen der Datei "ETWTracingSampleLog.etl" abzuschließen.
Öffnen Sie die Datei "ETWTracingSampleLog.etl" in Service Trace Viewer. Sie werden aufgefordert, die binär formatierte Datei als SVCLOG-Datei zu speichern.
Öffnen Sie die neu erstellte SVCLOG-Datei in Service Trace Viewer, um die ETW- und ServiceModel-Ablaufverfolgungen anzuzeigen.
Send comments about this topic to Microsoft.
© 2007 Microsoft Corporation. All rights reserved.