Запись и просмотр событий traceLogging
Вы можете использовать множество средств для сбора и декодирования событий Трассировки Журнала событий Windows.
- Для управления сеансом трассировки используйте такие средства, как WPR, tracelog или traceview.
- Для декодирования событий из сеанса используйте такие средства, как WPA, tracefmt или traceview.
В этом примере показано, как записывать события TraceLogging с помощью средства записи производительности Windows (WPR) и просматривать их с помощью Анализатор производительности Windows (WPA).
Предварительные требования
- Windows 10
- Windows 10 версия средства записи производительности Windows (WPR) и Windows 10 версия Windows Анализатор производительности (WPA), которая входит в состав комплекта средств оценки и развертывания Windows® (Windows ADK).
Важно!
Трассировки, записанные с помощью TraceLogging, должны записываться с помощью Windows 10 версии Средства записи производительности Windows и просматриваться с помощью Windows 10 версии Windows Анализатор производительности. Если не удается записать или декодировать события, убедитесь, что вы используете Windows 10 версию средств.
1. Сбор данных трассировки с помощью WPR
Сведения о записи трассировки на Windows Phone см. в разделе Запись событий TraceLogging в Windows Phone ниже.
Создайте профиль средства записи производительности Windows (WPRP), чтобы использовать WPR для записи событий tracelogging.
Создайте . ФАЙЛ WPRP
Используйте следующий пример WPRP с примером машинного кода в кратком руководстве по traceLogging C/C++ или в управляемом кратком руководстве traceLogging. Если вы регистрируете события от собственного поставщика, замените
TODO
разделы соответствующими значениями для своего поставщика.Важно!
Если вы используете краткое руководство по TraceLogging C/C++, укажите GUID поставщика в
Name
атрибуте<EventProvider>
элемента . Например:<EventProvider Id="EventProvider_SimpleTraceLoggingProvider" Name="0205c616-cf97-5c11-9756-56a2cee02ca7" />
. Если вы используете управляемое краткое руководство по TraceLogging, укажите имя поставщика, предваряемое параметром*
, вName
атрибуте<EventProvider />
элемента . Например,<EventProvider Name="*SimpleTraceLoggingProvider" />
.Пример файла WPRP:
<?xml version="1.0" encoding="utf-8"?> <!-- TODO: 1. Find and replace "SimpleTraceLoggingProvider" with the name of your provider. 2. See TODO below to update GUID for your event provider --> <WindowsPerformanceRecorder Version="1.0" Author="Microsoft Corporation" Copyright="Microsoft Corporation" Company="Microsoft Corporation"> <Profiles> <EventCollector Id="EventCollector_SimpleTraceLoggingProvider" Name="SimpleTraceLoggingProvider"> <BufferSize Value="64" /> <Buffers Value="4" /> </EventCollector> <!-- TODO: 1. Update Name attribute in EventProvider xml element with your provider GUID, eg: Name="0205c616-cf97-5c11-9756-56a2cee02ca7". Or if you specify an EventSource C# provider or call TraceLoggingRegister(...) without a GUID, use star (*) before your provider name, eg: Name="*MyEventSourceProvider" which will enable your provider appropriately. 2. This sample lists one EventProvider xml element and references it in a Profile with EventProviderId xml element. For your component wprp, enable the required number of providers and fix the Profile xml element appropriately --> <EventProvider Id="EventProvider_SimpleTraceLoggingProvider" Name="*SimpleTraceLoggingProvider" /> <Profile Id="SimpleTraceLoggingProvider.Verbose.File" Name="SimpleTraceLoggingProvider" Description="SimpleTraceLoggingProvider" LoggingMode="File" DetailLevel="Verbose"> <Collectors> <EventCollectorId Value="EventCollector_SimpleTraceLoggingProvider"> <EventProviders> <!-- TODO: 1. Fix your EventProviderId with Value same as the Id attribute on EventProvider xml element above --> <EventProviderId Value="EventProvider_SimpleTraceLoggingProvider" /> </EventProviders> </EventCollectorId> </Collectors> </Profile> <Profile Id="SimpleTraceLoggingProvider.Light.File" Name="SimpleTraceLoggingProvider" Description="SimpleTraceLoggingProvider" Base="SimpleTraceLoggingProvider.Verbose.File" LoggingMode="File" DetailLevel="Light" /> <Profile Id="SimpleTraceLoggingProvider.Verbose.Memory" Name="SimpleTraceLoggingProvider" Description="SimpleTraceLoggingProvider" Base="SimpleTraceLoggingProvider.Verbose.File" LoggingMode="Memory" DetailLevel="Verbose" /> <Profile Id="SimpleTraceLoggingProvider.Light.Memory" Name="SimpleTraceLoggingProvider" Description="SimpleTraceLoggingProvider" Base="SimpleTraceLoggingProvider.Verbose.File" LoggingMode="Memory" DetailLevel="Light" /> </Profiles> </WindowsPerformanceRecorder>
Сохраните файл с помощью . Расширение имени файла WPRP.
Запустите запись с помощью WPR из окна командной строки с повышенными привилегиями (запуск от имени администратора).
< путь к wpr>\wpr.exe -start GeneralProfile -start TraceLoggingProvider.wprp
Совет
Для общих целей профилирования можно также добавить -start GeneralProfile в wpr.exe командную строку для записи системных событий вместе с событиями от поставщика. Если вы хотите только собирать события, опустите параметр -start GeneralProfile.
Запустите приложение, содержащее события.
Остановите запись трассировки.
< путь к wpr>\wpr.exe -stop TraceCaptureFile.etl description
Совет
Если вы добавили параметр -start GeneralProfile для сбора системных событий, добавьте -stop GeneralProfile в командную строкуwpr.exe выше.
2. Запись событий TraceLogging в Windows Phone
Запустите журнал трассировки для записи событий от поставщика.
cmdd tracelog -start test -f c:\test.etl -guid #providerguid
Запустите тестовый сценарий, чтобы регистрировать события.
Остановка отслеживания трассировки.
Cmdd tracelog -stop test
Объедините результаты трассировки системы с результатами трассировки.
cmdd xperf -merge c:\test.etl c:\testmerged.etl
Получите объединенный файл журнала.
getd c:\testmerged.etl
3. Просмотр данных TraceLogging с помощью Windows Анализатор производительности
WpA в настоящее время является единственным средством просмотра, который можно использовать для просмотра файлов трассировки TraceLogging (ETL).
Запустите WPA.
<путь к wpr>\wpa.exe traceLoggingResults.etl
Загрузите файл трассировки (ETL), указанный в команде wpa.exe выше, например traceLoggingResults.etl.
Просмотр событий поставщика. В Обозреватель графа WPA разверните узел Системное действие.
Дважды щелкните панель Универсальные события , чтобы просмотреть события в области Анализ .
В области Анализ найдите события от поставщика, чтобы убедиться, что TraceLogging работает.
В столбце Имя поставщика таблицы Универсальные события найдите и выберите строку с именем поставщика.
Если у вас есть несколько поставщиков для сортировки, щелкните заголовок столбца, чтобы выполнить сортировку по имени столбца, что может упростить поиск поставщика.
Когда вы найдете поставщика, щелкните его имя правой кнопкой мыши и выберите пункт Отфильтровать по выбору.
Событие для SimpleTraceLoggingProvider и его значение появятся в нижней области окна Анализ. Разверните имя поставщика, чтобы просмотреть события.
Дополнительные сведения об использовании WPA см. в статье Windows Анализатор производительности.
Сводка и дальнейшие действия
Процесс записи и просмотра событий трассировки событий Windows с помощью WPR и WPA одинаково хорошо применяется к событиям TraceLogging.
Дополнительные примеры TraceLogging см. в разделе Примеры для журнала трассировки C/C++.