Novedades del seguimiento de eventos

En esta sección se describen las nuevas características que se agregaron al seguimiento de eventos para Windows en cada versión.

Windows 10, versión 1709

ETW ahora puede realizar un seguimiento opcional de los archivos binarios de todos los proveedores que están habilitados para la sesión. El seguimiento se aplica retroactivamente para los proveedores que se habilitaron en la sesión antes de la llamada, así como para todos los proveedores futuros que están habilitados para la sesión. Ahora también puede consultar el número máximo configurado actualmente de registradores del sistema permitidos por el sistema operativo. Para obtener más información, vea los valores TraceProviderBinaryTracking y TraceMaxLoggersQuery de la enumeración TRACE_INFO_CLASS , así como Recuperar datos de seguimiento de eventos adicionales.

ETW ahora puede filtrar eventos en función del nombre del evento. También puede determinar qué eventos obtienen sus pilas capturadas. Para obtener más información, vea los valores EVENT_FILTER_TYPE_EVENT_NAME, EVENT_FILTER_TYPE_STACKWALK_NAME y EVENT_FILTER_TYPE_STACKWALK_LEVEL_KW de la estructura de EVENT_FILTER_DESCRIPTOR , así como las estructuras de EVENT_FILTER_EVENT_NAME y EVENT_FILTER_LEVEL_KW asociadas.

Windows 10

TraceLogging se basa en ETW y proporciona una manera simplificada de instrumentar código para desarrolladores nativos, .NET y WinRT. TraceLogging permite incluir datos estructurados con eventos, correlacionar eventos y no requiere un archivo XML de manifiesto de instrumentación independiente.

Los rasgos del proveedor se agregaron como método para adjuntar más datos a un registro de proveedor individual. Se pueden usar para proveedores basados en manifiestos o traceLogging. Actualmente, esto incluye compatibilidad para agregar un nombre de proveedor o un grupo de proveedores a un registro de proveedor individual. Los grupos de proveedores son una nueva característica para permitir que el grupo al que pertenecen controlen varios proveedores ETW.

El estado de captura periódica es una manera de permitir que las notificaciones de estado de captura se envíen de forma rutinaria a los proveedores. Cuando esto está habilitado, las notificaciones solo se enviarán a los registros de proveedor que se han habilitado previamente en la sesión actual. Cada proveedor puede definir su propia respuesta (si existe) en una notificación. Para más información sobre la implementación, consulte TRACE_PERIODIC_CAPTURE_STATE_INFO.

Windows 8.1 y Windows Server 2012 R2:

Se han agregado las siguientes características al seguimiento de eventos en Windows 8.1 y Windows Server 2012 R2.

Funciones que admiten el uso de filtros de carga de eventos, ámbito y recorrido de pila usados por la función EnableTraceEx2 y las estructuras de ENABLE_TRACE_PARAMETERS y EVENT_FILTER_DESCRIPTOR para filtrar por condiciones específicas en una sesión de registrador. Para más información, consulte:

Además, consulte la documentación ampliamente revisada de la función EnableTraceEx2 y las estructuras ENABLE_TRACE_PARAMETERS y EVENT_FILTER_DESCRIPTOR que usan estas características.

Estructura que define un predicado de filtro de carga de eventos que describe cómo filtrar por un solo campo en una sesión de seguimiento utilizada por la nueva función TdhCreatePayloadFilter y una nueva estructura usada por los filtros de recorrido de pila y identificador de evento. Para más información, consulte:

Funciones que recuperan información sobre los eventos presentes en el manifiesto del proveedor. Para más información, consulte:

Estructura que define una matriz de eventos en un manifiesto de proveedor utilizado por la nueva función TdhEnumerateManifestProviderEvents . Para más información, consulte:

Windows 8 y Windows Server 2012

Se han agregado las siguientes características al seguimiento de eventos en Windows 8 y Windows Server 2012.

Funciones que realizan operaciones en un objeto de registro, proporcionan análisis de carga de eventos, proporcionan exploración del proveedor de seguimiento, configuración de la sesión de seguimiento de eventos de consulta y procesan un archivo de seguimiento relogado. Para más información, consulte:

Interfaces que proporcionan información al registrador en el proceso de seguimiento y cuándo se registran los eventos, acceso a los datos de un evento específico y acceso a características de registrador que permiten la manipulación de archivos del registro de seguimiento de eventos (ETL). Para más información, consulte:

Enumeraciones adicionales usadas por las nuevas funciones e interfaces. Para más información, consulte:

Windows 7 y Windows Server 2008 R2

En esta versión se agregaron las siguientes características:

  • La capacidad de los proveedores para definir filtros en el manifiesto. En Windows Vista, los controladores podrían pasar datos de filtro al proveedor. Sin embargo, el diseño de los datos de filtro no se definió en el manifiesto, por lo que el proveedor tendría que usar otros medios para proporcionar la definición de filtro a los controladores. Con esta versión, los proveedores pueden definir la definición de filtro en el manifiesto (vea el atributo filters del tipo complejo ProviderType ). A continuación, los controladores pueden usar la función TdhEnumerateProviderFilters para determinar la definición del filtro. Los proveedores que usan filtros deben usar la función EventWriteEx para escribir el evento.
  • La capacidad de usar un único búfer para recopilar eventos generados en varios procesadores. El uso de un único búfer elimina los eventos de que aparecen desordenados en equipos con varios procesadores. Para obtener más información, consulte el modo de registro de EVENT_TRACE_NO_PER_PROCESSOR_BUFFERING . De forma predeterminada, ETW usa búferes por procesador.
  • La capacidad de capturar un seguimiento de pila para eventos. Para habilitar el seguimiento de la pila para eventos de kernel, consulte la función TraceSetInformation . Para habilitar el seguimiento de la pila para eventos de usuario, consulte la marca EVENT_ENABLE_PROPERTY_STACK_TRACE del miembro EnableProperty de ENABLE_TRACE_PARAMETERS.
  • La capacidad de especificar el modo de registro de EVENT_TRACE_BUFFERING_MODE o EVENT_TRACE_FILE_MODE_NEWFILE con el modo de registro de EVENT_TRACE_PRIVATE_LOGGER_MODE (consulte Constantes del modo de registro).
  • La capacidad de habilitar un proveedor de forma sincrónica. De forma predeterminada, los proveedores se habilitan de forma asincrónica. Para habilitar un proveedor de forma sincrónica, establezca el parámetro Timeout de EnableTraceEx2.
  • La capacidad de que el controlador solicite que el proveedor registre su estado. Para obtener más información, consulte la marca EVENT_CONTROL_CODE_CAPTURE_STATE para el parámetro ControlCode de EnableTraceEx2.
  • La capacidad de los consumidores de dar formato a los datos de eventos mediante la función TdhFormatProperty .
  • La capacidad de descodificar eventos manifiestos en equipos que no contienen el proveedor. Para obtener más información, consulte la función TdhLoadManifest .

En esta versión se agregaron las siguientes funciones:

En esta versión se agregaron las siguientes estructuras:

En esta versión se agregaron las enumeraciones siguientes:

En esta versión se agregaron las siguientes clases MOF: