Klíčová slova a úrovně ETW CLR

Trasování událostí pro události Systému Windows (ETW) je možné filtrovat podle kategorie a úrovně. Event CLR ETW Klíčová slova umožňují filtrování událostí podle kategorie; používají se v kombinacích pro zprostředkovatele modulu runtime a rundown. Úrovně událostí jsou identifikovány příznaky.

Klíčová slova CLR ETW

Klíčová slova jsou příznaky, které lze kombinovat a generovat hodnoty. V praxi se při volání nástrojů příkazového řádku místo názvů klíčových slov používají šestnáctkové hodnoty klíčových slov.

Klíčová slova jsou popsána v následujících tabulkách:

Klíčová slova modulu CLR ETW runtime

V následující tabulce jsou uvedena klíčová slova modulu runtime CLR ETW, jejich hodnoty a k čemu se používají.

Název klíčového slova modulu runtime Hodnota Účel
GCKeyword 0x00000001 Povolí shromažďování událostí uvolňování paměti.
LoaderKeyword 0x00000008 Povolí shromažďování událostí zavaděče.
JITKeyword 0x00000010 Povolí shromažďování událostí za běhu (JIT).
NGenKeyword 0x00000020 Povolí shromažďování událostí pro metody nativní bitové kopie (metody zpracovávané generátorem nativních bitových kopií Ngen.exe); používané s StartEnumerationKeyword a EndEnumerationKeyword. Toto klíčové slovo má vysokou režii. Generuje události pro každou metodu uvnitř každého načteného modulu NGen. Kdykoli je to možné, doporučujeme místo použití tohoto klíčového slova použít databáze programů (PDB) vygenerované nástroji profilace k načtení informací o metodách z modulů NGen. Viz také OverrideAndSuppressNGenEventsKeyword dále v této tabulce.
StartEnumerationKeyword 0x00000040 Povolí výčet všech metod v modulu runtime; se používá ve spojení s NGenKeyword.
EndEnumerationKeyword 0x00000080 Umožňuje výčet všech metod zničených v modulu runtime; ve spojení s JITKeyword a NGenKeyword.
SecurityKeyword 0x00000400 Povolí shromažďování událostí zabezpečení.
AppDomainResourceManagementKeyword 0x00000800 Povolí shromažďování událostí monitorování prostředků na úrovni domény aplikace.
JITTracingKeyword 0x00001000 Povolí shromažďování událostí trasování JIT.
InteropKeyword 0x00002000 Povolí shromažďování událostí zprostředkovatele komunikace.
ContentionKeyword 0x00004000 Povolí shromažďování událostí kolizí.
ExceptionKeyword 0x00008000 Povolí shromažďování událostí výjimek.
ThreadingKeyword 0x00010000 Povolí shromažďování událostí fondu vláken.
OverrideAndSuppressNGenEventsKeyword 0x00040000 (K dispozici v rozhraní .NET Framework 4.5 a novějších verzích.) Potlačí klíčové slovo s vysokou režií NGenKeyword a zabraňuje generování událostí pro metody, které jsou uvnitř modulů NGen. Počínaje rozhraním .NET Framework 4.5 by nástroje profilace měly používat OverrideAndSuppressNGenEventsKeyword a NGenKeyword společně potlačit generování událostí pro metody v modulech NGen. To umožňuje nástroji pro profilaci používat efektivnější soubory PDB NGen k získání informací o metodách v modulech NGen. CLR v rozhraní .NET Framework 4 a starších verzích nepodporuje vytváření souborů PDB NGen. V těchto starších verzích CLR nerozpoznává OverrideAndSuppressNGenEventsKeyword a bude zpracovávat NGenKeyword generování událostí pro metody v modulech NGen.
PerfTrackKeyWord 0x2000000 Povolí shromažďování událostí ModuleLoad a ModuleRange .
StackKeyword 0x40000000 Povolí shromažďování událostí trasování zásobníku CLR.

Klíčová slova rundownu CLR ETW

Následující tabulka uvádí klíčová slova rundownu CLR ETW, jejich hodnoty a k čemu se používají.

