Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В примере AnalyticTrace показано, как реализовать сквозную трассировку (E2E) с помощью трассировки событий для Windows (ETW) и ETWTraceListener
предоставленной этим примером. Пример основан на руководстве по началу работы Getting Started и включает трассировку ETW.
Замечание
Инструкции по настройке и сборке этого примера находятся в конце этого раздела.
В этом примере предполагается, что вы знакомы с отслеживанием и ведением журнала сообщений.
Каждый источник трассировки в 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>
Прежде чем использовать этот прослушиватель, необходимо запустить сеанс трассировки ETW. Этот сеанс можно запустить с помощью Logman.exe или Tracelog.exe. Для этого примера прилагается файл SetupETW.bat, чтобы настроить сеанс трассировки ETW, а также файл CleanupETW.bat для закрытия сеанса и завершения заполнения файла журнала.
Замечание
Процедура установки и инструкции по сборке для этого примера находятся в конце этого раздела. Дополнительные сведения об этих средствах см. в разделе https://go.microsoft.com/fwlink/?LinkId=56580
При использовании ETWTraceListener трассировки регистрируются в двоичных ETL-файлах. При включённой трассировке ServiceModel все сформированные трассировки записываются в один файл. Используйте средство просмотра трассировки служб (SvcTraceViewer.exe) для просмотра файлов журналов ETL и SVCLOG. Средство просмотра создает сквозное представление системы, что позволяет отслеживать сообщение от источника до его назначения и точки потребления.
Прослушиватель трассировки ETW поддерживает циклическое ведение журнала. Чтобы включить эту функцию, перейдите в раздел "Пуск", "Запуск" и "Введите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 для "XML ETW Sample Provider".
Чтобы запустить сеанс, введите следующую команду.
logman start Wcf
После завершения ведения журнала можно остановить сеанс с помощью следующей команды.
logman stop Wcf
Этот процесс создает двоичные циклические журналы, которые можно обрабатывать с помощью выбранного средства, включая средство просмотра трассировки служб (SvcTraceViewer.exe) или Tracerpt .
Вы также можете просмотреть пример циклической трассировки для получения дополнительных сведений об альтернативном прослушивателе для выполнения циклического ведения журнала.
Настройка, сборка и запуск примера
Убедитесь, что вы выполнили процедуру настройкиOne-Time для примеров Windows Communication Foundation.
Чтобы создать решение, следуйте инструкциям по созданию примеров Windows Communication Foundation.
Замечание
Чтобы использовать команды RegisterProvider.bat, SetupETW.bat и CleanupETW.bat, необходимо выполнить под учетной записью локального администратора. Если вы используете Windows Vista или более поздней версии, необходимо также запустить командную строку с повышенными привилегиями. Для этого щелкните правой кнопкой мыши значок командной строки и нажмите кнопку "Запустить от имени администратора".
Перед выполнением примера запустите RegisterProvider.bat на клиенте и сервере. Это настраивает полученный файл ETWTracingSampleLog.etl для создания трассировок, которые можно просматривать с помощью программы просмотра трассировок. Этот файл можно найти в папке C:\logs. Если эта папка не существует, ее необходимо создать, иначе трассировки не будут генерироваться. Затем запустите SetupETW.bat на клиентских и серверных компьютерах, чтобы начать сеанс трассировки ETW. Файл SetupETW.bat можно найти в папке CS\Client.
Чтобы запустить пример в конфигурации с одним или несколькими компьютерами, следуйте инструкциям в разделе "Примеры Windows Communication Foundation".
По завершении примера запустите CleanupETW.bat, чтобы завершить создание файла ETWTracingSampleLog.etl.
Откройте файл ETWTracingSampleLog.etl с помощью средства просмотра трассировки службы (Service Trace Viewer). Вам будет предложено сохранить двоичный форматированный файл в виде SVCLOG-файла.
Откройте только что созданный файл svclog в средстве просмотра трассировки службы, чтобы просмотреть трассировки ETW и ServiceModel.