Eventprovider
Configura o provedor de modo de usuário do ETW (Rastreamento de Eventos para Windows).
Hierarquia de elementos
-
<
WindowsPerformanceRecorder>
-
<
Perfis>
- < Eventprovider>
-
<
Perfil>
-
<
Colecionadores>
-
<
EventCollectorId>
-
<
EventProviders>
- < Eventprovider>
-
<
EventProviders>
-
<
EventCollectorId>
-
<
Colecionadores>
-
<
Perfis>
Syntax
<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 e elementos
Atributos
Atributo | Descrição | Tipo de dados | Obrigatório | Padrão |
---|---|---|---|---|
Id | Identifica exclusivamente o provedor de eventos. | Cadeia de caracteres que deve ter pelo menos um caractere e não pode conter dois-pontos (:) ou espaços. | Sim | |
Nome | O nome do provedor de eventos. | Esse atributo pode ter um dos seguintes valores:
|
Sim | |
ProcessExeFilter | Filtra um evento com base no processo .exe nome especificado. Define os dados de filtro em EVENT_FILTER_DESCRIPTOR. | Esse é um atributo opcional que você adiciona à ID eventProvider no perfil WPR. Por exemplo:
|
Não | |
Base | Indica a base do provedor. | string | Não | |
NonPagedMemory | Use memória não paginada para uma sessão de rastreamento. | booleano | Não | false |
Pilha | Capturar pilhas com o evento | booleano | Não | false |
SID | Inclua o SID (identificador de segurança) do usuário nos dados estendidos de eventos registrados. Define EVENT_ENABLE_PROPERTY_SID. | booleano | Não | false |
TSID | Inclua o identificador de sessão do terminal nos dados estendidos de eventos registrados. Define EVENT_ENABLE_PROPERTY_TS_ID. | booleano | Não | false |
Level | Indica o valor de nível. | unsignedByte | Não | Zero, que o ETW trata como 0xFF. |
CaptureStateOnly | Habilitado o provedor somente no início ou salvamento de uma sessão de rastreamento. | booleano | Não | false |
Rigoroso | Falha na gravação de rastreamento se o provedor não estiver habilitado. | booleano | Não | false |
EventKey | Inclua a Chave de Evento nos dados estendidos e defina EVENT_ENABLE_PROPERTY_EVENT_KEY sinalizador. | booleano | Não | false |
ExecludeInPrivate | Filtre todos os eventos marcados como um evento InPrivate ou provenientes do processo InPrivate. Define o sinalizador EVENT_ENABLE_PROPERTY_EXCLUDE_INPRIVATE | booleano | Não | false |
EnableSilos | Permite que as sessões de registro em log do host coletem eventos Crimson de silos de servidor. Define EVENT_ENABLE_PROPERTY_ENABLE_SILOS sinalizador. | booleano | Não | false |
ContainerId | Marca os eventos do provedor com informações de contêiner de origem. Define EVENT_ENABLE_PROPERTY_SOURCE_CONTAINER_TRACKING sinalizador. | booleano | Não | false |
Elementos filho
Elemento | Descrição | Requisito |
---|---|---|
Palavras-chave (em EventProvider) | Representa uma coleção de elementos De palavra-chave (em EventProvider ). | Opcional, 1 ou mais. |
CaptureStateOnStart | Representa uma coleção de elementos De palavra-chave (em EventProvider) para que os eventos sejam capturados no início de um rastreamento. | Opcional, zero ou 1. |
CaptureStateOnSave | Representa uma coleção de elementos De palavra-chave (em EventProvider) para eventos a serem capturados quando um rastreamento é salvo. | Opcional, zero ou 1. |
CaptureStateOnDemand | Representa uma coleção de elementos De palavra-chave (em EventProvider) para que os eventos sejam capturados quando o usuário dispara com wpr -capturestateondemand o comando . |
Opcional, zero ou 1. |
Pilhas | Representa uma coleção de pilhas. Para provedores UMGL. | Opcional, exatamente 1. |
EventFilters | Representa uma coleção de filtros de ID de evento. | Opcional, exatamente 1. |
StackFilters | Representa uma coleção de filtros de pilha por ID de evento. | Opcional, exatamente 1. |
EventNameFilters | Representa uma coleção de filtros de nome de evento. | Opcional, exatamente 1. |
StackEventNameFilters | Representa uma coleção de filtros de pilha pelo nome do evento. | Opcional, exatamente 1. |
StackKeywordLevelFilter | Representa uma coleção de filtros de pilha por palavra-chave e nível | Opcional, exatamente 1. |
Elementos pai
Elemento | Descrição |
---|---|
EventProviders | Representa uma coleção de elementos EventProvider . |
Perfis | Representa uma coleção de coletores, provedores e perfis. |
Comentários
A ordem de definição do provedor é importante. As definições devem aparecer na seguinte ordem no arquivo .wprp:
- Coletores
- Provedor do sistema
- Provedores de eventos
Marcas XML internas opcionais especificam quais palavras-chave habilitar. Ao contrário dos provedores de sistema, não há constantes textuais definidas para provedores de eventos, portanto, cadeias de caracteres de estilo hexadecimal devem ser usadas. No entanto, a sintaxe é a mesma do provedor do sistema. Se nenhuma palavra-chave for especificada, o valor padrão de zero será usado (que é tratado pelo ETW como a cadeia de caracteres 0xFFFFFFFFFFFFFFFF).
Os provedores de eventos derivados têm todos os atributos do provedor base por padrão. Eles podem ser substituídos especificando-os explicitamente no provedor derivado. Para obter mais informações, consulte Herança.
Exemplo
O exemplo a seguir define dois provedores 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"/>
Os exemplos de código a seguir definem provedores 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 cenários gerenciados, use a seguinte definição de provedor 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>