Трассировка ETWETW Tracing

В этом примере показано, как реализовать сквозную трассировку (E2E) с помощью трассировки событий для Windows (трассировка событий Windows) и ETWTraceListener, предоставляемого с этим примером.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. Образец основан на Начало работы и включает трассировку ETW.The sample is based on the Getting Started and includes ETW tracing.

Примечание

Процедура настройки и инструкции по построению для данного образца приведены в конце этого раздела.The set-up procedure and build instructions for this sample are located at the end of this topic.

В этом примере предполагается, что вы знакомы с трассировкой и ведением журнала сообщений.This sample assumes that you are familiar with Tracing and Message Logging.

Каждый источник трассировки в модели трассировки System.Diagnostics может иметь несколько прослушивателей трассировки, которые определяют место и способ трассировки данных.Each trace source in the System.Diagnostics tracing model can have multiple trace listeners that determine where and how the data is traced. Тип прослушивателя определяет формат записи данных трассировки в журнал.The type of listener defines the format in which trace data is logged. В следующем образце кода показано, как добавить прослушиватель в конфигурацию.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>  

Перед использованием этого прослушивателя необходимо запустить сеанс трассировки событий Windows.Before using this listener, an ETW Trace Session must be started. Этот сеанс может быть запущен с помощью программ Logman.exe или Tracelog.exe.This session can be started by using Logman.exe or Tracelog.exe. В этот образец включен файл SetupETW.bat, поэтому можно настроить сеанс трассировки событий Windows вместе с файлом CleanupETW.bat для закрытия сеанса и завершения выполнения файла журнала.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.

Примечание

Процедура настройки и инструкции по построению для данного образца приведены в конце этого раздела.The setup procedure and build instructions for this sample are located at the end of this topic. Дополнительные сведения об этих средствах см. в разделе https://go.microsoft.com/fwlink/?LinkId=56580For more information about these tools, see https://go.microsoft.com/fwlink/?LinkId=56580

При использовании ETWTraceListener трассировки заносятся в журнал в двоичных файлах с расширением ETL.When using the ETWTraceListener, traces are logged in binary .etl files. Если трассировка ServiceModel включена, все созданные трассировки отображаются в одном и том же файле.With ServiceModel tracing turned on, all generated traces appear in the same file. Используйте средство Service Trace Viewer (SvcTraceViewer.exe) для просмотра файлов журнала ETL и SVCLOG.Use Service Trace Viewer Tool (SvcTraceViewer.exe) for viewing .etl and .svclog log files. Средство просмотра создает сквозное представление системы, позволяющее выполнять трассировку сообщения на пути от источника в место назначения и точку потребления.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.

Прослушиватель трассировки событий Windows поддерживает циклическое ведение журнала.The ETW Trace Listener supports circular logging. Чтобы включить эту функцию, перейдите в раздел Пуск, запустите и введите, cmd чтобы запустить консоль командной строки.To enable this feature, go to Start, Run and type cmd to start a command console. В следующей команде замените параметр <logfilename> на имя требуемого файла журнала.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  

Коммутаторы -f и -max необязательны.The -f and -max switches are optional. Они указывают двоичный циклический формат и максимальный размер журнала (1000 МБ) соответственно.They specify the binary circular format and max log size of 1000MB respectively. Коммутатор -p используется для указания поставщика трассировки.The -p switch is used to specify the trace provider. В этом примере "{411a0819-c24b-428c-83e2-26b41091702e}" является идентификатором GUID для примера поставщика трассировки событий Windows XML.In our example, "{411a0819-c24b-428c-83e2-26b41091702e}" is the GUID for "XML ETW Sample Provider".

Для запуска сеанса введите следующую команду:To start the session, type in the following command.

logman start Wcf  

По завершении ведения журнала можно остановить сеанс с помощью следующей команды.After you have finished logging, you can stop the session with the following command.

logman stop Wcf  

Этот процесс создает двоичные циклические журналы, которые можно обработать с помощью выбранного инструмента, включая средство Service Trace Viewer (SvcTraceViewer.exe) или 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.

