Eventprovider
Configure le fournisseur de mode utilisateur Suivi d’événements pour Windows (ETW).
Hiérarchie d’éléments
-
<
WindowsPerformanceRecorder>
-
<
Profils>
- < Eventprovider>
-
<
Profil>
-
<
Collectionneurs>
-
<
EventCollectorId>
-
<
EventProviders>
- < Eventprovider>
-
<
EventProviders>
-
<
EventCollectorId>
-
<
Collectionneurs>
-
<
Profils>
Syntaxe
<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>
Attributs et éléments
Attributs
Attribut | Description | Type de données | Obligatoire | Default |
---|---|---|---|---|
Id | Identifie de manière unique le fournisseur d’événements. | Chaîne qui doit avoir au moins un caractère et ne peut pas contenir de deux-points (:) ou espaces. | Oui | |
Nom | Nom du fournisseur d’événements. | Cet attribut peut avoir l’une des valeurs suivantes :
|
Oui | |
ProcessExeFilter | Filtre un événement en fonction du processus .exe nom spécifié. Définit les données de filtre dans EVENT_FILTER_DESCRIPTOR. | Il s’agit d’un attribut facultatif que vous ajoutez à l’ID EventProvider dans le profil WPR. Par exemple :
|
Non | |
Base | Indique la base du fournisseur. | string | Non | |
NonPagedMemory | Utilisez la mémoire non paginée pour une session de suivi. | boolean | Non | false |
Pile | Capturer des piles avec l’événement | boolean | Non | false |
SID | Incluez l’identificateur de sécurité (SID) de l’utilisateur dans les données étendues des événements journalisés. Définit EVENT_ENABLE_PROPERTY_SID. | boolean | Non | false |
TSID | Incluez l’identificateur de session de terminal dans les données étendues des événements journalisés. Définit EVENT_ENABLE_PROPERTY_TS_ID. | boolean | Non | false |
Niveau | Indique la valeur de niveau. | unsignedByte | Non | Zéro, qu’ETW traite comme 0xFF. |
CaptureStateOnly | Activé le fournisseur uniquement au démarrage ou à l’enregistrement d’une session de suivi. | boolean | Non | false |
Strictes | Échec de l’enregistrement de trace si le fournisseur ne parvient pas à être activé. | boolean | Non | false |
EventKey | Incluez la clé d’événement dans les données et jeux étendus EVENT_ENABLE_PROPERTY_EVENT_KEY indicateur. | boolean | Non | false |
ExecludeInPrivate | Filtrez tous les événements marqués comme un événement InPrivate ou qui proviennent du processus InPrivate. Définit EVENT_ENABLE_PROPERTY_EXCLUDE_INPRIVATE’indicateur | boolean | Non | false |
EnableSilos | Permet aux sessions de journalisation hôtes de collecter des événements Crimson à partir de silos de serveurs. Définit EVENT_ENABLE_PROPERTY_ENABLE_SILOS indicateur. | boolean | Non | false |
ContainerId | Marque les événements du fournisseur avec les informations du conteneur source. Définit EVENT_ENABLE_PROPERTY_SOURCE_CONTAINER_TRACKING indicateur. | boolean | Non | false |
Éléments enfants
Élément | Description | Condition requise |
---|---|---|
Mots clés (dans EventProvider) | Représente une collection d’éléments Keyword (dans EventProvider). | Facultatif, 1 ou plus. |
CaptureStateOnStart | Représente une collection d’éléments Keyword (dans EventProvider) pour les événements à capturer au début d’une trace. | Facultatif, zéro ou 1. |
CaptureStateOnSave | Représente une collection d’éléments Keyword (dans EventProvider) pour les événements à capturer lors de l’enregistrement d’une trace. | Facultatif, zéro ou 1. |
CaptureStateOnDemand | Représente une collection d’éléments Keyword (dans EventProvider) pour les événements à capturer lorsque l’utilisateur déclenche une wpr -capturestateondemand commande. |
Facultatif, zéro ou 1. |
Piles | Représente une collection de piles. Pour les fournisseurs UMGL. | Facultatif, exactement 1. |
EventFilters | Représente une collection de filtres d’ID d’événement. | Facultatif, exactement 1. |
StackFilters | Représente une collection de filtres de pile par ID d’événement. | Facultatif, exactement 1. |
EventNameFilters | Représente une collection de filtres de noms d’événements. | Facultatif, exactement 1. |
StackEventNameFilters | Représente une collection de filtres de pile par nom d’événement. | Facultatif, exactement 1. |
StackKeywordLevelFilter | Représente une collection de filtres de pile par mot clé et par niveau | Facultatif, exactement 1. |
Éléments parents
Élément | Description |
---|---|
EventProviders | Représente une collection d’éléments EventProvider . |
Profils | Représente une collection de collecteurs, de fournisseurs et de profils. |
Notes
L’ordre de définition du fournisseur est important. Les définitions doivent apparaître dans l’ordre suivant dans le fichier .wprp :
- Collecteurs
- Fournisseur système
- Fournisseur(s) d’événements
Les balises XML internes facultatives spécifient les mots clés à activer. Contrairement aux fournisseurs système, il n’existe aucune constante textuelle définie pour les fournisseurs d’événements. Les chaînes de style hexadécimal doivent donc être utilisées. Toutefois, la syntaxe est la même que pour le fournisseur système. Si aucun mot clé n’est spécifié, la valeur par défaut zéro est utilisée (qui est traitée par ETW comme chaîne 0xFFFFFFFFFFFFFFFF).
Les fournisseurs d’événements dérivés ont tous les attributs du fournisseur de base par défaut. Ils peuvent être remplacés en les spécifiant explicitement dans le fournisseur dérivé. Pour plus d’informations, consultez Héritage.
Exemple
L’exemple suivant définit deux fournisseurs d’événements.
<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"/>
Les exemples de code suivants définissent des fournisseurs d’état de capture.
<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>
Pour les scénarios managés, utilisez la définition de fournisseur d’événements suivante :
<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>