Niveaux et mots clés ETW du CLR

Les événements de suivi d'événements pour Windows (ETW) peuvent être filtrés par catégorie et par niveau. Les Mots clés ETW du CLR d’événement permettent de filtrer les événements par catégorie. Ils sont utilisés sous forme de combinaisons pour les fournisseurs d’arrêt et de runtime. Les niveaux d'événement sont identifiés par des indicateurs.

Mots clés ETW du CLR

Les mots clés sont des indicateurs qui peuvent être combinés pour générer des valeurs. Dans la pratique, vous utilisez les valeurs hexadécimales des mots clés au lieu de leurs noms lorsque vous appelez des utilitaires en ligne de commande.

Les mots clés sont décrits dans les tableaux suivants :

Mots clés de runtime ETW du CLR

Le tableau suivant répertorie les mots clés de runtime ETW du CLR, leurs valeurs et leur usage.

Nom du mot clé de runtime Valeur Objectif
GCKeyword 0x00000001 Active la collecte d' événements de garbage collection.
LoaderKeyword 0x00000008 Active la collecte d’ événements de chargeur.
JITKeyword 0x00000010 Active la collecte d’ événements juste-à-temps (JIT).
NGenKeyword 0x00000020 Active la collecte d'événements pour les méthodes d'images natives (méthodes traitées par le générateur d'images natives, Ngen.exe) ; utilisé avec StartEnumerationKeyword et EndEnumerationKeyword. Ce mot clé possède une charge mémoire élevée. Il génère des événements pour chaque méthode à l'intérieur de chaque module NGen chargé. Si possible, au lieu d'utiliser ce mot clé, nous vous recommandons d'utiliser les bases de données de programme (PDB) générées par les outils de profilage pour récupérer des informations sur les méthodes à partir des modules NGen. Voir aussi OverrideAndSuppressNGenEventsKeyword plus bas dans ce tableau.
StartEnumerationKeyword 0x00000040 Active l'énumération de toutes les méthodes dans le runtime ; utilisé conjointement à NGenKeyword.
EndEnumerationKeyword 0x00000080 Active l'énumération de toutes les méthodes détruites dans le runtime ; utilisé conjointement à JITKeyword et NGenKeyword.
SecurityKeyword 0x00000400 Active la collecte d’ événements de sécurité.
AppDomainResourceManagementKeyword 0x00000800 Active la collecte d'événements d’analyse de ressource au niveau d'un domaine d'application.
JITTracingKeyword 0x00001000 Active la collecte d’ événements de traçage JIT.
InteropKeyword 0x00002000 Active la collecte d’ événements d’interopérabilité.
ContentionKeyword 0x00004000 Active la collecte d’ événements de conflit.
ExceptionKeyword 0x00008000 Active la collecte d’ événements d’exception.
ThreadingKeyword 0x00010000 Active la collecte d’ événements de pool de threads.
OverrideAndSuppressNGenEventsKeyword 0x00040000 (Disponible dans .NET Framework 4.5 et versions ultérieures.) Supprime le mot clé NGenKeyword de surcharge élevée et empêche la génération d’événements pour les méthodes qui se trouvent à l’intérieur des modules NGen. À compter de .NET Framework 4.5, les outils de profilage doivent utiliser OverrideAndSuppressNGenEventsKeyword et NGenKeyword ensemble pour supprimer la génération d’événements pour les méthodes dans les modules NGen. Cela permet à l'outil de profilage d’utiliser les fichiers PDB NGen plus efficaces pour obtenir des informations sur les méthodes dans les modules NGen. Le CLR dans le .NET Framework 4 et versions antérieures ne prend pas en charge la création de fichiers PDB NGen. Dans les versions antérieures, le CLR ne reconnaîtra pas OverrideAndSuppressNGenEventsKeyword et traitera NGenKeyword pour générer des événements pour les méthodes dans les modules NGen.
PerfTrackKeyWord 0x2000000 Active la collecte des événements ModuleLoad et ModuleRange .
StackKeyword 0x40000000 Active la collecte des événements de trace de la pile.

Mots clés d’arrêt ETW du CLR

Le tableau suivant répertorie les mots clés d’arrêt ETW du CLR, leurs valeurs et leur usage.

Nom du mot clé d’arrêt Valeur Objectif
LoaderRundownKeyword 0x00000008 Active la collecte d’événements de chargeur quand il est utilisé avec StartRundownKeyword et EndRundownKeyword.
JitRundownKeyword 0x00000010 Active la collecte des événements DCStart et DCEnd de méthode pour les méthodes compilées juste-à-temps (JIT) quand il est utilisé avec StartRundownKeyword et EndRundownKeyword.
NGenRundownKeyword 0x00000020 Active la collecte des événements DCStart et DCEnd de méthode pour les méthodes d’images natives NGen quand il est utilisé avec StartRundownKeyword et EndRundownKeyword. Ce mot clé possède une charge mémoire élevée. Il génère des événements pour chaque méthode à l'intérieur de chaque module NGen chargé. Si possible, au lieu d'utiliser ce mot clé, nous vous recommandons d'utiliser les bases de données de programme (PDB) générées par les outils de profilage pour récupérer des informations sur les méthodes à partir des modules NGen. Voir aussi OverrideAndSuppressNGenEventsRundownKeyword plus bas dans ce tableau.
StartRundownKeyword 0x00000040 Active l'énumération de l'état du système pendant un arrêt de début.
EndRundownKeyword 0x00000100 Active l'énumération de l'état du système pendant un arrêt de fin.
AppDomainResourceManagementRundownKeyword 0x00000800 Active la collecte d'événements d'analyse de ressource à un niveau AppDomain lorsqu'il est utilisé avec StartRundownKeyword ou EndRundownKeyword.
ThreadingKeyword 0x00010000 Active la collecte d’événements de pool de threads.
OverrideAndSuppressNGenEventsRundownKeyword 0x00040000 (Disponible dans .NET Framework 4.5 et versions ultérieures.) Supprime le mot clé NGenRundownKeyword de surcharge élevée et empêche la génération d’événements pour les méthodes qui se trouvent à l’intérieur des modules NGen. À compter de .NET Framework 4.5, les outils de profilage doivent utiliser OverrideAndSuppressNGenEventsRundownKeyword et NGenRundownKeyword ensemble pour supprimer la génération d’événements pour les méthodes dans les modules NGen. Cela permet à l'outil de profilage d’utiliser les fichiers PDB NGen plus efficaces pour obtenir des informations sur les méthodes dans les modules NGen. Le CLR dans le .NET Framework 4 et versions antérieures ne prend pas en charge la création de fichiers PDB NGen. Dans les versions antérieures, le CLR ne reconnaîtra pas OverrideAndSuppressNGenEventsRundownKeyword et traitera NGenRundownKeyword pour générer des événements pour les méthodes dans les modules NGen.
PerfTrackKeyWord 0x2000000 Active la collecte des événements ModuleDCStart, ModuleDCEnd, ModuleRangeDCStartet ModuleRangeDCEnd .

Combinaisons de mots clés pour la résolution des symboles pour le fournisseur de runtime

Mots clés et indicateurs Domaine d'application, assembly, événements de chargement/déchargement de module Événements de chargement/déchargement de méthode (sauf événements dynamiques) Événements de chargement/destruction de méthode dynamique
LoaderKeyword Événements de chargement et déchargement. Aucun. Aucun.
JITKeyword

(+ StartEnumerationKeyword n'ajoute rien)
Aucune. Événements de chargement. Événements de chargement et déchargement.
JITKeyword +

EndEnumerationKeyword
Aucune. Événements de chargement et déchargement. Événements de chargement et déchargement.
NGenKeyword Aucun. Aucun. Non applicable.
NGenKeyword +

StartEnumerationKeyword
Aucune. Événements de chargement. Non applicable.
NGenKeyword +

EndEnumerationKeyword
Aucune. Événements de déchargement. Non applicable.

Combinaisons de mots clés pour la résolution des symboles pour le fournisseur d’arrêt

Mots clés et indicateurs Domaine d'application, assembly, événements DCStart/DCEnd de module Événements DCStart/DCEnd de méthode (y compris les événements de méthode dynamique)
LoaderRundownKeyword +

StartRundownKeyword
ÉvénementsDCStart . Aucun.
LoaderRundownKeyword +

EndRundownKeyword
ÉvénementsDCEnd . Aucun.
JITKeyword +

StartRundownKeyword
Aucun. ÉvénementsDCStart .
JITKeyword +

EndRundownKeyword
Aucun. ÉvénementsDCEnd .
NGenKeyword +

StartRundownKeyword
Aucun. ÉvénementsDCStart .
NGenKeyword +

EndRundownKeyword
Aucun. ÉvénementsDCEnd .

Niveaux d'événement ETW

Les événements ETW peuvent également être filtrés par niveau. Si le niveau est défini sur 0x5, les événements de tous les niveaux, y compris 0x5 et inférieurs (qui sont des événements qui appartiennent aux catégories activées via des mots clés), sont déclenchés. Si le niveau est défini sur 0x2, seuls les événements de niveau 0x2 et inférieurs sont déclenchés.

Les niveaux ont les significations suivantes :

0x5 - Détaillé

0x4 - Informatif

0x3 - Avertissement

0x2 - Erreur

0x1 - Critique

0x0 - Toujours journaliser

Voir aussi