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:
Kombinace klíčových slov pro rozlišení symbolů pro zprostředkovatele modulu runtime
Kombinace klíčových slov pro rozlišení symbolů pro zprostředkovatele rundownu
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 ModuleDCStart událostí , ModuleDCEnd , ModuleRangeDCStart a 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