Delen via


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.

Zie ook