Udostępnij za pośrednictwem


Zdarzenia ETW puli wątków

Te zdarzenia zbierają informacje o wątkach procesu roboczego i we/wy.

Istnieją dwie grupy zdarzeń puli wątków:

  • Zdarzenia puli wątków roboczych, które zawierają informacje o sposobie korzystania przez aplikację z puli wątków oraz wpływ obciążeń na kontrolę współbieżności.

  • Zdarzenia puli wątków we/wy, które zawierają informacje o wątkach we/wy, które są tworzone, wycofywane, nieretirowane lub przerywane w puli wątków.

Zdarzenia puli wątków roboczych

Te zdarzenia odnoszą się do puli wątków procesu roboczego środowiska uruchomieniowego i dostarczają powiadomienia o zdarzeniach wątków (na przykład po utworzeniu lub zatrzymaniu wątku). Pula wątków roboczych używa algorytmu adaptacyjnego do sterowania współbieżnością, gdzie liczba wątków jest obliczana na podstawie mierzonej przepływności. Zdarzenia puli wątków roboczych mogą służyć do zrozumienia sposobu używania puli wątków przez aplikację oraz wpływu, jaki niektóre obciążenia mogą mieć na kontrolę współbieżności.

ThreadPoolWorkerThreadStart i ThreadPoolWorkerThreadStop

