Compartilhar via


Eventprovider

Configura o provedor de modo de usuário do ETW (Rastreamento de Eventos para Windows).

Hierarquia de elementos

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:
  • Um provedor Carmesim registrado, por exemplo, "Microsoft-Windows-Search-Core".

  • Um GUID do provedor, por exemplo, "49c2c27c-fe2d-40bf-8c4e-c3fb518037e7".

  • O nome de um provedor herdado, por exemplo, "IE6".

  • Um nome de caso especial, como "PerfTrack" ou "DotNetProvider".

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:
  • "ProcessExeFilter="wpa.exe"

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:

  1. Coletores
  2. Provedor do sistema
  3. 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>

Elementos