Parole chiave e livelli CLR ETW

La traccia eventi per gli eventi Windows (ETW) può essere filtrata per categoria e livello. Le parole chiave ETW CLR dell'evento consentono di filtrare gli eventi per categoria; vengono usati in combinazioni per il runtime e i provider di rundown. I livelli di evento sono identificati dai flag.

Parole chiave ETW CLR

Le parole chiave sono flag che possono essere combinati per generare valori. In pratica, si usano i valori esadecimali delle parole chiave anziché i nomi delle parole chiave quando si chiamano le utilità della riga di comando.

Le parole chiave sono descritte nelle tabelle seguenti:

Parole chiave del runtime ETW CLR

Nella tabella seguente sono elencate le parole chiave del runtime ETW CLR, i relativi valori e le relative funzioni.

Nome parola chiave di runtime Valore Purpose
GCKeyword 0x00000001 Abilita la raccolta di eventi di Garbage Collection.
LoaderKeyword 0x00000008 Abilita la raccolta di eventi del caricatore.
JITKeyword 0x00000010 Abilita la raccolta di eventi JIT (Just-In-Time).
NGenKeyword 0x00000020 Abilita la raccolta di eventi per i metodi di immagine nativi (metodi elaborati dal generatore di immagini native, Ngen.exe); usato con StartEnumerationKeyword e EndEnumerationKeyword. Questa parola chiave ha un sovraccarico elevato. Genera eventi per ogni metodo all'interno di ogni modulo NGen caricato. Quando possibile, anziché usare questa parola chiave, è consigliabile usare i database di programma generati dagli strumenti di profilatura per recuperare informazioni sui metodi dai moduli NGen. Vedere anche OverrideAndSuppressNGenEventsKeyword più avanti in questa tabella.
StartEnumerationKeyword 0x00000040 Abilita l'enumerazione di tutti i metodi nel runtime; usato insieme a NGenKeyword.
EndEnumerationKeyword 0x00000080 Abilita l'enumerazione di tutti i metodi eliminati nel runtime; usato insieme a JITKeyword e NGenKeyword.
SecurityKeyword 0x00000400 Abilita la raccolta di eventi di sicurezza.
AppDomainResourceManagementKeyword 0x00000800 Abilita la raccolta di eventi di monitoraggio delle risorse a livello di dominio applicazione.
JITTracingKeyword 0x00001000 Abilita la raccolta di eventi di traccia JIT.
InteropKeyword 0x00002000 Abilita la raccolta di eventi di interoperabilità.
ContentionKeyword 0x00004000 Abilita la raccolta di eventi di contesa.
ExceptionKeyword 0x00008000 Abilita la raccolta di eventi di eccezione.
ThreadingKeyword 0x00010000 Abilita la raccolta di eventi del pool di thread.
OverrideAndSuppressNGenEventsKeyword 0x00040000 Disponibile in .NET Framework 4.5 e versioni successive. Elimina la parola chiave high-overhead NGenKeyword e impedisce la generazione di eventi per i metodi che si trovano all'interno di moduli NGen. Gli strumenti di profilatura devono usare OverrideAndSuppressNGenEventsKeyword e NGenKeyword insieme per eliminare la generazione di eventi per i metodi nei moduli NGen. Ciò consente allo strumento di profilatura di usare i PDB NGen più efficienti per ottenere informazioni sui metodi nei moduli NGen. CLR in .NET Framework 4 e versioni precedenti non supporta la creazione di PDB NGen. In queste versioni precedenti CLR non riconosce e NGenKeyword non elabora OverrideAndSuppressNGenEventsKeyword per generare eventi per i metodi nei moduli NGen.
PerfTrackKeyWord 0x2000000 Abilita la raccolta di ModuleLoad eventi e ModuleRange .
StackKeyword 0x40000000 Abilita la raccolta di eventi di analisi dello stack CLR.

Parole chiave rundown ETW CLR

Nella tabella seguente sono elencate le parole chiave di rundown CLR ETW, i relativi valori e le relative funzioni.

