Compartir por


Seguimiento ETW

El ejemplo AnalyticTrace muestra cómo implementar el seguimiento de un extremo a otro (E2E) mediante el Seguimiento de eventos para Windows (ETW) y ETWTraceListener, que se proporciona con este ejemplo. El ejemplo se basa en Getting Started e incluye el rastreo de ETW.

Nota:

El procedimiento de configuración y las instrucciones de compilación de este ejemplo se encuentran al final de este tema.

En este ejemplo se supone que está familiarizado con el seguimiento y el registro de mensajes.

Cada origen de seguimiento en el modelo de seguimientoSystem.Diagnostics puede tener varios agentes de escucha de seguimiento que determinan donde y cómo se siguen paso a paso los datos. El tipo de agente de escucha define el formato en el que se registran los datos de seguimiento. En el ejemplo de código siguiente se muestra cómo agregar el agente de escucha a la configuración.

<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>

Antes de utilizar este agente de escucha, se debe iniciar una Sesión de seguimiento de ETW. Esta sesión se puede iniciar mediante Logman.exe o Tracelog.exe. Un archivo SetupETW.bat se incluye con este ejemplo para que pueda configurar la sesión de seguimiento de ETW junto con un archivo CleanupETW.bat para cerrar la sesión y completar el archivo de registro.

Nota:

El procedimiento de instalación y las instrucciones de compilación de este ejemplo se encuentran al final de este tema. Para obtener más información sobre estas herramientas, consulte https://go.microsoft.com/fwlink/?LinkId=56580

Cuando se usa ETWTraceListener, los seguimientos se registran en archivos .etl binarios. Con el seguimiento serviceModel activado, todos los seguimientos generados aparecen en el mismo archivo. Use service Trace Viewer Tool (SvcTraceViewer.exe) para ver los archivos de registro .etl y .svclog. El visor crea una vista de un extremo a otro del sistema que permite realizar un seguimiento de un mensaje desde su origen hasta su destino y punto de consumo.

El Agente de escucha de seguimiento de ETW admite el registro circular. Para habilitar esta característica, vaya a Inicio, Ejecutar y escriba cmd para iniciar una consola de comandos. En el comando siguiente, reemplace el <logfilename> parámetro por el nombre del archivo de registro.

logman create trace Wcf -o <logfilename> -p "{411a0819-c24b-428c-83e2-26b41091702e}" -f bincirc -max 1000

Los interruptores -f y -max son opcionales. Especifican el formato circular binario y el tamaño máximo del registro de 1000 MB respectivamente. El -p interruptor se usa para especificar el proveedor de seguimiento. En nuestro ejemplo, "{411a0819-c24b-428c-83e2-26b41091702e}" es el GUID para "Proveedor del Ejemplo de "XML ETW.

Para iniciar la sesión, escriba el siguiente comando.

logman start Wcf

Una vez finalizado el registro, puede detener la sesión con el siguiente comando.

logman stop Wcf

Este proceso genera registros circulares binarios que puede procesar con la herramienta que prefiera, incluida service Trace Viewer Tool (SvcTraceViewer.exe) o Tracerpt.

También puede revisar el ejemplo de seguimiento circular para obtener más información sobre un agente de escucha alternativo para realizar el registro circular.

Para configurar, compilar y ejecutar el ejemplo

  1. Asegúrese de haber realizado el procedimiento de configuraciónOne-Time para las muestras de Windows Communication Foundation.

  2. Para compilar la solución, siga las instrucciones que se indican en Compilación de los ejemplos de Windows Communication Foundation.

    Nota:

    Para usar los comandos RegisterProvider.bat, SetupETW.bat y CleanupETW.bat, debe ejecutarse en una cuenta de administrador local. Si usa Windows Vista o posterior, también debe ejecutar la línea de comandos con privilegios elevados. Para ello, haga clic con el botón derecho en el icono del símbolo del sistema y, a continuación, haga clic en Ejecutar como administrador.

  3. Antes de ejecutar el ejemplo, ejecute RegisterProvider.bat en el cliente y el servidor. Esto configura el archivo ETWTracingSampleLog.etl resultante para generar seguimientos que el Visor de seguimiento de servicio puede leer. Este archivo se puede encontrar en la carpeta C:\logs. Si esta carpeta no existe, se debe crear o no se generan seguimientos. A continuación, ejecute SetupETW.bat en los equipos cliente y servidor para iniciar la sesión de seguimiento de ETW. El archivo SetupETW.bat se puede encontrar en la carpeta CS\Client.

  4. Para ejecutar el ejemplo en una configuración de un solo equipo o entre equipos, siga las instrucciones de Ejecución de los ejemplos de Windows Communication Foundation.

  5. Cuando se complete el ejemplo, ejecute CleanupETW.bat para completar la creación del archivo ETWTracingSampleLog.etl.

  6. Abra el archivo ETWTracingSampleLog.etl desde dentro del Visor de seguimiento de servicio. Se le pedirá que guarde el archivo con formato binario como un archivo .svclog.

  7. Abra el archivo .svclog recién creado desde el Visor de seguimiento de servicio para ver los seguimientos ETW y ServiceModel.

Consulte también