Трассировка событий Windows
В этом образце показано, как реализовать сквозную трассировку (E2E) с помощью трассировки событий для Windows (трассировка событий Windows) и ETWTraceListener
, предоставляемого с этим образцом. Этот образец основан на Образец для начала работы и включает трассировку событий Windows.
![]() |
---|
Процедура установки и инструкции по построению для данного образца приведены в конце этого раздела. |
В этом образце предполагается, что пользователь знаком с Трассировка и ведение журнала сообщений.
Каждый источник трассировки в модели трассировки System.Diagnostics может иметь несколько прослушивателей трассировки, которые определяют место и способ трассировки данных. Тип прослушивателя определяет формат записи данных трассировки в журнал. В следующем образце кода показано, как добавить прослушиватель в конфигурацию.
<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. Этот сеанс может быть запущен с помощью программ Logman.exe или Tracelog.exe. В этот образец включен файл SetupETW.bat, поэтому можно настроить сеанс трассировки событий Windows вместе с файлом CleanupETW.bat для закрытия сеанса и завершения выполнения файла журнала.
![]() |
---|
Процедура настройки и инструкции по построению для данного образца приведены в конце этого раздела. Дополнительные сведения об этих средствах см. на сайте https://go.microsoft.com/fwlink/?LinkId=56580 |
При использовании ETWTraceListener трассировки заносятся в журнал в двоичных файлах с расширением ETL. Если трассировка ServiceModel включена, все созданные трассировки отображаются в одном и том же файле. Используйте программу Программа Service Trace Viewer (SvcTraceViewer.exe) для просмотра файлов журнала с расширением ETL и SVCLOG. Средство просмотра создает сквозное представление системы, позволяющее выполнять трассировку сообщения на пути от источника в место назначения и точку потребления.
Прослушиватель трассировки событий Windows поддерживает циклическое ведение журнала. Чтобы включить эту функцию, перейдите в меню Пуск, выберите Выполнить и введите команду cmd для запуска командной консоли. В следующей команде замените параметр <logfilename>
на имя требуемого файла журнала.
logman create trace Wcf -o <logfilename> -p "{411a0819-c24b-428c-83e2-26b41091702e}" -f bincirc -max 1000
Коммутаторы -f
и -max
необязательны. Они указывают двоичный циклический формат и максимальный размер журнала (1000 МБ) соответственно. Параметр -p
используется для указания поставщика трассировки. В этом примере "{411a0819-c24b-428c-83e2-26b41091702e}"
является идентификатором GUID для образца поставщика трассировки событий Windows XML.
Для запуска сеанса введите следующую команду:
Logman start Wcf
По завершении ведения журнала можно остановить сеанс с помощью следующей команды.
Logman stop Wcf
В этом процессе создаются двоичные циклические журналы, которые можно обрабатывать с помощью любого средства, включая программу Программа Service Trace Viewer (SvcTraceViewer.exe) или Tracerpt.
Дополнительные сведения об использовании альтернативного прослушивателя для выполнения циклического ведения журнала см. в образце Циклическая трассировка.
Настройка, построение и выполнение образца
Убедитесь, что выполнены процедуры, описанные в разделе Процедура однократной настройки образцов Windows Communication Foundation.
Чтобы построить решение, следуйте инструкциям в разделе Построение образцов Windows Communication Foundation.
Примечание
Для запуска команд RegisterProvider.bat, SetupETW.bat и CleanupETW.bat необходимо использовать учетную запись локального администратора. При использовании Windows Vista или позже необходимо также запустить командную строку с более высоким уровнем привилегий. Для этого щелкните правой кнопкой мыши значок командной строки и выберите команду Запуск от имени администратора. Перед выполнением образца запустите файл RegisterProvider.bat на стороне клиента и сервера. При этом выполняется настройка получаемого файла ETWTracingSampleLog.etl для создания трассировок, которые можно считать с помощью программы Service Trace Viewer. Этот файл можно найти в папке C:\logs. Если эта папка не существует, ее необходимо создать, в противном случае трассировки создаваться не будут. Затем запустите файл SetupETW.bat на клиентском и серверном компьютерах, чтобы начать сеанс трассировки событий Windows. Файл SetupETW.bat можно найти в папке CS\Client.
Чтобы запустить образец на одном или нескольких компьютерах, следуйте инструкциям в разделе Running the Windows Communication Foundation Samples.
По завершении образца запустите файл CleanupETW.bat, чтобы завершить создание файла ETWTracingSampleLog.etl.
Откройте файл ETWTracingSampleLog.etl с помощью программы Service Trace Viewer. Будет предложено сохранить двоичный файл как файл с расширением SVCLOG.
Откройте только что созданный файл с расширением SVCLOG с помощью программы Service Trace Viewer, чтобы просмотреть трассировки событий Windows и трассировки ServiceModel.
![]() |
---|
Образцы уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).
<диск_установки>:\WF_WCF_Samples
Если этот каталог не существует, перейдите на страницу Образцы Windows Communication Foundation (WCF) и Windows Workflow Foundation (WF) для .NET Framework 4, чтобы загрузить все образцы Windows Communication Foundation (WCF) и WF. Этот образец расположен в следующем каталоге.
<диск_установки>:\WF_WCF_Samples\WCF\Basic\Management\AnalyticTrace
|