ETW-Threadpoolereignisse

In diesen Ereignissen werden Informationen zu Arbeits- und E/A-Threads erfasst.

Die Threadpoolereignisse werden in zwei Gruppen eingeteilt:

  • Arbeitsthreadpool-Ereignisse, die Informationen zur Verwendung des Threadpools durch eine Anwendung und zur Auswirkung von Arbeitslasten auf die Parallelitätssteuerung bereitstellen.

  • E/A-Threadpool-Ereignisse, die Informationen zu E/A-Threads bereitstellen, die im Threadpool erstellt, zurückgezogen oder beendet werden oder deren Zurückziehung aufgehoben wird.

Arbeitsthreadpool-Ereignisse

Diese Ereignisse beziehen sich auf den Arbeitsthread der Laufzeit und enthalten Benachrichtigungen für Threadereignisse (z. B. wann ein Thread erstellt oder beendet wird). Der Arbeitsthreadpool verwendet einen adaptiven Algorithmus für Parallelitätssteuerung, wobei die Anzahl der Threads auf Grundlage des gemessenen Durchsatzes berechnet wird. Arbeitsthreadpool-Ereignisse können verwendet werden, um die Verwendung des Threadpools durch die Anwendung und die Auswirkungen nachzuvollziehen, die bestimmte Arbeitslasten auf das Verhalten der Parallelitätssteuerung haben können.

ThreadPoolWorkerThreadStart und ThreadPoolWorkerThreadStop

Die folgende Tabelle zeigt das Schlüsselwort und die Ebene für diese Ereignisse. (Weitere Informationen finden Sie unter CLR-ETW-Schlüsselwörter und -Ebenen.)

Schlüsselwort zum Auslösen des Ereignisses

Ebene

ThreadingKeyword (0x10000)

Informationen (4)

Die folgende Tabelle zeigt die Ereignisinformationen.

Ereignis

Ereignis-ID

Auslöser

ThreadPoolWorkerThreadStart

50

Ein Arbeitsthread wird erstellt.

ThreadPoolWorkerThreadStop

51

Ein Arbeitsthread wird angehalten.

ThreadPoolWorkerThreadRetirementStart

52

Ein Arbeitsthread wird deaktiviert.

ThreadPoolWorkerThreadRetirementStop

53

Ein deaktivierter Arbeitsthread wird wieder aktiv.

Die folgende Tabelle zeigt die Ereignisdaten.

Feldname

Datentyp

Beschreibung

ActiveWorkerThreadCount

win:UInt32

Anzahl von Arbeitsthreads, die für die Verarbeitung von Arbeitsvorgängen verfügbar sind, einschließlich der Threads, von denen bereits Arbeitsvorgänge verarbeitet werden.

RetiredWorkerThreadCount

win:UInt32

Anzahl der Arbeitsthreads, die nicht für das Verarbeiten von Arbeitsvorgängen verfügbar sind, jedoch reserviert werden, falls später weitere Threads benötigt werden.

ClrInstanceID

Win:UInt16

Eindeutige ID für die Instanz von CLR oder CoreCLR.

ThreadPoolWorkerThreadAdjustment

Diese Threadpoolereignisse enthalten Informationen zum Verstehen und Debuggen des Verhaltens des Algorithmus für Threadeinfügung (Parallelitätssteuerung). Die Informationen werden intern vom Arbeitsthreadpool verwendet.

ThreadPoolWorkerThreadAdjustmentSample

Die folgende Tabelle zeigt das Schlüsselwort und die Ebene.

Schlüsselwort zum Auslösen des Ereignisses

Ebene

ThreadingKeyword (0x10000)

Informationen (4)

Die folgende Tabelle zeigt die Ereignisinformationen.

Ereignis

Ereignis-ID

Beschreibung

ThreadPoolWorkerThreadAdjustmentSample

54

