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:
Kombinacje słów kluczowych do rozpoznawania symboli dostawcy środowiska uruchomieniowego
Kombinacje słów kluczowych dla rozpoznawania symboli dla dostawcy uruchamiania
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 JITKeyword NGenKeyword . |
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 , ModuleRangeDCStart i 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