EventProvider
Configura il provider in modalità utente di Traccia eventi per Windows (ETW).
Gerarchia degli elementi
-
<
WindowsPerformanceRecorder>
-
<
Profili>
- < EventProvider>
-
<
Profilo>
-
<
Collezionisti>
-
<
EventCollectorId>
-
<
EventProviders>
- < EventProvider>
-
<
EventProviders>
-
<
EventCollectorId>
-
<
Collezionisti>
-
<
Profili>
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. | Sì | |
Nome | Nome del provider di eventi. | Questo attributo può avere uno dei valori seguenti:
|
Sì | |
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:
|
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:
- Collezionisti
- Provider di sistema
- 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>