Condividi tramite


EventProvider

Configura il provider in modalità utente di Traccia eventi per Windows (ETW).

Gerarchia degli elementi

Sintassi

<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>

Attributi ed elementi

Attributi

Attributo Descrizione Tipo di dati Richiesto Predefinito
Id Identifica in modo univoco il provider di eventi. Stringa che deve avere almeno un carattere e non può contenere due punti (:) o spazi.
Nome Nome del provider di eventi. Questo attributo può avere uno dei valori seguenti:
  • Provider Crimson registrato, ad esempio "Microsoft-Windows-Search-Core".

  • GUID del provider, ad esempio "49c2c27c-fe2d-40bf-8c4e-c3fb518037e7".

  • Nome di un provider legacy, ad esempio "IE6".

  • Nome in caso speciale, ad esempio "PerfTrack" o "DotNetProvider".

ProcessExeFilter Filtra un evento in base al processo .exe nome specificato. Imposta i dati del filtro in EVENT_FILTER_DESCRIPTOR. Si tratta di un attributo facoltativo aggiunto all'ID EventProvider nel profilo WPR. Ad esempio:
  • "ProcessExeFilter="wpa.exe"

No
Base Indica la base per il provider. string No
NonPagedMemory Usare memoria non a pagina per una sessione di traccia. boolean No false
Tra elementi sovrapposti Acquisire stack con l'evento boolean No false
SID Includere l'identificatore di sicurezza (SID) dell'utente nei dati estesi degli eventi registrati. Imposta EVENT_ENABLE_PROPERTY_SID. boolean No false
TSID Includere l'identificatore della sessione del terminale nei dati estesi degli eventi registrati. Imposta EVENT_ENABLE_PROPERTY_TS_ID. boolean No false
Level Indica il valore del livello. unsignedByte No Zero, che ETW considera come 0xFF.
CaptureStateOnly Abilitato il provider solo all'avvio o al salvataggio di una sessione di traccia. boolean No false
Strict Non riuscire a registrare la traccia se il provider non riesce a essere abilitato. boolean No false
EventKey Includere la chiave evento nel flag di dati e set estesi EVENT_ENABLE_PROPERTY_EVENT_KEY. boolean No false
ExecludeInPrivate Filtra tutti gli eventi contrassegnati come evento InPrivate o provengono dal processo InPrivate. Imposta EVENT_ENABLE_PROPERTY_EXCLUDE_INPRIVATE flag boolean No false
EnableSilos Consente alle sessioni di registrazione host di raccogliere eventi Crimson dai silos del server. Imposta EVENT_ENABLE_PROPERTY_ENABLE_SILOS flag. boolean No false
ContainerId Contrassegna gli eventi del provider con informazioni sul contenitore di origine. Imposta EVENT_ENABLE_PROPERTY_SOURCE_CONTAINER_TRACKING flag. boolean No false

Elementi figlio

Elemento Descrizione Requisito
Parole chiave (in EventProvider) Rappresenta una raccolta di elementi Keyword (in EventProvider). Facoltativo, 1 o più.
CaptureStateOnStart Rappresenta una raccolta di elementi Keyword (in EventProvider) per l'acquisizione di eventi all'inizio di una traccia. Facoltativo, zero o 1.
CaptureStateOnSave Rappresenta una raccolta di elementi Keyword (in EventProvider) per l'acquisizione di eventi quando viene salvata una traccia. Facoltativo, zero o 1.
CaptureStateOnDemand Rappresenta una raccolta di elementi Keyword (in EventProvider) per gli eventi da acquisire quando l'utente attiva il wpr -capturestateondemand comando. Facoltativo, zero o 1.
Stack Rappresenta una raccolta di stack. Per i provider UMGL. Facoltativo, esattamente 1.
EventFilters Rappresenta una raccolta di filtri ID evento. Facoltativo, esattamente 1.
StackFilters Rappresenta una raccolta di filtri dello stack in base all'ID evento. Facoltativo, esattamente 1.
EventNameFilters Rappresenta una raccolta di filtri dei nomi degli eventi. Facoltativo, esattamente 1.
StackEventNameFilters Rappresenta una raccolta di filtri stack in base al nome dell'evento. Facoltativo, esattamente 1.
StackKeywordLevelFilter Rappresenta una raccolta di filtri stack per parola chiave e livello Facoltativo, esattamente 1.

Elementi padre

Elemento Descrizione
EventProviders Rappresenta una raccolta di elementi EventProvider .
Profili Rappresenta una raccolta di agente di raccolta, provider e profili.

Commenti

L'ordine di definizione del provider è importante. Le definizioni devono essere visualizzate nell'ordine seguente nel file wprp:

  1. Collezionisti
  2. Provider di sistema
  3. Provider di eventi

I tag XML interni facoltativi specificano le parole chiave da abilitare. A differenza dei provider di sistema, non sono presenti costanti testuali definite per i provider di eventi, pertanto è necessario usare stringhe esadecimali. Tuttavia, la sintassi è uguale a per il provider di sistema. Se non vengono specificate parole chiave, viene usato il valore predefinito di zero (che viene considerato da ETW come stringa 0xFFFFFFFFFFFFFFFF).

I provider di eventi derivati hanno tutti gli attributi del provider di base per impostazione predefinita. Possono essere sottoposti a override specificandoli in modo esplicito nel provider derivato. Per altre informazioni, vedere Ereditarietà.

Esempio

L'esempio seguente definisce due provider di eventi.

<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"/>

Gli esempi di codice seguenti definiscono provider di stato di acquisizione.

<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>

Per gli scenari gestiti, usare la definizione del provider di eventi seguente:

<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>

Elementi