EventProvider
Configura el proveedor de modo de usuario seguimiento de eventos para Windows (ETW).
Jerarquía de elementos
-
<
WindowsPerformanceRecorder>
-
<
Perfiles>
- < EventProvider>
-
<
Perfil>
-
<
Coleccionistas>
-
<
EventCollectorId>
-
<
EventProviders>
- < EventProvider>
-
<
EventProviders>
-
<
EventCollectorId>
-
<
Coleccionistas>
-
<
Perfiles>
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. | Sí | |
Nombre | Nombre del proveedor de eventos. | Este atributo puede tener uno de los siguientes valores:
|
Sí | |
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:
|
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:
- Recopiladores
- Proveedor del sistema
- 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>