Compartir a través de


Registrar y ver eventos de registro de seguimiento

Puede usar muchas herramientas para recopilar y descodificar eventos ETW de TraceLogging.

  • Para controlar la sesión de seguimiento, use herramientas como WPR, tracelog o traceview.
  • Para descodificar eventos de una sesión, use herramientas como WPA, tracefmt o traceview.

En este ejemplo se muestra cómo grabar eventos traceLogging con windows Performance Recorder (WPR) y verlos con el Analizador de rendimiento de Windows (WPA).

Prerrequisitos

  • Windows 10
  • La versión Windows 10 de Windows Performance Recorder (WPR) y la versión Windows 10 de Windows Analizador de rendimiento (WPA), que forma parte del Windows® Assessment and Deployment Kit (Windows ADK).

Importante

Los seguimientos capturados con TraceLogging deben capturarse con la versión Windows 10 de Windows Performance Recorder y ver con la versión Windows 10 de Windows Analizador de rendimiento. Si no puede capturar o descodificar los eventos, compruebe que usa la versión de Windows 10 de las herramientas.

1. Capturar datos de seguimiento con WPR

Para capturar un seguimiento en Windows Phone, consulte Capture TraceLogging events on Windows Phone below ( Capturar eventos traceLogging en Windows Phone a continuación).

Cree un perfil de Windows Performance Recorder (.wprp) para que pueda usar WPR para capturar los eventos de registro de seguimiento.

Cree un objeto . Archivo WPRP

  1. Use el siguiente ejemplo de WPRP con el ejemplo de código nativo en el inicio rápido de C/C++ tracelogging o en el ejemplo administrado en el inicio rápido administrado de seguimiento. Si va a registrar eventos de su propio proveedor, reemplace las TODO secciones por los valores adecuados para su proveedor.

    Importante

    Si usa el inicio rápido de C/C++ traceLogging, especifique el GUID del proveedor en el Name atributo del <EventProvider> elemento. Por ejemplo: <EventProvider Id="EventProvider_SimpleTraceLoggingProvider" Name="0205c616-cf97-5c11-9756-56a2cee02ca7" />. Si usa el inicio rápido de TraceLogging administrado, especifique el nombre del proveedor precedido por * en el Name atributo del <EventProvider /> elemento . Por ejemplo, <EventProvider Name="*SimpleTraceLoggingProvider" />.

    Archivo WPRP de ejemplo:

    <?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. Guarde el archivo con . Extensión de nombre de archivo WPRP.

  3. Inicie la captura con WPR desde una ventana del símbolo del sistema con privilegios elevados (ejecutar como administrador).

    <ruta de acceso a wpr>\wpr.exe -start GeneralProfile -start TraceLoggingProvider.wprp

    Sugerencia

    Con fines generales de generación de perfiles, también puede agregar -start GeneralProfile a la línea de comandos wpr.exe para capturar eventos del sistema junto con los eventos del proveedor. Si solo desea recopilar los eventos, omita -start GeneralProfile.

  4. Ejecute la aplicación que contiene los eventos.

  5. Detenga la captura de seguimiento.

    <ruta de acceso a wpr>\wpr.exe -stop TraceCaptureFile.etl description

    Sugerencia

    Si agregó -start GeneralProfile para recopilar eventos del sistema, agregue -stop GeneralProfile a la línea de comandos wpr.exe anterior.

2. Capturar eventos tracelogging en Windows Phone

  1. Inicie el registro de seguimiento para capturar eventos del proveedor.

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

  2. Ejecute el escenario de prueba para registrar eventos.

  3. Detenga la captura de seguimiento.

    cmdd tracelog -stop test

  4. Combine los resultados del seguimiento del sistema con los resultados del seguimiento.

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

  5. Recupere el archivo de registro combinado.

    getd c:\testmerged.etl

3. Ver los datos del registro de seguimiento con Windows Analizador de rendimiento

WPA es actualmente el único visor que puedes usar para ver los archivos de seguimiento de seguimiento (.etl).

  1. Inicie WPA.

    <ruta de acceso a wpr>\wpa.exe traceLoggingResults.etl

  2. Cargue el archivo de seguimiento (.etl) que especificó en el comando wpa.exe anterior, por ejemplo, traceLoggingResults.etl.

  3. Vea los eventos del proveedor. En el Explorador de grafos WPA, expanda Actividad del sistema.

  4. Haga doble clic en el panel Eventos genéricos para ver los eventos en el panel Análisis .

    expandir eventos genéricos

  5. En el panel Análisis, busque los eventos del proveedor para comprobar que TraceLogging funciona.

    En la columna Nombre del proveedor de la tabla Eventos genéricos , busque y seleccione la fila con el nombre del proveedor.

    Si tiene varios proveedores para ordenar, haga clic en el encabezado de columna para ordenar por nombre de columna, lo que puede facilitar la búsqueda del proveedor.

    Cuando encuentre el proveedor, haga clic con el botón derecho en el nombre y seleccione Filtrar a selección.

    selección de filtro al proveedor

    El evento de SimpleTraceLoggingProvider y su valor aparecerán en el panel inferior de la ventana Análisis. Expanda el nombre del proveedor para ver los eventos.

    ver el evento desde el simpletraceloggingprovider

    Para obtener más información sobre el uso de WPA, consulta Windows Analizador de rendimiento.

Resumen y pasos siguientes

El proceso de grabación y visualización de eventos ETW mediante WPR y WPA se aplican igualmente bien a los eventos tracelogging.

Consulte Ejemplos de seguimiento de C/C++ para obtener ejemplos de seguimiento adicionales.