Udostępnij za pośrednictwem


Słowa kluczowe i poziomy ETW CLR

Śledzenie zdarzeń systemu Windows (ETW) można filtrować według kategorii i poziomu. Słowa kluczowe CLR ETW zdarzenia umożliwiają filtrowanie zdarzeń według kategorii; są one używane w kombinacjach dla środowiska uruchomieniowego i dostawców rundown. Poziomy zdarzeń są identyfikowane przez flagi.

Słowa kluczowe CLR ETW

Słowa kluczowe to flagi, które można połączyć w celu wygenerowania wartości. W praktyce wartości szesnastkowe słów kluczowych są używane zamiast nazw słów kluczowych podczas wywoływania narzędzi wiersza polecenia.

Słowa kluczowe są opisane w następujących tabelach:

Słowa kluczowe środowiska uruchomieniowego CLR ETW

W poniższej tabeli wymieniono słowa kluczowe środowiska uruchomieniowego CLR ETW, ich wartości i ich zastosowania.

Nazwa słowa kluczowego środowiska uruchomieniowego Wartość Przeznaczenie
GCKeyword 0x00000001 Włącza zbieranie zdarzeń odzyskiwania pamięci.
LoaderKeyword 0x00000008 Włącza zbieranie zdarzeń modułu ładującego.
JITKeyword 0x00000010 Włącza zbieranie zdarzeń just in time (JIT).
NGenKeyword 0x00000020 Umożliwia zbieranie zdarzeń dla metod obrazu natywnego (metody przetwarzane przez generator obrazów natywnych, Ngen.exe); używane z systemami StartEnumerationKeyword i EndEnumerationKeyword. To słowo kluczowe ma duże obciążenie. Generuje zdarzenia dla każdej metody wewnątrz każdego załadowanego modułu NGen. Jeśli to możliwe, zamiast używać tego słowa kluczowego, zalecamy używanie baz danych programu (PDB) generowanych przez narzędzia profilowania do pobierania informacji o metodach z modułów NGen. Zobacz również OverrideAndSuppressNGenEventsKeyword w dalszej części tej tabeli.
StartEnumerationKeyword 0x00000040 Włącza wyliczanie wszystkich metod w środowisku uruchomieniowym; używany w połączeniu z NGenKeyword.
EndEnumerationKeyword 0x00000080 Włącza wyliczanie wszystkich metod zniszczonych w środowisku uruchomieniowym; używane w połączeniu z i JITKeywordNGenKeyword.
SecurityKeyword 0x00000400 Włącza zbieranie zdarzeń zabezpieczeń.
AppDomainResourceManagementKeyword 0x00000800 Umożliwia zbieranie zdarzeń monitorowania zasobów na poziomie domeny aplikacji.
JITTracingKeyword 0x00001000 Umożliwia zbieranie zdarzeń śledzenia JIT.
InteropKeyword 0x00002000 Włącza zbieranie zdarzeń międzyoperacyjnych.
ContentionKeyword 0x00004000 Włącza zbieranie zdarzeń rywalizacji.
ExceptionKeyword 0x00008000 Włącza zbieranie zdarzeń wyjątków.
ThreadingKeyword 0x00010000 Włącza zbieranie zdarzeń puli wątków.
OverrideAndSuppressNGenEventsKeyword 0x00040000 (Dostępne w .NET Framework 4.5 i nowszych). Pomija słowo kluczowe wysokiego obciążenia NGenKeyword i zapobiega generowaniu zdarzeń dla metod, które znajdują się wewnątrz modułów NGen. Począwszy od .NET Framework 4.5, narzędzia profilowania powinny używać OverrideAndSuppressNGenEventsKeyword i NGenKeyword razem pomijać generowanie zdarzeń dla metod w modułach NGen. Dzięki temu narzędzie profilowania może używać bardziej wydajnych plików PDB NGen do uzyskiwania informacji o metodach w modułach NGen. Środowisko CLR w .NET Framework 4 i starszych wersjach nie obsługuje tworzenia plików PDB NGen. We wcześniejszych wersjach clR nie rozpozna OverrideAndSuppressNGenEventsKeyword i będzie przetwarzać NGenKeyword generowanie zdarzeń dla metod w modułach NGen.
PerfTrackKeyWord 0x2000000 Włącza zbieranie zdarzeń ModuleLoad i ModuleRange .
StackKeyword 0x40000000 Włącza zbieranie zdarzeń śledzenia stosu CLR.

Słowa kluczowe środowiska CLR ETW Rundown

W poniższej tabeli wymieniono słowa kluczowe uruchamiania CLR ETW, ich wartości i ich zastosowania.