Вы также можете ознакомиться с примером циклической трассировки для получения дополнительных сведений о альтернативном прослушивателе для выполнения циклического ведения журнала.You can also review the Circular Tracing sample for more information on an alternative listener to perform circular logging.

Настройка, сборка и выполнение образцаTo set up, build, and run the sample

  1. Убедитесь, что вы выполнили однократную процедуру настройки для Windows Communication Foundation примеров.Be sure you have performed the One-Time Setup Procedure for the Windows Communication Foundation Samples.

  2. Чтобы выполнить сборку решения, следуйте инструкциям в разделе Создание примеров Windows Communication Foundation.To build the solution, follow the instructions in Building the Windows Communication Foundation Samples.

    Примечание

    Для запуска команд RegisterProvider.bat, SetupETW.bat и CleanupETW.bat необходимо использовать учетную запись локального администратора.To use the RegisterProvider.bat, SetupETW.bat and CleanupETW.bat commands, you must run under a local administrator account. При использовании Windows Vista или более поздней версии необходимо также запустить командную строку с повышенными привилегиями.If you are using Windows Vista or later, you must also run the command prompt with elevated privileges. Для этого щелкните правой кнопкой мыши значок командной строки и выберите команду Запуск от имени администратора.To do so, right-click the command prompt icon, then click Run as administrator.

  3. Перед выполнением примера запустите файл RegisterProvider.bat на стороне клиента и сервера.Before running the sample, run RegisterProvider.bat on the client and server. При этом выполняется настройка получаемого файла ETWTracingSampleLog.etl для создания трассировок, которые можно считать с помощью программы Service Trace Viewer.This sets up the resulting ETWTracingSampleLog.etl file to generate traces that can be read by the Service Trace Viewer. Этот файл можно найти в папке C:\logs.This file can be found in the C:\logs folder. Если эта папка не существует, ее необходимо создать, в противном случае трассировки создаваться не будут.If this folder does not exist, it must be created or no traces are generated. Затем запустите файл SetupETW.bat на клиентском и серверном компьютерах, чтобы начать сеанс трассировки событий Windows.Then, run SetupETW.bat on the client and server computers to begin the ETW Trace Session. Файл SetupETW.bat можно найти в папке CS\Client.The SetupETW.bat file can be found under the CS\Client folder.

  4. Чтобы запустить пример в конфигурации с одним или несколькими компьютерами, следуйте инструкциям в разделе выполнение примеров Windows Communication Foundation.To run the sample in a single- or cross-computer configuration, follow the instructions in Running the Windows Communication Foundation Samples.

  5. По завершении образца запустите файл CleanupETW.bat, чтобы завершить создание файла ETWTracingSampleLog.etl.When the sample is completed, run CleanupETW.bat to complete the creation of the ETWTracingSampleLog.etl file.

  6. Откройте файл ETWTracingSampleLog.etl с помощью программы Service Trace Viewer.Open the ETWTracingSampleLog.etl file from within the Service Trace Viewer. Будет предложено сохранить двоичный файл как файл с расширением SVCLOG.You will be prompted to save the binary formatted file as a .svclog file.

  7. Откройте только что созданный файл с расширением SVCLOG с помощью программы Service Trace Viewer, чтобы просмотреть трассировки событий Windows и трассировки ServiceModel.Open the newly created .svclog file from within the Service Trace Viewer to view the ETW and ServiceModel traces.

Важно!

Образцы уже могут быть установлены на компьютере.The samples may already be installed on your computer. Перед продолжением проверьте следующий каталог (по умолчанию).Check for the following (default) directory before continuing.

<InstallDrive>:\WF_WCF_Samples

Если этот каталог не существует, перейдите к примерам Windows Communication Foundation (WCF) и Windows Workflow Foundation (WF) для .NET Framework 4 , чтобы скачать все Windows Communication Foundation (WCF) и WFWF примеры.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. Этот образец расположен в следующем каталоге.This sample is located in the following directory.

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

См. такжеSee also