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