Partager via


Événements ETW de pool de threads

Ces événements collectent des informations sur les threads de travail et d'E/S.

Il existe deux groupes d'événements de pool de threads :

événements du pool de threads de travail

Ces événements sont liés au pool de threads de travail du runtime et fournissent des notifications pour les événements de thread (par exemple, quand un thread est créé ou arrêté). Le pool de threads de travail utilise un algorithme flexible pour le contrôle d’accès concurrentiel, où le nombre de threads est calculé en fonction du débit mesuré. Les événements du pool de threads de travail peuvent être utilisés pour comprendre comment une application utilise le pool de threads et l'effet que certaines charges de travail peuvent avoir sur le contrôle d'accès concurrentiel.

ThreadPoolWorkerThreadStart et ThreadPoolWorkerThreadStop

Le tableau ci-dessous indique le mot clé et le niveau de ces événements. (Pour plus d'informations, consultez CLR ETW Keywords and Levels.)

Mot clé pour déclencher l'événement Level
ThreadingKeyword (0x10000) Informatif (4)

Le tableau ci-dessous montre les informations liées aux événements.

Événement ID de l’événement Moment du déclenchement
ThreadPoolWorkerThreadStart 50 Un thread de travail est créé.
ThreadPoolWorkerThreadStop 51 Un thread de travail est arrêté.
ThreadPoolWorkerThreadRetirementStart 52 Un thread de travail est retiré.
ThreadPoolWorkerThreadRetirementStop 53 Un thread de travail retiré redevient actif.

Le tableau ci-dessous montre les données liées aux événements.

Nom du champ Type de données Description
ActiveWorkerThreadCount win:UInt32 Nombre de threads de travail disponibles pour traiter le travail, y compris ceux qui sont déjà en cours d’utilisation.
RetiredWorkerThreadCount win:UInt32 Nombre de threads de travail qui ne sont pas disponibles pour traiter le travail, mais qui sont gardés en réserve au cas où des threads supplémentaires seraient requis ultérieurement.
ClrInstanceID Win:UInt16 ID unique de l'instance de CLR ou CoreCLR.

ThreadPoolWorkerThreadAdjustment

Ces événements de pool de threads fournissent des informations permettant de comprendre et de déboguer le comportement de l'algorithme d'injection de thread (contrôle d'accès concurrentiel). Ces informations sont utilisées en interne par le pool de threads de travail.

ThreadPoolWorkerThreadAdjustmentSample

Le tableau suivant montre les mots clés et les niveaux.

Mot clé pour déclencher l'événement Level
ThreadingKeyword (0x10000) Informatif (4)

Le tableau ci-dessous montre les informations liées aux événements.

Événement ID de l’événement Description
ThreadPoolWorkerThreadAdjustmentSample 54 Fait référence à la collecte d'informations pour un exemple. Autrement dit, une mesure de débit avec un certain niveau d’accès concurrentiel à un instant donné.

Le tableau ci-dessous montre les données liées aux événements.

Nom du champ Type de données Description
Débit win:Double Nombre d'achèvements par unité de temps
ClrInstanceID Win:UInt16 ID unique de l'instance de CLR ou CoreCLR.

ThreadPoolWorkerThreadAdjustmentAdjustment

Le tableau suivant montre les mots clés et les niveaux.

Mot clé pour déclencher l'événement Level
ThreadingKeyword (0x10000) Informatif (4)

Le tableau ci-dessous montre les informations liées aux événements.

Événement ID de l’événement Description
ThreadPoolWorkerThreadAdjustmentAdjustment 55 Enregistre une modification dans le contrôle, quand l'algorithme d'injection de thread (hill-climbing) détermine qu'une modification du niveau d'accès concurrentiel a eu lieu.

Le tableau ci-dessous montre les données liées aux événements.

Nom du champ Type de données Description
AverageThroughput win:Double Débit moyen d'un échantillon de mesures
NewWorkerThreadCount win:UInt32 Nouveau nombre de threads de travail actifs
Motif win:UInt32 Raison de l'ajustement

0x00 – Préchauffage

0x01 – Initialisation

0x02 – Déplacement aléatoire

0x03 – Déplacement vers le haut

0x04 – Point de changement

0x05 – Stabilisation

0x06 – Privation

0x07 – Thread expiré
ClrInstanceID Win:UInt16 ID unique de l'instance de CLR ou CoreCLR.

ThreadPoolWorkerThreadAdjustmentStats

Le tableau suivant montre les mots clés et les niveaux.

Mot clé pour déclencher l'événement Level
ThreadingKeyword (0x10000) Informatif (4)

Le tableau ci-dessous montre les informations liées aux événements.

Événement ID de l’événement Description
ThreadPoolWorkerThreadAdjustmentStats 56 Rassemble des données sur le pool de threads.

Le tableau ci-dessous montre les données liées aux événements.

Nom du champ Type de données Description
Duration win:Double Durée, en secondes, pendant laquelle ces statistiques ont été collectées.
Débit win:Double Nombre moyen d'achèvements par seconde au cours de cet intervalle.
ThreadWave win:Double Réservé à un usage interne.
ThroughputWave win:Double Réservé à un usage interne.
ThroughputErrorEstimate win:Double Réservé à un usage interne.
AverageThroughputErrorEstimate win:Double Réservé à un usage interne.
ThroughputRatio win:Double Amélioration relative du débit provoquée par les variations du nombre de threads de travail actifs au cours de cet intervalle.
Confiance win:Double Mesure de la validité du champ ThroughputRatio.
NewcontrolSetting win:Double Nombre de threads de travail actifs qui servira de référence pour les futures variations du nombre de threads actifs.
NewThreadWaveMagnitude Win:UInt16 Importance des futures variations du nombre de threads actifs.
ClrInstanceID Win:UInt16 ID unique de l'instance de CLR ou CoreCLR.

Événements de thread d'E/S

Ces événements de pool de threads se produisent pour les threads du pool de threads d'E/S (ports de terminaison), qui est asynchrone.

IOThreadCreate_V1

Le tableau suivant montre les mots clés et les niveaux.

Mot clé pour déclencher l'événement Level
ThreadingKeyword (0x10000) Informatif (4)

Le tableau ci-dessous montre les informations liées aux événements.

Événement ID de l’événement Moment du déclenchement
IOThreadCreate_V1 44 Un thread d'E/S est créé dans le pool de threads.

Le tableau ci-dessous montre les données liées aux événements.

Nom du champ Type de données Description
Count win:UInt64 Nombre de threads d'E/S, y compris le nouveau thread.
NumRetired win:UInt64 Nombre de threads de travail retirés
ClrInstanceID Win:UInt16 ID unique de l'instance de CLR ou CoreCLR.

IOThreadRetire_V1

Le tableau suivant montre les mots clés et les niveaux.

Mot clé pour déclencher l'événement Level
ThreadingKeyword (0x10000) Informatif (4)

Le tableau ci-dessous montre les informations liées aux événements.

Événement ID de l’événement Moment du déclenchement
IOThreadRetire_V1 46 Un thread d'E/S devient candidat au retrait.

Le tableau ci-dessous montre les données liées aux événements.

Nom du champ Type de données Description
Count win:UInt64 Nombre de threads d'E/S restant dans le pool de threads
NumRetired win:UInt64 Nombre de threads d'E/S retirés
ClrInstanceID Win:UInt16 ID unique de l'instance de CLR ou CoreCLR.

IOThreadUnretire_V1

Le tableau suivant montre les mots clés et les niveaux.

Mot clé pour déclencher l'événement Level
ThreadingKeyword (0x10000) Informatif (4)

Le tableau ci-dessous montre les informations liées aux événements.

Événement ID de l’événement Moment du déclenchement
IOThreadUnretire_V1 47 Le retrait d’un thread d'E/S est annulé en raison d'une E/S qui se produit au cours d’une période d'attente après que le thread est devenu un candidat au retrait.

Le tableau ci-dessous montre les données liées aux événements.

Nom du champ Type de données Description
Count win:UInt64 Nombre de threads d'E/S dans le pool de threads, y compris celui-ci
NumRetired win:UInt64 Nombre de threads d'E/S retirés
ClrInstanceID Win:UInt16 ID unique de l'instance de CLR ou CoreCLR.

IOThreadTerminate

Le tableau suivant montre les mots clés et les niveaux.

Mot clé pour déclencher l'événement Level
ThreadingKeyword (0x10000) Informatif (4)

Le tableau ci-dessous montre les informations liées aux événements.

Événement ID de l’événement Moment du déclenchement
IOThreadTerminate 45 Un thread d’E/S est terminé dans le pool de threads.

Le tableau ci-dessous montre les données liées aux événements.

Nom du champ Type de données Description
Count win:UInt64 Nombre de threads d'E/S restant dans le pool de threads
NumRetired win:UInt64 Nombre de threads d'E/S retirés
ClrInstanceID Win:UInt16 ID unique de l'instance de CLR ou CoreCLR.

Voir aussi