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 :
Combinaisons de mots clés pour la résolution des symboles pour le fournisseur de runtime
Combinaisons de mots clés pour la résolution des symboles pour le fournisseur d’arrêt
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 , ModuleRangeDCStart et 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