Compartir a través de


EventProvider

Configura el proveedor de modo de usuario seguimiento de eventos para Windows (ETW).

Jerarquía de elementos

Sintaxis

<EventProvider Id               = IdType
               Name             = string
               Base             = string
               NonPageMemory    = boolean
               Stack            = boolean
               SID              = boolean
               TSID             = boolean
               Level            = unsigendByte
               CaptureStateOnly = boolean
               Strict           = boolean
               ProcessExeFilter = string
               EventKey         = boolean
               ExcludeInPrivate = boolean>

  <!-- Child elements -->
  Keywords,
  CaptureStateOnStart,
  CaptureStateOnSave,
  CaptureStateOnDemand,
  Stacks,
  EventFilters,
  StackFilters,
  EventNameFilters,
  StackEventNameFilters,
  StackKeywordLevelFilter
</EventProvider>

Atributos y elementos

Atributos

Atributo Descripción Tipo de datos Obligatorio Valor predeterminado
Id Identifica de forma única el proveedor de eventos. Cadena que debe tener al menos un carácter y no puede contener dos puntos (:) o espacios.
Nombre Nombre del proveedor de eventos. Este atributo puede tener uno de los siguientes valores:
  • Un proveedor crimson registrado, por ejemplo, "Microsoft-Windows-Search-Core".

  • Guid del proveedor, por ejemplo, "49c2c27c-fe2d-40bf-8c4e-c3fb518037e7".

  • Nombre de un proveedor heredado, por ejemplo, "IE6".

  • Nombre de mayúsculas y minúsculas especiales, como "PerfTrack" o "DotNetProvider".

ProcessExeFilter Filtra un evento en función del proceso .exe nombre especificado. Establece los datos de filtro en EVENT_FILTER_DESCRIPTOR. Se trata de un atributo opcional que se agrega al id. de EventProvider en el perfil de WPR. Por ejemplo:
  • "ProcessExeFilter="wpa.exe"

No
Base Indica la base del proveedor. string No
NonPagedMemory Use memoria no paginada para una sesión de seguimiento. boolean No false
Pila Captura de pilas con el evento boolean No false
SID Incluya el identificador de seguridad (SID) del usuario en los datos extendidos de eventos registrados. Establece EVENT_ENABLE_PROPERTY_SID. boolean No false
TSID Incluya el identificador de sesión de terminal en los datos extendidos de eventos registrados. Establece EVENT_ENABLE_PROPERTY_TS_ID. boolean No false
Level Indica el valor de nivel. unsignedByte No Cero, que ETW trata como 0xFF.
CaptureStateOnly Habilite el proveedor solo al iniciar o guardar una sesión de seguimiento. boolean No false
Strict Se produce un error en la grabación de seguimiento si el proveedor no se puede habilitar. boolean No false
EventKey Incluya la clave de evento en los conjuntos y datos extendidos EVENT_ENABLE_PROPERTY_EVENT_KEY marca. boolean No false
ExecludeInPrivate Filtre todos los eventos marcados como un evento InPrivate o provengan del proceso inPrivate. Establece la marca de EVENT_ENABLE_PROPERTY_EXCLUDE_INPRIVATE boolean No false
EnableSilos Permite que las sesiones de registro de host recopilen eventos crimson de los silos del servidor. Establece EVENT_ENABLE_PROPERTY_ENABLE_SILOS marca. boolean No false
ContainerId Marca los eventos del proveedor con información del contenedor de origen. Establece EVENT_ENABLE_PROPERTY_SOURCE_CONTAINER_TRACKING marca. boolean No false

Elementos secundarios

