Eventos ETW de grupo de subprocesos

Estos eventos recopilan información sobre los subprocesos de E/S y de trabajo.

Hay dos grupos de eventos de grupo de subprocesos:

Eventos de grupo de subprocesos de trabajo

Estos eventos se relacionan con el grupo de subprocesos de trabajo de runtime y proporcionan notificaciones de eventos de subproceso (por ejemplo, cuando se crea o se detiene un subproceso). El grupo de subprocesos de trabajo usa un algoritmo adaptable para el control de simultaneidad, en el que el número de subprocesos se calcula en función del rendimiento medido. Los eventos de grupo de subprocesos de trabajo pueden usarse para saber cómo una aplicación utiliza el grupo de subprocesos y el efecto que ciertas cargas de trabajo pueden tener en el control de simultaneidad.

ThreadPoolWorkerThreadStart y ThreadPoolWorkerThreadStop

En la tabla siguiente se muestra la palabra clave y el nivel correspondientes a estos eventos. (Para obtener más información, vea CLR ETW Keywords and Levels).

Palabra clave para generar el evento Nivel
ThreadingKeyword (0x10000) Informativo (4)

En la siguiente tabla se muestra la información del evento.

Evento Id. de evento Se genera cuando
ThreadPoolWorkerThreadStart 50 Se crea un subproceso de trabajo.
ThreadPoolWorkerThreadStop 51 Se detiene un subproceso de trabajo.
ThreadPoolWorkerThreadRetirementStart 52 Se retira un subproceso de trabajo.
ThreadPoolWorkerThreadRetirementStop 53 Un subproceso de trabajo retirado se vuelve activo.

En la siguiente tabla se muestran los datos del evento.

Nombre del campo Tipo de datos Descripción
ActiveWorkerThreadCount win:UInt32 Número de subprocesos de trabajo disponibles para procesar trabajo, incluidos los que ya están procesando trabajo.
RetiredWorkerThreadCount win:UInt32 Número de subprocesos de trabajo que no están disponibles para procesar trabajo, pero que se mantienen en reserva en caso de que posteriormente se necesiten más subprocesos.
ClrInstanceID Win:UInt16 Identificador único para la instancia de CLR o CoreCLR.

ThreadPoolWorkerThreadAdjustment

Estos eventos de grupo de subprocesos proporcionan información para entender y depurar el comportamiento del algoritmo de inserción de subprocesos (control de simultaneidad). El grupo de subprocesos de trabajo usa la información internamente.

ThreadPoolWorkerThreadAdjustmentSample

En la tabla siguiente se muestra la palabra clave y el nivel.

Palabra clave para generar el evento Nivel
ThreadingKeyword (0x10000) Informativo (4)

En la siguiente tabla se muestra la información del evento.

Evento Id. de evento Descripción
ThreadPoolWorkerThreadAdjustmentSample 54 Se refiere a la recopilación de información para un ejemplo; es decir, una medición del rendimiento con un determinado nivel de simultaneidad en un instante de tiempo.

En la siguiente tabla se muestran los datos del evento.

Nombre del campo Tipo de datos Descripción
Throughput win:Double Número de finalizaciones por unidad de tiempo.
ClrInstanceID Win:UInt16 Identificador único para la instancia de CLR o CoreCLR.

ThreadPoolWorkerThreadAdjustmentAdjustment

En la tabla siguiente se muestra la palabra clave y el nivel.

Palabra clave para generar el evento Nivel
ThreadingKeyword (0x10000) Informativo (4)

En la siguiente tabla se muestra la información del evento.

Evento Id. de evento Descripción
ThreadPoolWorkerThreadAdjustmentAdjustment 55 Registra un cambio en el control, cuando el algoritmo de inserción de subproceso (hill-climbing) determina que tiene lugar un cambio en el nivel de simultaneidad.

En la siguiente tabla se muestran los datos del evento.

Nombre del campo Tipo de datos Descripción
AverageThroughput win:Double Rendimiento medio de un ejemplo de mediciones.
NewWorkerThreadCount win:UInt32 Nuevo número de subprocesos de trabajo activos.
Motivo win:UInt32 Razón para el ajuste.

0x00: preparación.

0x01: inicializando.

0x02: movimiento aleatorio.

0x03: movimiento escalada.

0x04: cambiar punto.

0x05: estabilización.

0x06: colapso.

0x07: tiempo de espera de subproceso agotado.
ClrInstanceID Win:UInt16 Identificador único para la instancia de CLR o CoreCLR.

ThreadPoolWorkerThreadAdjustmentStats

En la tabla siguiente se muestra la palabra clave y el nivel.

Palabra clave para generar el evento Nivel
ThreadingKeyword (0x10000) Informativo (4)

