ETW-AblaufverfolgungETW Tracing

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.This sample demonstrates how to implement End-to-End (E2E) tracing using Event Tracing for Windows (ETW) and the ETWTraceListener that is provided with this sample. Das Beispiel basiert auf der Einstieg und ETW-Ablaufverfolgung enthält.The sample is based on the Getting Started and includes ETW tracing.

Hinweis

Die Setupprozedur und die Buildanweisungen für dieses Beispiel befinden sich am Ende dieses Themas.The set-up procedure and build instructions for this sample are located at the end of this topic.

In diesem Beispiel wird davon ausgegangen, dass Sie kennen Ablaufverfolgung und Nachrichtenprotokollierung.This sample assumes that you are familiar with Tracing and Message Logging.

Alle Ablaufverfolgungsquellen im System.Diagnostics-Ablaufverfolgungsmodell können über mehrere Ablaufverfolgungslistener verfügen, die bestimmen, wann und wie die Daten verfolgt werden.Each trace source in the System.Diagnostics tracing model can have multiple trace listeners that determine where and how the data is traced. Der Typ des Listeners definiert das Format, in dem Ablaufverfolgungsdaten protokolliert werden.The type of listener defines the format in which trace data is logged. Im folgenden Codebeispiel wird das Hinzufügen eines Listeners zur Konfiguration dargestellt.The following code sample shows how to add the listener to configuration.

<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.Before using this listener, an ETW Trace Session must be started. Diese Sitzung kann mithilfe von Logman.exe oder Tracelog.exe gestartet werden.This session can be started by using Logman.exe or Tracelog.exe. 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.A SetupETW.bat file is included with this sample so that you can set up the ETW Trace Session along with a CleanupETW.bat file for closing the session and completing the log file.

Hinweis

Die Setupprozedur und die Buildanweisungen für dieses Beispiel befinden sich am Ende dieses Themas.The setup procedure and build instructions for this sample are located at the end of this topic. Weitere Informationen zu diesen Tools finden Sie unter http://go.microsoft.com/fwlink/?LinkId=56580For more information about these tools, see http://go.microsoft.com/fwlink/?LinkId=56580

Bei der Verwendung von ETWTraceListener werden Ablaufverfolgungen in binären ETL-Dateien protokolliert.When using the ETWTraceListener, traces are logged in binary .etl files. Wenn die ServiceModel-Ablaufverfolgung aktiviert ist, werden alle generierten Ablaufverfolgungen in der gleichen Datei angezeigt.With ServiceModel tracing turned on, all generated traces appear in the same file. Verwendung Service Trace Viewer-Tool (SvcTraceViewer.exe) für ETL und .svclog Protokolldateien anzeigen.Use Service Trace Viewer Tool (SvcTraceViewer.exe) for viewing .etl and .svclog log files. 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.The viewer creates an end-to-end view of the system that makes it possible to trace a message from its source to its destination and point of consumption.

Der ETW-Ablaufverfolgungslistener unterstützt zirkuläre Protokollierung.The ETW Trace Listener supports circular logging. Um dieses Feature zu aktivieren, wechseln Sie zu starten, ausführen und Typ cmd um eine Befehlskonsole zu starten.To enable this feature, go to Start, Run and type cmd to start a command console. Ersetzen Sie im folgenden Befehl den <logfilename>-Parameter durch den Namen der Protokolldatei.In the following command, replace the <logfilename> parameter with the name of your log file.

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.The -f and -max switches are optional. Sie geben das binäre zirkuläre Format bzw. die maximale Protokollgröße von 1000 MB an.They specify the binary circular format and max log size of 1000MB respectively. Mit dem -p-Schalter wird der Ablaufverfolgungsanbieter angegeben.The -p switch is used to specify the trace provider. In diesem Beispiel ist "{411a0819-c24b-428c-83e2-26b41091702e}" die GUID für "XML ETW Sample Provider".In our example, "{411a0819-c24b-428c-83e2-26b41091702e}" is the GUID for "XML ETW Sample Provider".

Geben Sie den folgenden Befehl ein, um die Sitzung zu starten.To start the session, type in the following command.

Logman start Wcf  

Nach Abschluss der Protokollierung können Sie die Sitzung mit dem folgenden Befehl beenden.After you have finished logging, you can stop the session with the following command.

Logman stop Wcf  

Dieser Prozess generiert binäre zirkuläre Protokolle, die Sie mit dem Tool Wahl, verarbeiten kann einschließlich Service Trace Viewer-Tool (SvcTraceViewer.exe) oder Tracerpt.This process generates binary circular logs that you can process with your tool of choice, including Service Trace Viewer Tool (SvcTraceViewer.exe) or Tracerpt.