Elemento Descripción Requisito
Palabras clave (en EventProvider) Representa una colección de elementos Keyword (en EventProvider). Opcional, 1 o más.
CaptureStateOnStart Representa una colección de elementos Keyword (en EventProvider) para que los eventos se capturen al principio de un seguimiento. Opcional, cero o 1.
CaptureStateOnSave Representa una colección de elementos Keyword (en EventProvider) para que los eventos se capturen cuando se guarda un seguimiento. Opcional, cero o 1.
CaptureStateOnDemand Representa una colección de elementos Keyword (en EventProvider) para que los eventos se capturen cuando el usuario se desencadena con wpr -capturestateondemand el comando . Opcional, cero o 1.
Pilas Representa una colección de pilas. Para proveedores umGL. Opcional, exactamente 1.
EventFilters Representa una colección de filtros de identificador de evento. Opcional, exactamente 1.
StackFilters Representa una colección de filtros de pila por identificador de evento. Opcional, exactamente 1.
EventNameFilters Representa una colección de filtros de nombre de evento. Opcional, exactamente 1.
StackEventNameFilters Representa una colección de filtros de pila por nombre de evento. Opcional, exactamente 1.
StackKeywordLevelFilter Representa una colección de filtros de pila por palabra clave y nivel Opcional, exactamente 1.

Elementos primarios

Elemento Descripción
EventProviders Representa una colección de elementos EventProvider .
Perfiles Representa una colección de recopiladores, proveedores y perfiles.

Comentarios

El orden de definición del proveedor es importante. Las definiciones deben aparecer en el orden siguiente en el archivo .wprp:

  1. Recopiladores
  2. Proveedor del sistema
  3. Proveedores de eventos

Las etiquetas XML internas opcionales especifican qué palabras clave habilitar. A diferencia de los proveedores del sistema, no hay constantes textuales definidas para los proveedores de eventos, por lo que se deben usar cadenas de estilo hexadecimal. Sin embargo, la sintaxis es la misma que para el proveedor del sistema. Si no se especifica ninguna palabra clave, se usa el valor predeterminado de cero (que se trata por ETW como la cadena 0xFFFFFFFFFFFFFFFF).

Los proveedores de eventos derivados tienen todos los atributos del proveedor base de forma predeterminada. Se pueden invalidar especificando explícitamente en el proveedor derivado. Para obtener más información, vea Herencia.

Ejemplo

En el ejemplo siguiente se definen dos proveedores de eventos.

<EventProvider
  Id="Win32K-provider"
  Name="Microsoft-Windows-Win32K"
  NonPagedMemory="true"
  Stack="true"> 
  <Keywords>
    <Keyword
      Value="0x240000"/>
  </Keywords>
</EventProvider>

<EventProvider
  Id="Search-Core-provider"
  Name="Microsoft-Windows-Search-Core"/>

En los ejemplos de código siguientes se definen proveedores de estado de captura.

<EventProvider Id="sample-provider" Name="SampleProvider" NonPagedMemory="true" Level="5">
  <Keywords>
    <Keyword Value="0x98"/> <!-- Provider is enabled with these keywords throughout the tracing session. -->
  </Keywords>
  <CaptureStateOnStart>
    <Keyword Value="0xff4"/> <!-- Provider is enabled with these keywords when tracing is started. -->
  </CaptureStateOnStart>
  <CaptureStateOnSave>
    <Keyword Value="0x118"/> <!-- Provider is enabled with these keywords when tracing is saved. -->
  </CaptureStateOnSave>
</EventProvider>

<EventProvider Id="EventProvider_DWMWin32k_CaptureState" Name="e7ef96be-969f-414f-97d7-3ddb7b558ccc" NonPagedMemory="true" CaptureStateOnly="true" > 
  <!-- CaptureStateOnly="true" means that provider is not enabled throughout the tracing session. -->
  <CaptureStateOnSave>
    <Keyword Value="0x80000"/> <!-- Provider is enabled with these keywords when tracing is saved. -->
  </CaptureStateOnSave>
</EventProvider>

Para escenarios administrados, use la siguiente definición del proveedor de eventos:

<EventCollectorId Value ="ExampleEventCollector">
  <EventProviders>
    <EventProviderId Value="EventProvider_DotNetProvider" /> <!-- You can use this provider in the profile definition because the provider is declared in the built-in profile -->
    <EventProviderId Value="Another_Example_Provider" />
    </EventProvider>
  </EventProviders>
</EventCollectorId>

Elements