ETW-gebeurtenissen voor threadpools
Deze gebeurtenissen verzamelen informatie over werkrol- en I/O-threads.
Er zijn twee groepen threadpoolgebeurtenissen:
Werkthreadgroepgebeurtenissen, die informatie bieden over hoe een toepassing gebruikmaakt van de threadgroep en het effect van workloads op gelijktijdigheidsbeheer.
I/O-threadgroepgebeurtenissen, die informatie bieden over I/O-threads die worden gemaakt, buiten gebruik gesteld, niet-opgehaald of beëindigd in de threadgroep.
Groepsgebeurtenissen voor werkthreads
Deze gebeurtenissen hebben betrekking op de werkthreadpool van de runtime en bieden meldingen voor threadgebeurtenissen (bijvoorbeeld wanneer een thread wordt gemaakt of gestopt). De werkrolthreadpool maakt gebruik van een adaptief algoritme voor gelijktijdigheidsbeheer, waarbij het aantal threads wordt berekend op basis van de gemeten doorvoer. Gebeurtenissen van werkthreadgroepen kunnen worden gebruikt om inzicht te krijgen in hoe een toepassing gebruikmaakt van de threadgroep en het effect dat bepaalde werkbelastingen kunnen hebben op gelijktijdigheidsbeheer.
ThreadPoolWorkerThreadStart en ThreadPoolWorkerThreadStop
In de volgende tabel ziet u het trefwoord en het niveau voor deze gebeurtenissen. (Zie CLR ETW-trefwoorden en -niveaus voor meer informatie.)
Trefwoord voor het verhogen van de gebeurtenis | Niveau |
---|---|
ThreadingKeyword (0x10000) |
Informatie (4) |
In de volgende tabel ziet u de gebeurtenisgegevens.
Gebeurtenis | Gebeurtenis-id | Opgeheven wanneer |
---|---|---|
ThreadPoolWorkerThreadStart |
50 | Er wordt een werkthread gemaakt. |
ThreadPoolWorkerThreadStop |
51 | Een werkthread is gestopt. |
ThreadPoolWorkerThreadRetirementStart |
52 | Een werkrolthread wordt buiten gebruik gesteld. |
ThreadPoolWorkerThreadRetirementStop |
53 | Een buiten gebruik gestelde werkrolthread wordt weer actief. |
In de volgende tabel ziet u de gebeurtenisgegevens.
Veldnaam | Gegevenstype | Beschrijving |
---|---|---|
ActiveWorkerThreadCount | win:UInt32 | Het aantal werkrolthreads dat beschikbaar is voor het verwerken van werk, inclusief de threads die al bezig zijn met het verwerken van werk. |
RetiredWorkerThreadCount | win:UInt32 | Het aantal werkrolthreads dat niet beschikbaar is voor het verwerken van werk, maar dat in reserve wordt gehouden voor het geval er later meer threads nodig zijn. |
ClrInstanceID | Win:UInt16 | Unieke id voor het exemplaar van CLR of CoreCLR. |
ThreadPoolWorkerThreadAdjustment
Deze threadgroepgebeurtenissen bieden informatie voor het begrijpen en opsporen van fouten in het gedrag van het algoritme voor threadinjectie (gelijktijdigheidsbeheer). De informatie wordt intern gebruikt door de werkthreadgroep.
ThreadPoolWorkerThreadAdjustmentSample
In de volgende tabel ziet u het trefwoord en het niveau.
Trefwoord voor het verhogen van de gebeurtenis | Niveau |
---|---|
ThreadingKeyword (0x10000) |
Informatie (4) |
In de volgende tabel ziet u de gebeurtenisgegevens.
Gebeurtenis | Gebeurtenis-id | Beschrijving |
---|---|---|
ThreadPoolWorkerThreadAdjustmentSample |
54 | Verwijst naar het verzamelen van informatie voor één steekproef; dat wil gezegd, een meting van de doorvoer met een bepaald gelijktijdigheidsniveau, in een ogenblik. |
In de volgende tabel ziet u de gebeurtenisgegevens.
Veldnaam | Gegevenstype | Beschrijving |
---|---|---|
Doorvoer | win:Double | Aantal voltooiingen per tijdseenheid. |
ClrInstanceID | Win:UInt16 | Unieke id voor het exemplaar van CLR of CoreCLR. |
ThreadPoolWorkerThreadAdjustmentAdjustmentAdjustment
In de volgende tabel ziet u het trefwoord en het niveau.
Trefwoord voor het verhogen van de gebeurtenis | Niveau |
---|---|
ThreadingKeyword (0x10000) |
Informatie (4) |
In de volgende tabel ziet u de gebeurtenisgegevens.
Gebeurtenis | Gebeurtenis-id | Beschrijving |
---|---|---|
ThreadPoolWorkerThreadAdjustmentAdjustment |
55 | Registreert een wijziging in de controle, wanneer het algoritme voor threadinjectie (hill-climbing) bepaalt dat er een wijziging in het gelijktijdigheidsniveau aanwezig is. |
In de volgende tabel ziet u de gebeurtenisgegevens.
Veldnaam | Gegevenstype | Beschrijving |
---|---|---|
AverageThroughput | win:Double | Gemiddelde doorvoer van een steekproef van metingen. |
NewWorkerThreadCount | win:UInt32 | Nieuw aantal actieve werkrolthreads. |
Reden | win:UInt32 | Reden voor de aanpassing. 0x00 - Warmup. 0x01: initialiseren. 0x02: willekeurige verplaatsing. 0x03 - Klimverplaatsing. 0x04 - Wijzigingspunt. 0x05 - Stabiliseren. 0x06 - Honger. 0x07: er is een time-out opgetreden voor de thread. |
ClrInstanceID | Win:UInt16 | Unieke id voor het clr- of CoreCLR-exemplaar. |
ThreadPoolWorkerThreadAdjustmentStats
In de volgende tabel ziet u het trefwoord en het niveau.
Trefwoord voor het genereren van de gebeurtenis | Niveau |
---|---|
ThreadingKeyword (0x10000) |
Informatie (4) |
In de volgende tabel ziet u de gebeurtenisgegevens.
Gebeurtenis | Gebeurtenis-id | Beschrijving |
---|---|---|
ThreadPoolWorkerThreadAdjustmentStats |
56 | Verzamelt gegevens over de threadpool. |
In de volgende tabel ziet u de gebeurtenisgegevens.
Veldnaam | Gegevenstype | Beschrijving |
---|---|---|
Duur | win:Double | De hoeveelheid tijd, in seconden, waarin deze statistieken zijn verzameld. |
Doorvoer | win:Double | Gemiddeld aantal voltooiingen per seconde tijdens dit interval. |
ThreadWave | win:Double | Gereserveerd voor intern gebruik. |
ThroughputWave | win:Double | Gereserveerd voor intern gebruik. |
ThroughputErrorEstimate | win:Double | Gereserveerd voor intern gebruik. |
AverageThroughputErrorEstimate | win:Double | Gereserveerd voor intern gebruik. |
ThroughputRatio | win:Double | De relatieve verbetering in doorvoer veroorzaakt door variaties in het aantal actieve werkthreads tijdens dit interval. |
Betrouwbaarheid | win:Double | Een meting van de geldigheid van het veld ThroughputRatio. |
NewcontrolSetting | win:Double | Het aantal actieve werkthreads dat als basislijn zal dienen voor toekomstige variaties in het aantal actieve threads. |
NewThreadWaveMagnitude | Win:UInt16 | De omvang van toekomstige variaties in het aantal actieve threads. |
ClrInstanceID | Win:UInt16 | Unieke id voor het clr- of CoreCLR-exemplaar. |
I/O-thread-gebeurtenissen
Deze threadgroepgebeurtenissen vinden plaats voor threads in de I/O-threadgroep (voltooiingspoorten), die asynchroon is.
IOThreadCreate_V1
In de volgende tabel ziet u het trefwoord en het niveau.
Trefwoord voor het genereren van de gebeurtenis | Niveau |
---|---|
ThreadingKeyword (0x10000) |
Informatie (4) |
In de volgende tabel ziet u de gebeurtenisgegevens.
Gebeurtenis | Gebeurtenis-id | Opgeheven wanneer |
---|---|---|
IOThreadCreate_V1 |
44 | Er wordt een I/O-thread gemaakt in de threadgroep. |
In de volgende tabel ziet u de gebeurtenisgegevens.
Veldnaam | Gegevenstype | Beschrijving |
---|---|---|
Count | win:UInt64 | Aantal I/O-threads, inclusief de zojuist gemaakte thread. |
NumRetired | win:UInt64 | Aantal buiten gebruik gestelde werkrolthreads. |
ClrInstanceID | Win:UInt16 | Unieke id voor het clr- of CoreCLR-exemplaar. |
IOThreadRetire_V1
In de volgende tabel ziet u het trefwoord en het niveau.
Trefwoord voor het genereren van de gebeurtenis | Niveau |
---|---|
ThreadingKeyword (0x10000) |
Informatie (4) |
In de volgende tabel ziet u de gebeurtenisgegevens.
Gebeurtenis | Gebeurtenis-id | Opgeheven wanneer |
---|---|---|
IOThreadRetire_V1 |
46 | Een I/O-thread wordt een kandidaat voor buitengebruikstelling. |
In de volgende tabel ziet u de gebeurtenisgegevens.
Veldnaam | Gegevenstype | Beschrijving |
---|---|---|
Count | win:UInt64 | Het resterende aantal I/O-threads in de threadgroep. |
NumRetired | win:UInt64 | Aantal buiten gebruik gestelde I/O-threads. |
ClrInstanceID | Win:UInt16 | Unieke id voor het clr- of CoreCLR-exemplaar. |
IOThreadUnretire_V1
In de volgende tabel ziet u het trefwoord en het niveau.
Trefwoord voor het genereren van de gebeurtenis | Niveau |
---|---|
ThreadingKeyword (0x10000) |
Informatie (4) |
In de volgende tabel ziet u de gebeurtenisgegevens.
Gebeurtenis | Gebeurtenis-id | Opgeheven wanneer |
---|---|---|
IOThreadUnretire_V1 |
47 | Een I/O-thread wordt niet afgetrokken vanwege I/O die binnen een wachttijd binnenkomt nadat de thread een kandidaat voor buitengebruikstelling is. |
In de volgende tabel ziet u de gebeurtenisgegevens.
Veldnaam | Gegevenstype | Beschrijving |
---|---|---|
Count | win:UInt64 | Het aantal I/O-threads in de threadgroep, inclusief deze. |
NumRetired | win:UInt64 | Aantal buiten gebruik gestelde I/O-threads. |
ClrInstanceID | Win:UInt16 | Unieke id voor het clr- of CoreCLR-exemplaar. |
IOThreadTerminate
In de volgende tabel ziet u het trefwoord en het niveau.
Trefwoord voor het genereren van de gebeurtenis | Niveau |
---|---|
ThreadingKeyword (0x10000) |
Informatie (4) |
In de volgende tabel ziet u de gebeurtenisgegevens.
Gebeurtenis | Gebeurtenis-id | Opgeheven wanneer |
---|---|---|
IOThreadTerminate |
45 | Een I/O-thread wordt beëindigd in de threadgroep. |
In de volgende tabel ziet u de gebeurtenisgegevens.
Veldnaam | Gegevenstype | Beschrijving |
---|---|---|
Count | win:UInt64 | Het resterende aantal I/O-threads in de threadgroep. |
NumRetired | win:UInt64 | Aantal buiten gebruik gestelde I/O-threads. |
ClrInstanceID | Win:UInt16 | Unieke id voor het clr- of CoreCLR-exemplaar. |