EventProvider
Konfiguriert den Ereignisablaufverfolgungsanbieter für Windows (ETW) für den Benutzermodus.
Elementhierarchie
-
<
WindowsPerformanceRecorder>
-
<
Profile>
- < EventProvider>
-
<
Profile>
-
<
Sammler>
-
<
EventCollectorId>
-
<
EventProviders>
- < EventProvider>
-
<
EventProviders>
-
<
EventCollectorId>
-
<
Sammler>
-
<
Profile>
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>
Attribute und Elemente
Attribute
attribute | BESCHREIBUNG | Datentyp | Erforderlich | Standard |
---|---|---|---|---|
Id | Identifiziert den Ereignisanbieter eindeutig. | Zeichenfolge, die mindestens ein Zeichen aufweisen muss und keine Doppelpunkte (:) oder Leerzeichen enthalten kann. | Ja | |
Name | Der Name des Ereignisanbieters. | Dieses Attribut kann einen der folgenden Werte annehmen:
|
Yes | |
ProcessExeFilter | Filtert ein Ereignis basierend auf dem angegebenen Prozess .exe Namen. Legt die Filterdaten in EVENT_FILTER_DESCRIPTOR fest. | Dies ist ein optionales Attribut, das Sie der EventProvider-ID im WPR-Profil hinzufügen. Beispiel:
|
No | |
Base | Gibt die Basis für den Anbieter an. | Zeichenfolge | No | |
NonPagedMemory | Verwenden Sie non-paged Arbeitsspeicher für eine Ablaufverfolgungssitzung. | boolean | Nein | false |
Stapel | Erfassen von Stapeln mit dem Ereignis | boolean | Nein | false |
SID | Schließen Sie den Sicherheitsbezeichner (SID) des Benutzers in die erweiterten Daten protokollierter Ereignisse ein. Legt EVENT_ENABLE_PROPERTY_SID fest. | boolean | Nein | false |
TSID | Schließen Sie den Terminalsitzungsbezeichner in die erweiterten Daten protokollierter Ereignisse ein. Legt EVENT_ENABLE_PROPERTY_TS_ID fest. | boolean | Nein | false |
Level | Gibt den Levelwert an. | unsignedByte | No | Zero, das ETW als 0xFF behandelt. |
CaptureStateOnly | Aktiviert den Anbieter nur beim Start oder Speichern einer Ablaufverfolgungssitzung. | boolean | Nein | false |
Strict | Lassen Sie die Ablaufverfolgungsaufzeichnung fehlschlagen, wenn der Anbieter nicht aktiviert werden kann. | boolean | Nein | false |
EventKey | Schließen Sie den Ereignisschlüssel in die erweiterten Daten ein, und legen Sie EVENT_ENABLE_PROPERTY_EVENT_KEY Flag fest. | boolean | Nein | false |
ExecludeInPrivate | Filtern Sie alle Ereignisse, die als InPrivate-Ereignis gekennzeichnet sind oder aus dem InPrivate-Prozess stammen. Legt EVENT_ENABLE_PROPERTY_EXCLUDE_INPRIVATE Flag fest | boolean | Nein | false |
EnableSilos | Ermöglicht Hostprotokollierungssitzungen das Sammeln von Crimson-Ereignissen aus Serversilos. Legt EVENT_ENABLE_PROPERTY_ENABLE_SILOS Flag fest. | boolean | Nein | false |
ContainerId | Kennzeichnet die Ereignisse des Anbieters mit Quellcontainerinformationen. Legt EVENT_ENABLE_PROPERTY_SOURCE_CONTAINER_TRACKING Flag fest. | boolean | Nein | false |
Untergeordnete Elemente
Element | BESCHREIBUNG | Anforderung |
---|---|---|
Keywords (in EventProvider) | Stellt eine Auflistung von Schlüsselwortelementen (in EventProvider) dar. | Optional, 1 oder mehr. |
CaptureStateOnStart | Stellt eine Auflistung von Schlüsselwortelementen (in EventProvider) für Ereignisse dar, die am Anfang einer Ablaufverfolgung erfasst werden sollen. | Optional, 0 (null) oder 1. |
CaptureStateOnSave | Stellt eine Auflistung von Schlüsselwortelementen (in EventProvider) für Ereignisse dar, die bei Speicherung einer Ablaufverfolgung erfasst werden sollen. | Optional, 0 (null) oder 1. |
CaptureStateOnDemand | Stellt eine Auflistung von Schlüsselwortelementen (in EventProvider) für Ereignisse dar, die erfasst werden sollen, wenn der Benutzer mit wpr -capturestateondemand dem Befehl triggert. |
Optional, 0 (null) oder 1. |
Stacks | Stellt eine Sammlung von Stapeln dar. Für UMGL-Anbieter. | Optional, genau 1. |
EventFilters | Stellt eine Auflistung von Ereignis-ID-Filtern dar. | Optional, genau 1. |
StackFilters | Stellt eine Auflistung von Stapelfiltern nach Ereignis-ID dar. | Optional, genau 1. |
EventNameFilters | Stellt eine Auflistung von Ereignisnamenfiltern dar. | Optional, genau 1. |
StackEventNameFilters | Stellt eine Auflistung von Stapelfiltern nach Ereignisname dar. | Optional, genau 1. |
StackKeywordLevelFilter | Stellt eine Auflistung von Stapelfiltern nach Schlüsselwort (keyword) und Ebene dar. | Optional, genau 1. |
Übergeordnete Elemente
Element | Beschreibung |
---|---|
EventProviders | Stellt eine Auflistung von Schlüsselwortelementen (in EventProvider) dar. |
Profiles | Stellt eine Sammlung von Sammlern, Anbietern und Profilen dar. |
Bemerkungen
Die Reihenfolge der Anbieterdefinition ist wichtig. Definitionen müssen in der folgenden Reihenfolge in der .wprp-Datei angezeigt werden:
- Collectors
- Systemanbieter
- Ereignisanbieter
Optionale interne XML-Tags geben die zu aktivierenden Schlüsselwörter an. Im Gegensatz zu Systemanbietern gibt es keine Textkonstanten, die für Ereignisanbieter definiert sind, sodass hexadezimale Zeichenfolgen verwendet werden müssen. Die Syntax ist jedoch identisch mit den Systemanbietern. Wenn keine Schlüsselwörter angegeben werden, wird der Standardwert von Null verwendet (der von ETW als Zeichenfolge 0xFFFFFFFFFFFFFFFF behandelt wird).
Abgeleitete Ereignisanbieter weisen standardmäßig alle Attribute des Basisanbieters auf. Diese können aufgehoben werden, indem sie explizit im abgeleiteten Sammler angegeben werden. Weitere Informationen finden Sie unter Vererbung.
Beispiel
Im folgenden Codebeispiel werden zwei Ereignisanbieter definiert.
<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"/>
Die folgenden Codebeispiele definieren Aufnahmestatusanbieter.
<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>
Verwenden Sie für verwaltete Szenarios die folgende Ereignisanbieterdefinition:
<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>