W poniższej tabeli przedstawiono słowo kluczowe i poziom dla tych zdarzeń. (Aby uzyskać więcej informacji, zobacz CLR ETW Keywords and Levels(Słowa kluczowe i poziomy CLR ETW).

Słowo kluczowe do zgłaszania zdarzenia Poziom
ThreadingKeyword (0x10000) Informacyjne (4)

W poniższej tabeli przedstawiono informacje o zdarzeniu.

Zdarzenie Identyfikator zdarzenia Podniesione, gdy
ThreadPoolWorkerThreadStart 50 Zostanie utworzony wątek procesu roboczego.
ThreadPoolWorkerThreadStop 51 Wątek procesu roboczego jest zatrzymywany.
ThreadPoolWorkerThreadRetirementStart 52 Wątek procesu roboczego jest wycofyty.
ThreadPoolWorkerThreadRetirementStop 53 Wątek emerytowanego procesu roboczego ponownie staje się aktywny.

W poniższej tabeli przedstawiono dane zdarzenia.

Nazwa pola Typ danych Opis
ActiveWorkerThreadCount win:UInt32 Liczba wątków roboczych dostępnych do przetwarzania pracy, w tym tych, które już przetwarzają pracę.
RetiredWorkerThreadCount win:UInt32 Liczba wątków roboczych, które nie są dostępne do przetwarzania pracy, ale które są przechowywane w rezerwie w przypadku, gdy więcej wątków będzie potrzebnych później.
Identyfikator ClrInstanceID Win:UInt16 Unikatowy identyfikator wystąpienia środowiska CLR lub CoreCLR.

ThreadPoolWorkerThreadAdjustment

Te zdarzenia puli wątków zawierają informacje na temat zrozumienia i debugowania zachowania algorytmu iniekcji wątku (sterowania współbieżnością). Informacje są używane wewnętrznie przez pulę wątków roboczych.

ThreadPoolWorkerThreadAdjustmentSample

W poniższej tabeli przedstawiono słowo kluczowe i poziom.

Słowo kluczowe do zgłaszania zdarzenia Poziom
ThreadingKeyword (0x10000) Informacyjne (4)

W poniższej tabeli przedstawiono informacje o zdarzeniu.

Zdarzenie Identyfikator zdarzenia Opis
ThreadPoolWorkerThreadAdjustmentSample 54 Odnosi się do zbierania informacji dla jednej próbki; oznacza to, że pomiar przepływności z określonym poziomem współbieżności w czasie.

W poniższej tabeli przedstawiono dane zdarzenia.

Nazwa pola Typ danych Opis
Przepływność win:Double Liczba uzupełnień na jednostkę czasu.
Identyfikator ClrInstanceID Win:UInt16 Unikatowy identyfikator wystąpienia środowiska CLR lub CoreCLR.

ThreadPoolWorkerThreadAdjustmentAdjustment

W poniższej tabeli przedstawiono słowo kluczowe i poziom.

Słowo kluczowe do zgłaszania zdarzenia Poziom
ThreadingKeyword (0x10000) Informacyjne (4)

W poniższej tabeli przedstawiono informacje o zdarzeniu.

Zdarzenie Identyfikator zdarzenia Opis
ThreadPoolWorkerThreadAdjustmentAdjustment 55 Rejestruje zmianę w kontrolce, gdy algorytm iniekcji wątku (wspinaczka górska) określa, że nastąpiła zmiana poziomu współbieżności.

W poniższej tabeli przedstawiono dane zdarzenia.

Nazwa pola Typ danych Opis
AverageThroughput win:Double Średnia przepływność próbki pomiarów.
NewWorkerThreadCount win:UInt32 Nowa liczba aktywnych wątków roboczych.
Przyczyna win:UInt32 Przyczyna korekty.

0x00 - Rozgrzewka.

0x01 — inicjowanie.

0x02 — ruch losowy.

0x03 - Ruch wspinaczkowy.

0x04 — punkt zmiany.

0x05 - Stabilizacja.

0x06 — Głodowanie.

0x07 — upłynął limit czasu wątku.
ClrInstanceID Win:UInt16 Unikatowy identyfikator wystąpienia środowiska CLR lub CoreCLR.

ThreadPoolWorkerThreadAdjustmentStats

W poniższej tabeli przedstawiono słowo kluczowe i poziom.

Słowo kluczowe do zgłaszania zdarzenia Poziom
ThreadingKeyword (0x10000) Informacje (4)

W poniższej tabeli przedstawiono informacje o zdarzeniu.

Zdarzenie Identyfikator zdarzenia Opis
ThreadPoolWorkerThreadAdjustmentStats 56 Zbiera dane w puli wątków.

W poniższej tabeli przedstawiono dane zdarzenia.

Nazwa pola Typ danych Opis
Czas trwania win:Double Ilość czasu( w sekundach), podczas których te statystyki zostały zebrane.
Przepływność win:Double Średnia liczba uzupełniania na sekundę w tym interwale.
ThreadWave win:Double Zarezerwowane do użytku wewnętrznego.
PrzepływnośćWave win:Double Zarezerwowane do użytku wewnętrznego.
PrzepływnośćErrorEstimate win:Double Zarezerwowane do użytku wewnętrznego.
AverageThroughputErrorEstimate win:Double Zarezerwowane do użytku wewnętrznego.
PrzepływnośćRatio win:Double Względna poprawa przepływności spowodowana przez zmiany liczby aktywnych wątków roboczych w tym interwale.
Ufność win:Double Miara ważności pola PrzepływnośćRatio.
NewcontrolSetting win:Double Liczba aktywnych wątków roboczych, które będą służyć jako punkt odniesienia dla przyszłych odmian liczby aktywnych wątków.
NewThreadWaveMagnitude Win:UInt16 Wielkość przyszłych zmian liczby aktywnych wątków.
ClrInstanceID Win:UInt16 Unikatowy identyfikator wystąpienia środowiska CLR lub CoreCLR.

Zdarzenia wątków we/wy

Te zdarzenia puli wątków są wykonywane dla wątków w puli wątków we/wy (porty uzupełniania), które są asynchroniczne.

IOThreadCreate_V1

W poniższej tabeli przedstawiono słowo kluczowe i poziom.

Słowo kluczowe do zgłaszania zdarzenia Poziom
ThreadingKeyword (0x10000) Informacje (4)

W poniższej tabeli przedstawiono informacje o zdarzeniu.

Zdarzenie Identyfikator zdarzenia Podniesione, gdy
IOThreadCreate_V1 44 W puli wątków jest tworzony wątek we/wy.

W poniższej tabeli przedstawiono dane zdarzenia.

Nazwa pola Typ danych Opis
Liczba win:UInt64 Liczba wątków we/wy, w tym nowo utworzony wątek.
NumRetired win:UInt64 Liczba wycofanych wątków roboczych.
ClrInstanceID Win:UInt16 Unikatowy identyfikator wystąpienia środowiska CLR lub CoreCLR.

IOThreadRetire_V1

W poniższej tabeli przedstawiono słowo kluczowe i poziom.

Słowo kluczowe do zgłaszania zdarzenia Poziom
ThreadingKeyword (0x10000) Informacje (4)

W poniższej tabeli przedstawiono informacje o zdarzeniu.

Zdarzenie Identyfikator zdarzenia Podniesione, gdy
IOThreadRetire_V1 46 Wątek we/wy staje się kandydatem na emeryturę.

W poniższej tabeli przedstawiono dane zdarzenia.

Nazwa pola Typ danych Opis
Liczba win:UInt64 Liczba wątków we/wy pozostałych w puli wątków.
NumRetired win:UInt64 Liczba wycofanych wątków we/wy.
ClrInstanceID Win:UInt16 Unikatowy identyfikator wystąpienia środowiska CLR lub CoreCLR.

IOThreadUnretire_V1

W poniższej tabeli przedstawiono słowo kluczowe i poziom.

Słowo kluczowe do zgłaszania zdarzenia Poziom
ThreadingKeyword (0x10000) Informacje (4)

W poniższej tabeli przedstawiono informacje o zdarzeniu.

Zdarzenie Identyfikator zdarzenia Podniesione, gdy
IOThreadUnretire_V1 47 Wątek we/wy nie jest ponawiany z powodu operacji we/wy, które docierają w okresie oczekiwania po tym, jak wątek staje się kandydatem na emeryturę.

W poniższej tabeli przedstawiono dane zdarzenia.

Nazwa pola Typ danych Opis
Liczba win:UInt64 Liczba wątków we/wy w puli wątków, w tym tej.
NumRetired win:UInt64 Liczba wycofanych wątków we/wy.
ClrInstanceID Win:UInt16 Unikatowy identyfikator wystąpienia środowiska CLR lub CoreCLR.

IOThreadTerminate

W poniższej tabeli przedstawiono słowo kluczowe i poziom.

Słowo kluczowe do zgłaszania zdarzenia Poziom
ThreadingKeyword (0x10000) Informacje (4)

W poniższej tabeli przedstawiono informacje o zdarzeniu.

Zdarzenie Identyfikator zdarzenia Podniesione, gdy
IOThreadTerminate 45 Wątek we/wy jest przerywany w puli wątków.

W poniższej tabeli przedstawiono dane zdarzenia.

Nazwa pola Typ danych Opis
Liczba win:UInt64 Liczba wątków we/wy pozostałych w puli wątków.
NumRetired win:UInt64 Liczba wycofanych wątków we/wy.
ClrInstanceID Win:UInt16 Unikatowy identyfikator wystąpienia środowiska CLR lub CoreCLR.

Zobacz też