Bezieht sich auf das Sammeln von Informationen für ein Beispiel; das heißt, eine Durchsatzmessung mit einer bestimmten Parallelitätsebene innerhalb eines Moments.

Die folgende Tabelle zeigt die Ereignisdaten.

Feldname

Datentyp

Beschreibung

Durchsatz

win:Double

Anzahl von Abschlüssen pro Zeiteinheit.

ClrInstanceID

Win:UInt16

Eindeutige ID für die Instanz von CLR oder CoreCLR.

ThreadPoolWorkerThreadAdjustmentAdjustment

Die folgende Tabelle zeigt das Schlüsselwort und die Ebene.

Schlüsselwort zum Auslösen des Ereignisses

Ebene

ThreadingKeyword (0x10000)

Informationen (4)

Die folgende Tabelle zeigt die Ereignisinformationen.

Ereignis

Ereignis-ID

Beschreibung

ThreadPoolWorkerThreadAdjustmentAdjustment

55

Zeichnet eine Änderung im Steuerelement auf, wenn durch den Threadeinfügungsalgorithmus (Hill-Climbing) bestimmt wird, dass eine Änderung in der Parallelitätsebene vorgenommen wurde.

Die folgende Tabelle zeigt die Ereignisdaten.

Feldname

Datentyp

Beschreibung

AverageThroughput

win:Double

Durchschnittlicher Durchsatz eines Beispiels für Messungen.

NewWorkerThreadCount

win:UInt32

Neue Anzahl aktiver Arbeitsthreads.

Grund

win:UInt32

Grund für die Anpassung.

0x00 – Vorbereitung.

0x01 – Initialisierung.

0x02 – Zufällige Verschiebung.

0x03 – Verschiebung nach oben.

0x04 – Änderungspunkt.

0x05 – Stabilisierung.

0x06 – Ressourcenmangel.

0x07 – Thread-Timeout.

ClrInstanceID

Win:UInt16

Eindeutige ID für die Instanz von CLR oder CoreCLR.

ThreadPoolWorkerThreadAdjustmentStats

Die folgende Tabelle zeigt das Schlüsselwort und die Ebene.

Schlüsselwort zum Auslösen des Ereignisses

Ebene

ThreadingKeyword (0x10000)

Informationen (4)

Die folgende Tabelle zeigt die Ereignisinformationen.

Ereignis

Ereignis-ID

Beschreibung

ThreadPoolWorkerThreadAdjustmentStats

56

Sammelt Daten im Threadpool.

Die folgende Tabelle zeigt die Ereignisdaten.

Feldname

Datentyp

Beschreibung

Dauer

win:Double

Dauer in Sekunden, während der diese statistischen Daten gesammelt wurden.

Durchsatz

win:Double

Durchschnittliche Anzahl von Abschlüssen pro Sekunde während dieses Intervalls.

ThreadWave

win:Double

Für die interne Verwendung vorgesehen.

ThroughputWave

win:Double

Für die interne Verwendung vorgesehen.

ThroughputErrorEstimate

win:Double

Für die interne Verwendung vorgesehen.

AverageThroughputErrorEstimate

win:Double

Für die interne Verwendung vorgesehen.

ThroughputRatio

win:Double

Die relative Verbesserung beim Durchsatz, die durch Abweichungen bei der aktiven Arbeitsthreadanzahl während dieses Intervalls erzielt wurde.

Vertrauen

win:Double

Eine Ermittlung der Gültigkeit des ThroughputRatio-Felds.

NewcontrolSetting

win:Double

Die Anzahl von aktiven Arbeitsthreads, die als Basislinie für zukünftige Abweichungen bei der Anzahl der aktiven Threads dienen.

NewThreadWaveMagnitude

Win:UInt16

Das Ausmaß künftiger Abweichungen bei der Anzahl aktiver Threads.

ClrInstanceID

Win:UInt16

Eindeutige ID für die Instanz von CLR oder CoreCLR.