En la siguiente tabla se muestra la información del evento.

Evento Id. de evento Descripción
ThreadPoolWorkerThreadAdjustmentStats 56 Recopila datos en el grupo de subprocesos.

En la siguiente tabla se muestran los datos del evento.

Nombre del campo Tipo de datos Descripción
Duration win:Double Cantidad de tiempo, en segundos, durante el que se recopilaron estas estadísticas.
Throughput win:Double Promedio de finalizaciones por segundo durante este intervalo.
ThreadWave win:Double Reservado para uso interno.
ThroughputWave win:Double Reservado para uso interno.
ThroughputErrorEstimate win:Double Reservado para uso interno.
AverageThroughputErrorEstimate win:Double Reservado para uso interno.
ThroughputRatio win:Double Mejora relativa en el rendimiento producida por variaciones en el número de subprocesos de trabajo activos durante este intervalo.
Confianza win:Double Medida de la validez del campo ThroughputRatio.
NewcontrolSetting win:Double El número de subprocesos de trabajo activos que servirá de línea de base para las variaciones futuras en el recuento de subprocesos activos.
NewThreadWaveMagnitude Win:UInt16 La magnitud de variaciones futuras en el recuento de subprocesos activos.
ClrInstanceID Win:UInt16 Identificador único para la instancia de CLR o CoreCLR.

Eventos de subprocesos de E/S

Estos eventos de grupo de subprocesos se producen para los subprocesos del grupo de subprocesos de E/S (puertos de finalización), que es asincrónico.

IOThreadCreate_V1

En la tabla siguiente se muestra la palabra clave y el nivel.

Palabra clave para generar el evento Nivel
ThreadingKeyword (0x10000) Informativo (4)

En la siguiente tabla se muestra la información del evento.

Evento Id. de evento Se genera cuando
IOThreadCreate_V1 44 Se crea un subproceso de E/S en el grupo de subprocesos.

En la siguiente tabla se muestran los datos del evento.

Nombre del campo Tipo de datos Descripción
Count win:UInt64 Número de subprocesos de E/S, incluido el subproceso recién creado.
NumRetired win:UInt64 Número de subprocesos de trabajo retirados.
ClrInstanceID Win:UInt16 Identificador único para la instancia de CLR o CoreCLR.

IOThreadRetire_V1

En la tabla siguiente se muestra la palabra clave y el nivel.

Palabra clave para generar el evento Nivel
ThreadingKeyword (0x10000) Informativo (4)

En la siguiente tabla se muestra la información del evento.

Evento Id. de evento Se genera cuando
IOThreadRetire_V1 46 Un subproceso de E/S se convierte en un candidato para la retirada.

En la siguiente tabla se muestran los datos del evento.

Nombre del campo Tipo de datos Descripción
Count win:UInt64 Número de subprocesos de E/S restantes en el grupo de subprocesos.
NumRetired win:UInt64 Número de subprocesos de E/S retirados.
ClrInstanceID Win:UInt16 Identificador único para la instancia de CLR o CoreCLR.

IOThreadUnretire_V1

En la tabla siguiente se muestra la palabra clave y el nivel.

Palabra clave para generar el evento Nivel
ThreadingKeyword (0x10000) Informativo (4)

En la siguiente tabla se muestra la información del evento.

Evento Id. de evento Se genera cuando
IOThreadUnretire_V1 47 La retirada de un subproceso de E/S se anula debido a que llega una E/S dentro de un período de espera y después de que el subproceso se convierte en un candidato para la retirada.

En la siguiente tabla se muestran los datos del evento.

Nombre del campo Tipo de datos Descripción
Count win:UInt64 Número de subprocesos de E/S en el grupo de subprocesos, incluido este.
NumRetired win:UInt64 Número de subprocesos de E/S retirados.
ClrInstanceID Win:UInt16 Identificador único para la instancia de CLR o CoreCLR.

IOThreadTerminate

En la tabla siguiente se muestra la palabra clave y el nivel.

Palabra clave para generar el evento Nivel
ThreadingKeyword (0x10000) Informativo (4)

En la siguiente tabla se muestra la información del evento.

Evento Id. de evento Se genera cuando
IOThreadTerminate 45 Se ha finalizado un subproceso de E/S en el grupo de subprocesos.

En la siguiente tabla se muestran los datos del evento.

Nombre del campo Tipo de datos Descripción
Count win:UInt64 Número de subprocesos de E/S restantes en el grupo de subprocesos.
NumRetired win:UInt64 Número de subprocesos de E/S retirados.
ClrInstanceID Win:UInt16 Identificador único para la instancia de CLR o CoreCLR.

Consulte también