Sie können auch überprüfen, die zirkuläre Ablaufverfolgung Sample für Weitere Informationen zu einer alternativen Listener zirkulären Protokollierung ausführen.You can also review the Circular Tracing sample for more information on an alternative listener to perform circular logging.

So können Sie das Beispiel einrichten, erstellen und ausführenTo set up, build, and run the sample

  1. Achten Sie ausgeführt haben die Setupprozedur für die Windows Communication Foundation-Beispiele zum einmaligen.Be sure you have performed the One-Time Setup Procedure for the Windows Communication Foundation Samples.

  2. Führen Sie zum Erstellen der Projektmappe die Anweisungen im Erstellen der Windows Communication Foundation-Beispiele.To build the solution, follow the instructions in Building the Windows Communication Foundation Samples.

    Hinweis

    Zur Verwendung der Befehle RegisterProvider.bat, SetupETW.bat und CleanupETW.bat muss die Ausführung unter einem lokalen Administratorkonto erfolgen.To use the RegisterProvider.bat, SetupETW.bat and CleanupETW.bat commands, you must run under a local administrator account. Wenn Sie mit Windows VistaWindows Vista oder höher arbeiten, müssen Sie auch die Eingabeaufforderung mit erweiterten Berechtigungen ausführen.If you are using Windows VistaWindows Vista or later, you must also run the command prompt with elevated privileges. Zu diesem Zweck mit der rechten Maustaste des Symbol "Eingabeaufforderung", und klicken Sie auf als Administrator ausführen.To do so, right-click the command prompt icon, then click Run as administrator.

  3. Führen Sie vor dem Ausführen des Beispiels RegisterProvider.bat auf dem Client und dem Server aus.Before running the sample, run RegisterProvider.bat on the client and server. Dadurch wird die resultierende Datei ETWTracingSampleLog.etl zum Generieren von Ablaufverfolgungen eingerichtet, die von Service Trace Viewer angezeigt werden können.This sets up the resulting ETWTracingSampleLog.etl file to generate traces that can be read by the Service Trace Viewer. Diese Datei befindet sich im Ordner C:\logs.This file can be found in the C:\logs folder. Wenn dieser Ordner nicht vorhanden ist, muss er erstellt werden. Andernfalls werden keine Ablaufverfolgungen generiert.If this folder does not exist, it must be created or no traces are generated. Führen Sie dann SetupETW.bat auf dem Client- und dem Servercomputer aus, um die ETW-Ablaufverfolgungssitzung zu starten.Then, run SetupETW.bat on the client and server computers to begin the ETW Trace Session. Die Datei SetupETW.bat befindet sich unter dem Ordner CS\Client.The SetupETW.bat file can be found under the CS\Client folder.

  4. Um das Beispiel in einer Einzelcomputer- oder computerübergreifenden Konfiguration ausführen möchten, folgen Sie den Anweisungen Ausführen der Windows Communication Foundation-Beispiele.To run the sample in a single- or cross-computer configuration, follow the instructions in Running the Windows Communication Foundation Samples.

  5. Führen Sie nach dem Abschließen des Beispiels CleanupETW.bat aus, um das Erstellen der Datei ETWTracingSampleLog.etl abzuschließen.When the sample is completed, run CleanupETW.bat to complete the creation of the ETWTracingSampleLog.etl file.

  6. Öffnen Sie die Datei "ETWTracingSampleLog.etl" in Service Trace Viewer.Open the ETWTracingSampleLog.etl file from within the Service Trace Viewer. Sie werden aufgefordert, die binär formatierte Datei als SVCLOG-Datei zu speichern.You will be prompted to save the binary formatted file as a .svclog file.

  7. Öffnen Sie die neu erstellte SVCLOG-Datei im Viewer für Dienstabläufe, um die ETW- und ServiceModel-Ablaufverfolgungen anzuzeigen.Open the newly created .svclog file from within the Service Trace Viewer to view the ETW and ServiceModel traces.

Wichtig

Die Beispiele sind möglicherweise bereits auf dem Computer installiert.The samples may already be installed on your computer. Suchen Sie nach dem folgenden Verzeichnis (Standardverzeichnis), bevor Sie fortfahren.Check for the following (default) directory before continuing.

<InstallDrive>:\WF_WCF_Samples

Wenn dieses Verzeichnis nicht vorhanden ist, fahren Sie mit Windows Communication Foundation (WCF) und Windows Workflow Foundation (WF) Samples for .NET Framework 4 aller Windows Communication Foundation (WCF) herunterladen und WFWF Beispiele.If this directory does not exist, go to Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 to download all Windows Communication Foundation (WCF) and WFWF samples. Dieses Beispiel befindet sich im folgenden Verzeichnis.This sample is located in the following directory.

<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Management\AnalyticTrace

Siehe auchSee Also

Überwachen der AppFabric-BeispieleAppFabric Monitoring Samples