Поделиться через


Запись и просмотр событий 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

  1. Используйте следующий пример 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>
    
  2. Сохраните файл с помощью . Расширение имени файла WPRP.

  3. Запустите запись с помощью WPR из окна командной строки с повышенными привилегиями (запуск от имени администратора).

    < путь к wpr>\wpr.exe -start GeneralProfile -start TraceLoggingProvider.wprp

    Совет

    Для общих целей профилирования можно также добавить -start GeneralProfile в wpr.exe командную строку для записи системных событий вместе с событиями от поставщика. Если вы хотите только собирать события, опустите параметр -start GeneralProfile.

  4. Запустите приложение, содержащее события.

  5. Остановите запись трассировки.

    < путь к wpr>\wpr.exe -stop TraceCaptureFile.etl description

    Совет

    Если вы добавили параметр -start GeneralProfile для сбора системных событий, добавьте -stop GeneralProfile в командную строкуwpr.exe выше.

2. Запись событий TraceLogging в Windows Phone

  1. Запустите журнал трассировки для записи событий от поставщика.

    cmdd tracelog -start test -f c:\test.etl -guid #providerguid

  2. Запустите тестовый сценарий, чтобы регистрировать события.

  3. Остановка отслеживания трассировки.

    Cmdd tracelog -stop test

  4. Объедините результаты трассировки системы с результатами трассировки.

    cmdd xperf -merge c:\test.etl c:\testmerged.etl

  5. Получите объединенный файл журнала.

    getd c:\testmerged.etl

3. Просмотр данных TraceLogging с помощью Windows Анализатор производительности

WpA в настоящее время является единственным средством просмотра, который можно использовать для просмотра файлов трассировки TraceLogging (ETL).

  1. Запустите WPA.

    <путь к wpr>\wpa.exe traceLoggingResults.etl

  2. Загрузите файл трассировки (ETL), указанный в команде wpa.exe выше, например traceLoggingResults.etl.

  3. Просмотр событий поставщика. В Обозреватель графа WPA разверните узел Системное действие.

  4. Дважды щелкните панель Универсальные события , чтобы просмотреть события в области Анализ .

    развернуть универсальные события

  5. В области Анализ найдите события от поставщика, чтобы убедиться, что TraceLogging работает.

    В столбце Имя поставщика таблицы Универсальные события найдите и выберите строку с именем поставщика.

    Если у вас есть несколько поставщиков для сортировки, щелкните заголовок столбца, чтобы выполнить сортировку по имени столбца, что может упростить поиск поставщика.

    Когда вы найдете поставщика, щелкните его имя правой кнопкой мыши и выберите пункт Отфильтровать по выбору.

    фильтрация выбора к поставщику

    Событие для SimpleTraceLoggingProvider и его значение появятся в нижней области окна Анализ. Разверните имя поставщика, чтобы просмотреть события.

    просмотр события из simpletraceloggingprovider

    Дополнительные сведения об использовании WPA см. в статье Windows Анализатор производительности.

Сводка и дальнейшие действия

Процесс записи и просмотра событий трассировки событий Windows с помощью WPR и WPA одинаково хорошо применяется к событиям TraceLogging.

Дополнительные примеры TraceLogging см. в разделе Примеры для журнала трассировки C/C++.