Partager via


Eventprovider

Configure le fournisseur de mode utilisateur Suivi d’événements pour Windows (ETW).

Hiérarchie d’éléments

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 :
  • Un fournisseur Crimson inscrit, par exemple, « Microsoft-Windows-Search-Core ».

  • GUID d’un fournisseur, par exemple « 49c2c27c-fe2d-40bf-8c4e-c3fb518037e7 ».

  • Nom d’un fournisseur hérité, par exemple « Internet Explorer 6 ».

  • Nom de cas spécial, tel que « PerfTrack » ou « DotNetProvider ».

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

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 :

  1. Collecteurs
  2. Fournisseur système
  3. 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>

Éléments