Název klíčového slova rundownu Hodnota Účel
LoaderRundownKeyword 0x00000008 Povolí shromažďování událostí zavaděče při použití s StartRundownKeyword a EndRundownKeyword.
JitRundownKeyword 0x00000010 Povolí shromažďování metod DCStart a DCEnd událostí pro metody kompilované pomocí JIT při použití s StartRundownKeyword a EndRundownKeyword.
NGenRundownKeyword 0x00000020 Povolí kolekci metod DCStart a DCEnd událostí pro metody nativní bitové kopie NGen při použití s StartRundownKeyword a EndRundownKeyword. Toto klíčové slovo má vysokou režii. Generuje události pro každou metodu uvnitř každého načteného modulu NGen. Kdykoli je to možné, doporučujeme místo použití tohoto klíčového slova použít databáze programů (PDB) vygenerované nástroji profilace k načtení informací o metodách z modulů NGen. Viz také OverrideAndSuppressNGenEventsRundownKeyword dále v této tabulce.
StartRundownKeyword 0x00000040 Povolí výčet stavu systému během spuštění.
EndRundownKeyword 0x00000100 Povolí výčet stavu systému během konečného spuštění.
AppDomainResourceManagementRundownKeyword 0x00000800 Povolí shromažďování událostí pro monitorování prostředků na AppDomain úrovni při použití s StartRundownKeyword nebo EndRundownKeyword.
ThreadingKeyword 0x00010000 Povolí shromažďování událostí fondu vláken.
OverrideAndSuppressNGenEventsRundownKeyword 0x00040000 (K dispozici v rozhraní .NET Framework 4.5 a novějších verzích.) Potlačí klíčové slovo s vysokou režií NGenRundownKeyword a zabraňuje generování událostí pro metody, které jsou uvnitř modulů NGen. Počínaje rozhraním .NET Framework 4.5 by nástroje profilace měly používat OverrideAndSuppressNGenEventsRundownKeyword a NGenRundownKeyword společně potlačit generování událostí pro metody v modulech NGen. To umožňuje nástroji pro profilaci používat efektivnější soubory PDB NGen k získání informací o metodách v modulech NGen. CLR v rozhraní .NET Framework 4 a starších verzích nepodporuje vytváření souborů PDB NGen. V těchto starších verzích CLR nerozpoznává OverrideAndSuppressNGenEventsRundownKeyword a bude zpracovávat NGenRundownKeyword generování událostí pro metody v modulech NGen.
PerfTrackKeyWord 0x2000000 Povolí kolekci ModuleDCStartudálostí , ModuleDCEnd, ModuleRangeDCStarta ModuleRangeDCEnd .

Kombinace klíčových slov pro rozlišení symbolů pro zprostředkovatele modulu runtime

Klíčová slova a příznaky Události domény aplikace, sestavení, načtení/uvolnění modulu Události načtení/uvolnění metody (s výjimkou dynamických událostí) Události načtení/zničení dynamické metody
LoaderKeyword Načíst a uvolnit události. Žádné Žádné
JITKeyword

(+ StartEnumerationKeyword nepřidá nic)
Žádné Načíst události. Načíst a uvolnit události.
JITKeyword +

EndEnumerationKeyword
Žádné Načíst a uvolnit události. Načíst a uvolnit události.
NGenKeyword Žádné Žádné Neužívá se.
NGenKeyword +

StartEnumerationKeyword
Žádné Načíst události. Neužívá se.
NGenKeyword +

EndEnumerationKeyword
Žádné Uvolnění událostí. Neužívá se.

Kombinace klíčových slov pro rozlišení symbolů pro zprostředkovatele rundownu

Klíčová slova a příznaky Události domény aplikace, sestavení, modulu DCStart/DCEnd Události DCStart/DCEnd metody (včetně událostí dynamických metod)
LoaderRundownKeyword +

StartRundownKeyword
DCStart Události. Žádné
LoaderRundownKeyword +

EndRundownKeyword
DCEnd Události. Žádné
JITKeyword +

StartRundownKeyword
Žádné DCStart Události.
JITKeyword +

EndRundownKeyword
Žádné DCEnd Události.
NGenKeyword +

StartRundownKeyword
Žádné DCStart Události.
NGenKeyword +

EndRundownKeyword
Žádné DCEnd Události.

Úrovně událostí trasování událostí pro Windows

Události trasování událostí pro Windows je také možné filtrovat podle úrovně. Pokud je úroveň nastavena na 0x5, vyvolá se události všech úrovní, včetně 0x5 a nižších (což jsou události, které patří do kategorií povolených prostřednictvím klíčových slov). Pokud je úroveň nastavena na 0x2, jsou vyvolány pouze události, které patří do úrovně 0x2 a nižší.

Úrovně mají následující významy:

0x5 – podrobné

0x4 – informační

0x3 – upozornění

0x2 – chyba

0x1 – kritické

0x0 - LogAlways

Viz také