Compartir a través de


Eventos ETW de grupo de subprocesos

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

Hay dos grupos de eventos de grupo de subprocesos:

  • Los eventos de grupo de subprocesos de trabajo, que proporcionan información de cómo una aplicación utiliza el grupo de subprocesos, así como el efecto de las cargas de trabajo en el control de simultaneidad.

  • Los eventos de grupo de subprocesos de E/S, que proporcionan información sobre los subprocesos de E/S que se crean, retiran, se sacan de la retirada o se finalizan en el grupo de subprocesos.

Eventos de grupo de subprocesos de trabajo

Estos eventos están relacionados con el grupo de subprocesos de trabajo de runtime y proporcionan notificaciones para eventos de subproceso (por ejemplo, al crear o detener un subproceso). El grupo de subprocesos de trabajo utiliza un algoritmo adaptable para el control de simultaneidad, donde el número de subprocesos se calcula en función del rendimiento medido. Los eventos de grupo de subprocesos de trabajo se pueden utilizar para entender cómo utiliza una aplicación el grupo de subprocesos y el efecto que ciertas cargas de trabajo pueden tener en el control de simultaneidad.

ThreadPoolWorkerThreadStart y ThreadPoolWorkerThreadStop

En la siguiente tabla se muestran la palabra clave y el nivel para estos eventos. (Para obtener más información, vea Palabras clave y niveles ETW de CLR.)

Palabra clave para generar el evento

Nivel

ThreadingKeyword (0x10000)

Informativo (4)

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

Evento

Identificador 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 de campo

Tipo de datos

Descripción

ActiveWorkerThreadCount

win:UInt32

Número de subprocesos de trabajo disponibles para procesar el trabajo, incluidos aquéllos que ya están procesando el trabajo.

RetiredWorkerThreadCount

win:UInt32

Número de subprocesos de trabajo que no están disponibles para procesar el trabajo, pero que están en reserva en caso de que necesiten más subprocesos posteriormente.

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 (control de simultaneidad) de inserción del subproceso. El grupo de subprocesos de trabajo utiliza la información de manera interna.

ThreadPoolWorkerThreadAdjustmentSample

En la siguiente tabla se muestran 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

Identificador de evento

Descripción

ThreadPoolWorkerThreadAdjustmentSample

54

Hace referencia a la colección de información para un ejemplo; es decir, una medición del rendimiento con cierto nivel de simultaneidad, en un instante del tiempo.

En la siguiente tabla se muestran los datos del evento.

Nombre de 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 siguiente tabla se muestran 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

Identificador de evento

Descripción

ThreadPoolWorkerThreadAdjustmentAdjustment

55

Registra un cambio en el control, cuando el algoritmo (ascenso de colina) de inserción del subproceso determina que hay un cambio en el nivel de simultaneidad.

En la siguiente tabla se muestran los datos del evento.

Nombre de 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

Motivo del ajuste.

0x00 - Preparación.

0x01 - Inicialización.

0x02 - Movimiento aleatorio.

0x03 - Movimiento de ascenso.

0x04 - Punto de cambio.

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 siguiente tabla se muestran 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

Identificador de evento

Descripción

ThreadPoolWorkerThreadAdjustmentStats

56

Recopila datos en el grupo de subprocesos.

En la siguiente tabla se muestran los datos del evento.

Nombre de campo

Tipo de datos

Descripción

Duración

win:Double

Cantidad de tiempo, en segundos, durante la que se recogieron 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 recuento de subprocesos de trabajo activos durante este intervalo.

Confidence

win:Double

Medida de la validez del campo ThroughputRatio.

NewcontrolSetting

win:Double

Número de subprocesos de trabajo activos que actuarán como línea base para las variaciones futuras en el recuento de subprocesos activos.

NewThreadWaveMagnitude

Win:UInt16

Magnitud de variaciones futuras en el recuento de subprocesos activos.

ClrInstanceID

Win:UInt16

Identificador único para la instancia de CLR o CoreCLR.

Volver al principio

Eventos de subproceso 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 siguiente tabla se muestran 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

Identificador 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 de campo

Tipo de datos

Descripción

Total

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 siguiente tabla se muestran 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

Identificador 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 de campo

Tipo de datos

Descripción

Total

win:UInt64

Número de subprocesos de E/S restantes del 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 siguiente tabla se muestran 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

Identificador de evento

Se genera cuando

IOThreadUnretire_V1

47

Se saca de la retirada un subproceso de E/S debido a una E/S que llega dentro de un período de espera después de que el subproceso se convierta en un candidato para la retirada.

En la siguiente tabla se muestran los datos del evento.

Nombre de campo

Tipo de datos

Descripción

Total

win:UInt64

Número de subprocesos de E/S del grupo de subprocesos, incluido éste.

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 siguiente tabla se muestran 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

Identificador de evento

Se genera cuando

IOThreadTerminate

45

Se crea un subproceso de E/S en el grupo de subprocesos.

En la siguiente tabla se muestran los datos del evento.

Nombre de campo

Tipo de datos

Descripción

Total

win:UInt64

Número de subprocesos de E/S restantes del 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.

Volver al principio

Vea también

Conceptos

Eventos ETW de CLR