Nome parola chiave rundown Valore Purpose
LoaderRundownKeyword 0x00000008 Abilita la raccolta di eventi del caricatore quando viene usata con StartRundownKeyword e EndRundownKeyword.
JitRundownKeyword 0x00000010 Abilita la raccolta di DCStart metodi ed DCEnd eventi per i metodi compilati jit quando vengono usati con StartRundownKeyword e EndRundownKeyword.
NGenRundownKeyword 0x00000020 Abilita la raccolta di DCStart metodi ed DCEnd eventi per i metodi di immagine nativa NGen quando vengono usati con StartRundownKeyword e EndRundownKeyword. Questa parola chiave ha un sovraccarico elevato. Genera eventi per ogni metodo all'interno di ogni modulo NGen caricato. Quando possibile, anziché usare questa parola chiave, è consigliabile usare i database di programma generati dagli strumenti di profilatura per recuperare informazioni sui metodi dai moduli NGen. Vedere anche OverrideAndSuppressNGenEventsRundownKeyword più avanti in questa tabella.
StartRundownKeyword 0x00000040 Abilita l'enumerazione dello stato del sistema durante un rundown di avvio.
EndRundownKeyword 0x00000100 Abilita l'enumerazione dello stato del sistema durante un rundown finale.
AppDomainResourceManagementRundownKeyword 0x00000800 Abilita la raccolta di eventi per il monitoraggio delle risorse a un AppDomain livello se usato con StartRundownKeyword o EndRundownKeyword.
ThreadingKeyword 0x00010000 Abilita la raccolta di eventi del pool di thread.
OverrideAndSuppressNGenEventsRundownKeyword 0x00040000 Disponibile in .NET Framework 4.5 e versioni successive. Elimina la parola chiave high-overhead NGenRundownKeyword e impedisce la generazione di eventi per i metodi che si trovano all'interno di moduli NGen. Gli strumenti di profilatura devono usare OverrideAndSuppressNGenEventsRundownKeyword e NGenRundownKeyword insieme per eliminare la generazione di eventi per i metodi nei moduli NGen. Ciò consente allo strumento di profilatura di usare i PDB NGen più efficienti per ottenere informazioni sui metodi nei moduli NGen. CLR in .NET Framework 4 e versioni precedenti non supporta la creazione di PDB NGen. In queste versioni precedenti CLR non riconosce e NGenRundownKeyword non elabora OverrideAndSuppressNGenEventsRundownKeyword per generare eventi per i metodi nei moduli NGen.
PerfTrackKeyWord 0x2000000 Abilita la raccolta degli ModuleDCStarteventi , ModuleDCEndModuleRangeDCStart, e ModuleRangeDCEnd .

Combinazioni di parole chiave per la risoluzione dei simboli per il provider di runtime

Parole chiave e flag Dominio applicazione, assembly, eventi di caricamento/scaricamento del modulo Eventi di caricamento/scaricamento del metodo (ad eccezione degli eventi dinamici) Eventi di caricamento/eliminazione di metodi dinamici
LoaderKeyword Caricare e scaricare eventi. None. None.
JITKeyword

(+ StartEnumerationKeyword non aggiunge nulla)
None. Caricare gli eventi. Caricare e scaricare eventi.
JITKeyword +

EndEnumerationKeyword
None. Caricare e scaricare eventi. Caricare e scaricare eventi.
NGenKeyword None. None. Non applicabile.
NGenKeyword +

StartEnumerationKeyword
None. Caricare gli eventi. Non applicabile.
NGenKeyword +

EndEnumerationKeyword
None. Scarica eventi. Non applicabile.

Combinazioni di parole chiave per la risoluzione dei simboli per il provider rundown

Parole chiave e flag Dominio applicazione, assembly, modulo DCStart/DCEnd eventi Eventi DCStart/DCEnd del metodo (inclusi gli eventi del metodo dinamico)
LoaderRundownKeyword +

StartRundownKeyword
DCStart Eventi. None.
LoaderRundownKeyword +

EndRundownKeyword
DCEnd Eventi. None.
JITKeyword +

StartRundownKeyword
None. DCStart Eventi.
JITKeyword +

EndRundownKeyword
None. DCEnd Eventi.
NGenKeyword +

StartRundownKeyword
None. DCStart Eventi.
NGenKeyword +

EndRundownKeyword
None. DCEnd Eventi.

Livelli di evento ETW

Gli eventi ETW possono anche essere filtrati in base al livello. Se il livello viene impostato a 0x5, vengono generati eventi di tutti i livelli, inclusi 0x5 e sotto (che sono eventi che appartengono a categorie abilitate tramite parole chiave). Se il livello viene impostato su 0x2, vengono generati solo gli eventi che appartengono al livello 0x2 e sotto.

I livelli hanno i significati seguenti:

0x5 - Dettagliato

0x4 - Informativo

0x3 - Avviso

0x2 - Errore

0x1 - Critico

0x0 - LogAlways

Vedere anche