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