Compartir a través de


Captura y visualización de los datos del registro de seguimiento

Puede capturar y ver los datos traceLoggging con las versiones internas más recientes de las Herramientas de rendimiento de Windows (WPT). Antes de publicar la instrumentación, debe probar el código del proveedor traceLogging para asegurarse de que los datos del evento se generan y generan datos significativos en los momentos adecuados.

El proceso de comprobación de que la instrumentación es correcta, implica estos dos pasos:

  • Capturar seguimiento con Windows Performance Recorder (wpr.exe o wprui.exe).
  • Vea el seguimiento con el Analizador de rendimiento de Windows (wpa.exe).

Nota Para Windows Phone, también puede usar Tracelog.exe y Xperf.exe para capturar el seguimiento. Vea "Para capturar el seguimiento en el teléfono (mediante Tracelog y XPerf)" a continuación.

Requisitos previos

Las herramientas WPR y WPA deben ser compatibles con la versión del registro de seguimiento con la que está vinculado. Si no puede capturar o descodificar los eventos, podría deberse a que las herramientas no coinciden y no son compatibles.

Para capturar datos de seguimiento con WPR

  1. Cree o edite un perfil de WPR (.wprp) para traceLoggingProvider.

    Puede usar el ejemplo siguiente. Guarde el contenido en un archivo con la extensión de nombre de archivo .wprp. Reemplace las secciones TODO por los valores adecuados para el proveedor. Por ejemplo, si registró el proveedor por GUID, especifique el GUID en este archivo.

    Nota Para los proveedores de modo kernel, agregue NonPagedMemory="true" al elemento EventProvider Id, vea el comentario en el ejemplo XML siguiente.

Archivo WPRP de ejemplo:

<?xml version="1.0" encoding="utf-8"?>
<!-- TODO: 
1. Find and replace "WorkshopTraceLoggingProvider" with your component name.
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_WorkshopTraceLoggingProvider" 
      Name="WorkshopTraceLoggingProviderCollector">
      <BufferSize Value="64" />
      <Buffers Value="4" />
    </EventCollector>

<!-- TODO: 
 1. Update Name attribute in EventProvider xml element with your provider GUID, 
    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 more than 1 EventProvider xml element and references them again 
    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_WorkshopTraceLoggingProvider" 
      Name="f9bc6c5d-4b98-43b5-90a1-1d0c8f45bf5a" />
<!-- For Kernel Mode providers, add NonPagedMemory="true" attribute to the 
  EventProvider Id element:

  Example:
  <EventProvider Id="EventProvider_UMDFReflector" 
    Name="263dd596-513b-4fd9-969c-022b691bb130" NonPagedMemory="true"/> 

-->

    <Profile Id="WorkshopTraceLoggingProvider.Verbose.File" 
      Name="WorkshopTraceLoggingProvider" Description="WorkshopTraceLoggingProvider" 
      LoggingMode="File" DetailLevel="Verbose">
      <Collectors>
        <EventCollectorId Value="EventCollector_WorkshopTraceLoggingProvider">
          <EventProviders>
<!-- TODO:
 1. Fix your EventProviderId with Value same as the Id attribute on EventProvider 
    xml element above
-->
            <EventProviderId Value="EventProvider_WorkshopTraceLoggingProvider" />
          </EventProviders>
        </EventCollectorId>
      </Collectors>
    </Profile>

    <Profile Id="WorkshopTraceLoggingProvider.Light.File" 
      Name="WorkshopTraceLoggingProvider" 
      Description="WorkshopTraceLoggingProvider" 
      Base="WorkshopTraceLoggingProvider.Verbose.File" 
      LoggingMode="File" 
      DetailLevel="Light" />

    <Profile Id="WorkshopTraceLoggingProvider.Verbose.Memory" 
      Name="WorkshopTraceLoggingProvider" 
      Description="WorkshopTraceLoggingProvider" 
      Base="WorkshopTraceLoggingProvider.Verbose.File" 
      LoggingMode="Memory" 
      DetailLevel="Verbose" />

    <Profile Id="WorkshopTraceLoggingProvider.Light.Memory" 
      Name="WorkshopTraceLoggingProvider" 
      Description="WorkshopTraceLoggingProvider" 
      Base="WorkshopTraceLoggingProvider.Verbose.File" 
      LoggingMode="Memory" 
      DetailLevel="Light" />

  </Profiles>
</WindowsPerformanceRecorder>
  1. Para los proveedores de modo kernel, debe agregar el atributo NonPagedMemory="true" al elemento EventProvider Id.

    <EventProvider Id="EventProvider_myTraceLoggingProviderKM" 
      Name="263dd596-513b-4fd9-969c-022b691bb130" NonPagedMemory="true"/>
    
  2. Guarde el archivo con la extensión de nombre de archivo (. WPRP).

  3. Inicie la captura mediante WPR desde una ventana del símbolo del sistema.

    <path to wpr>\wpr.exe -start GeneralProfile -start  yourTraceLoggingProvider.wprp
    

    GeneralProfile capturará eventos del sistema. Para la depuración general, es recomendable capturar eventos del sistema junto con los eventos del proveedor.

  4. Ejecute el escenario de prueba (cargue y descargue el controlador o el componente para desencadenar eventos).

  5. Detenga la captura de seguimiento y combine todas las grabaciones.

    <path to wpr>\wpr.exe -stop GeneralProfile -stop  yourTraceCaptureFile.etl description
    

También puedes usar la interfaz de usuario de Windows Performance Recorder (Wprui.exe) para recopilar datos de seguimiento.

<path to wpr>\wprui.exe
  1. En la ventana de WPR, si las opciones están ocultas, haga clic en Más opciones.
  2. Haga clic en Agregar perfil y vaya a la ubicación del archivo .wprp.
  3. Seleccione el archivo .wprp y haga clic en Abrir. WPR validará el esquema XML del perfil.
  4. Haga clic en Iniciar y ejecute el escenario de prueba.
  5. Haga clic en Guardar para combinar los resultados y guardarlos en un archivo. Si usa la interfaz de usuario de WPR, también tiene la opción de abrir el archivo de registro .etl en WPA.

Para capturar el seguimiento en el teléfono (mediante Tracelog y XPerf)

  1. Inicie la captura de seguimiento del proveedor.

    cmdd tracelog '-start test -f c:\test.etl -guid #providerguid'
    
  2. Ejecute los escenarios de prueba para registrar eventos.

  3. Detenga la captura de seguimiento.

    cmdd tracelog '-stop test'
    
  4. Combinar resultados de seguimiento.

    cmdd xperf -merge c:\test.etl c:\testmerged.etl
    
  5. Recupere el archivo de registro combinado.

    getd c:\testmerged.etl
    

Ver datos de registro de seguimiento mediante WPA

Actualmente, WPA es el único visor que puedes usar para ver los archivos etl que produce TraceLogging.

  1. Inicie WPA.

    <path to wpr>\wpa.exe
    
  2. Cargue el archivo de seguimiento (.etl).

  3. Vea los eventos del proveedor. En el Probador de Graph, expanda Actividad del sistema.

  4. Haga doble clic en Eventos genéricos para verlos en la vista Análisis.

  5. En la vista Análisis, busque los eventos del proveedor para comprobar que el registro funciona.

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

    Puede hacer clic en el encabezado de columna para ordenar por nombre de columna, lo que podría 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.