Nazwa słowa kluczowego Rundown Wartość Przeznaczenie
LoaderRundownKeyword 0x00000008 Włącza zbieranie zdarzeń modułu ładującego w przypadku użycia z elementami StartRundownKeyword i EndRundownKeyword.
JitRundownKeyword 0x00000010 Włącza zbieranie metod DCStart i DCEnd zdarzeń dla metod kompilowanych w trybie JIT w przypadku użycia z elementami StartRundownKeyword i EndRundownKeyword.
NGenRundownKeyword 0x00000020 Włącza zbieranie metod DCStart i DCEnd zdarzeń dla metod obrazu natywnego NGen w przypadku użycia z elementami StartRundownKeyword i EndRundownKeyword. To słowo kluczowe ma duże obciążenie. Generuje zdarzenia dla każdej metody wewnątrz każdego załadowanego modułu NGen. Jeśli to możliwe, zamiast używać tego słowa kluczowego, zalecamy używanie baz danych programu (PDB) generowanych przez narzędzia profilowania do pobierania informacji o metodach z modułów NGen. Zobacz również OverrideAndSuppressNGenEventsRundownKeyword w dalszej części tej tabeli.
StartRundownKeyword 0x00000040 Włącza wyliczanie stanu systemu podczas uruchamiania.
EndRundownKeyword 0x00000100 Włącza wyliczanie stanu systemu podczas końcowego uruchamiania.
AppDomainResourceManagementRundownKeyword 0x00000800 Włącza zbieranie zdarzeń na potrzeby monitorowania zasobów na poziomie używanym AppDomain z StartRundownKeyword programem lub EndRundownKeyword.
ThreadingKeyword 0x00010000 Włącza zbieranie zdarzeń puli wątków.
OverrideAndSuppressNGenEventsRundownKeyword 0x00040000 (Dostępne w .NET Framework 4.5 i nowszych). Pomija słowo kluczowe wysokiego obciążenia NGenRundownKeyword i zapobiega generowaniu zdarzeń dla metod, które znajdują się wewnątrz modułów NGen. Począwszy od .NET Framework 4.5, narzędzia profilowania powinny używać OverrideAndSuppressNGenEventsRundownKeyword i NGenRundownKeyword razem pomijać generowanie zdarzeń dla metod w modułach NGen. Dzięki temu narzędzie profilowania może używać bardziej wydajnych plików PDB NGen do uzyskiwania informacji o metodach w modułach NGen. Środowisko CLR w .NET Framework 4 i starszych wersjach nie obsługuje tworzenia plików PDB NGen. We wcześniejszych wersjach clR nie rozpozna OverrideAndSuppressNGenEventsRundownKeyword i będzie przetwarzać NGenRundownKeyword generowanie zdarzeń dla metod w modułach NGen.
PerfTrackKeyWord 0x2000000 Włącza kolekcję zdarzeń ModuleDCStart, ModuleDCEnd, ModuleRangeDCStarti ModuleRangeDCEnd .

Kombinacje słów kluczowych dla rozpoznawania symboli dostawcy środowiska uruchomieniowego

Słowa kluczowe i flagi Domena aplikacji, zestaw, zdarzenia ładowania/zwalniania modułu Zdarzenia ładowania/zwalniania metody (z wyjątkiem zdarzeń dynamicznych) Dynamiczne ładowanie/niszczenie zdarzeń metody
LoaderKeyword Ładowanie i zwalnianie zdarzeń. Brak. Brak.
JITKeyword

(+ StartEnumerationKeyword nie dodaje niczego)
Brak. Ładowanie zdarzeń. Ładowanie i zwalnianie zdarzeń.
JITKeyword +

EndEnumerationKeyword
Brak. Ładowanie i zwalnianie zdarzeń. Ładowanie i zwalnianie zdarzeń.
NGenKeyword Brak. Brak. Nie dotyczy.
NGenKeyword +

StartEnumerationKeyword
Brak. Ładowanie zdarzeń. Nie dotyczy.
NGenKeyword +

EndEnumerationKeyword
Brak. Zwalnianie zdarzeń. Nie dotyczy.

Kombinacje słów kluczowych dla rozpoznawania symboli dla dostawcy rundown

Słowa kluczowe i flagi Domena aplikacji, zestaw, zdarzenia DCStart/DCEnd modułu Zdarzenia DCStart/DCEnd metody (w tym zdarzenia metody dynamicznej)
LoaderRundownKeyword +

StartRundownKeyword
DCStart Zdarzenia. Brak.
LoaderRundownKeyword +

EndRundownKeyword
DCEnd Zdarzenia. Brak.
JITKeyword +

StartRundownKeyword
Brak. DCStart Zdarzenia.
JITKeyword +

EndRundownKeyword
Brak. DCEnd Zdarzenia.
NGenKeyword +

StartRundownKeyword
Brak. DCStart Zdarzenia.
NGenKeyword +

EndRundownKeyword
Brak. DCEnd Zdarzenia.

Poziomy zdarzeń ETW

Zdarzenia ETW można również filtrować według poziomu. Jeśli poziom jest ustawiony na 0x5, są wywoływane zdarzenia wszystkich poziomów, w tym 0x5 i poniżej (które są zdarzeniami należącymi do kategorii włączonych za pomocą słów kluczowych). Jeśli poziom jest ustawiony na 0x2, są zgłaszane tylko zdarzenia należące do poziomu 0x2 i poniżej.

Poziomy mają następujące znaczenie:

0x5 — pełne informacje

0x4 — informacyjna

0x3 — ostrzeżenie

0x2 — błąd

0x1 — krytyczne

0x0 — LogAlways

Zobacz też