Zurück nach oben

E/A-Threadereignisse

Diese Threadpoolereignisse treten für Threads im E/A-Threadpool auf (Abschlussanschlüsse), der asynchron ist.

IOThreadCreate_V1

Die folgende Tabelle zeigt das Schlüsselwort und die Ebene.

Schlüsselwort zum Auslösen des Ereignisses

Ebene

ThreadingKeyword (0x10000)

Informationen (4)

Die folgende Tabelle zeigt die Ereignisinformationen.

Ereignis

Ereignis-ID

Auslöser

IOThreadCreate_V1

44

Ein E/A-Thread wird im Threadpool erstellt.

Die folgende Tabelle zeigt die Ereignisdaten.

Feldname

Datentyp

Beschreibung

Count

win:UInt64

Anzahl von E/A-Threads, einschließlich des neu erstellten Threads.

NumRetired

win:UInt64

Anzahl deaktivierter Arbeitsthreads.

ClrInstanceID

Win:UInt16

Eindeutige ID für die Instanz von CLR oder CoreCLR.

IOThreadRetire_V1

Die folgende Tabelle zeigt das Schlüsselwort und die Ebene.

Schlüsselwort zum Auslösen des Ereignisses

Ebene

ThreadingKeyword (0x10000)

Informationen (4)

Die folgende Tabelle zeigt die Ereignisinformationen.

Ereignis

Ereignis-ID

Auslöser

IOThreadRetire_V1

46

Ein E/A-Thread soll zurückgezogen werden.

Die folgende Tabelle zeigt die Ereignisdaten.

Feldname

Datentyp

Beschreibung

Count

win:UInt64

Anzahl der E/A-Threads, die im Threadpool verbleiben.

NumRetired

win:UInt64

Anzahl der deaktivierten E/A-Threads.

ClrInstanceID

Win:UInt16

Eindeutige ID für die Instanz von CLR oder CoreCLR.

IOThreadUnretire_V1

Die folgende Tabelle zeigt das Schlüsselwort und die Ebene.

Schlüsselwort zum Auslösen des Ereignisses

Ebene

ThreadingKeyword (0x10000)

Informationen (4)

Die folgende Tabelle zeigt die Ereignisinformationen.

Ereignis

Ereignis-ID

Auslöser

IOThreadUnretire_V1

47

Die Zurückziehung eines E/A-Threads wird aufgehoben, da E/A innerhalb einer Wartezeit eintrifft, nachdem der Thread zur Zurückziehung vorgesehen wurde.

Die folgende Tabelle zeigt die Ereignisdaten.

Feldname

Datentyp

Beschreibung

Count

win:UInt64

Anzahl der E/A-Threads im Threadpool (einschließlich dieses Threads).

NumRetired

win:UInt64

Anzahl der deaktivierten E/A-Threads.

ClrInstanceID

Win:UInt16

Eindeutige ID für die Instanz von CLR oder CoreCLR.

IOThreadTerminate

Die folgende Tabelle zeigt das Schlüsselwort und die Ebene.

Schlüsselwort zum Auslösen des Ereignisses

Ebene

ThreadingKeyword (0x10000)

Informationen (4)

Die folgende Tabelle zeigt die Ereignisinformationen.

Ereignis

Ereignis-ID

Auslöser

IOThreadTerminate

45

Ein E/A-Thread wird im Threadpool erstellt.

Die folgende Tabelle zeigt die Ereignisdaten.

Feldname

Datentyp

Beschreibung

Count

win:UInt64

Anzahl der E/A-Threads, die im Threadpool verbleiben.

NumRetired

win:UInt64

Anzahl der deaktivierten E/A-Threads.

ClrInstanceID

Win:UInt16

Eindeutige ID für die Instanz von CLR oder CoreCLR.

Zurück nach oben

Siehe auch

Konzepte

CLR-ETW-Ereignisse