Eventos do pool de threads do runtime do .NET

Os eventos descritos neste artigo coletam informações sobre threads de E/S e de trabalho no threadpool. Para saber como usar esses eventos para fins de diagnóstico, confira Registro em log e rastreamento de aplicativos .NET

Evento IOThreadCreate_V1

A tabela a seguir mostra a palavra-chave e o nível.

Palavra-chave para acionar o evento Nível
ThreadingKeyword (0x10000) Informativo (4)

A tabela a seguir mostra as informações do evento.

Evento ID do evento Acionado quando
IOThreadCreate_V1 44 Um thread de E/S é criado no pool de threads.

A tabela a seguir mostra os dados do evento.

Nome do campo Tipo de dados Descrição
Count win:UInt64 Número de threads de E/S, incluindo o thread recém-criado.
NumRetired win:UInt64 Número de threads de trabalho desativados.
ClrInstanceID win:UInt16 ID exclusiva da instância do CLR ou do CoreCLR.

Evento IOThreadTerminate_V1

A tabela a seguir mostra a palavra-chave e o nível

Palavra-chave para acionar o evento Nível
ThreadingKeyword (0x10000) Informativo (4)

A tabela a seguir mostra as informações do evento.

Evento ID do evento Acionado quando
IOThreadTerminate 45 Um thread de E/S é encerrado no pool de threads.

A tabela a seguir mostra os dados do evento.

Nome do campo Tipo de dados Descrição
Count win:UInt64 Número de threads de E/S restantes no pool de threads.
NumRetired win:UInt64 Número de threads de E/S desativados.
ClrInstanceID win:UInt16 ID exclusiva da instância do CLR ou do CoreCLR.

Evento IOThreadRetire_V1

A tabela a seguir mostra a palavra-chave e o nível.

Palavra-chave para acionar o evento Nível
ThreadingKeyword (0x10000) Informativo (4)

A tabela a seguir mostra as informações do evento.

Evento ID do evento Acionado quando
IOThreadRetire_V1 46 Um thread de E/S se torna um candidato para desativação.

A tabela a seguir mostra os dados do evento.

Nome do campo Tipo de dados Descrição
Count win:UInt64 Número de threads de E/S restantes no pool de threads.
NumRetired win:UInt64 Número de threads de E/S desativados.
ClrInstanceID win:UInt16 ID exclusiva da instância do CLR ou do CoreCLR.

Evento IOThreadUnretire_V1

A tabela a seguir mostra a palavra-chave e o nível.

Palavra-chave para acionar o evento Nível
ThreadingKeyword (0x10000) Informativo (4)

A tabela a seguir mostra as informações do evento.

Evento ID do evento Acionado quando
IOThreadUnretire_V1 47 Um thread de E/S é ativado novamente devido à E/S que chega em um período de espera depois que o thread se torna um candidato para desativação.

A tabela a seguir mostra os dados do evento.

Nome do campo Tipo de dados Descrição
Count win:UInt64 Número de threads de E/S no pool de threads, incluindo esse.
NumRetired win:UInt64 Número de threads de E/S desativados.
ClrInstanceID Win:UInt16 ID exclusiva da instância do CLR ou do CoreCLR.

Evento ThreadPoolWorkerThreadStart

Palavra-chave para acionar o evento Nível
ThreadingKeyword (0x10000) Informativo (4)
Evento ID do evento Descrição
ThreadPoolWorkerThreadStart 50 Um thread de trabalho é criado.
Nome do campo Tipo de dados Descrição
ActiveWorkerThreadCount win:UInt32 Número de threads de trabalho disponíveis para processar o trabalho, incluindo aqueles que já estão processando o trabalho.
RetiredWorkerThreadCount win:UInt32 Número de threads de trabalho que não estão disponíveis para processar o trabalho, mas que estão sendo mantidos em reserva, caso mais threads sejam necessários posteriormente.
ClrInstanceID win:UInt16 ID exclusiva da instância do CLR ou do CoreCLR.

Evento ThreadPoolWorkerThreadStop

Palavra-chave para acionar o evento Nível
ThreadingKeyword (0x10000) Informativo (4)
Evento ID do evento Descrição
ThreadPoolWorkerThreadStop 51 Um thread de trabalho é interrompido.
Nome do campo Tipo de dados Descrição
ActiveWorkerThreadCount win:UInt32 Número de threads de trabalho disponíveis para processar o trabalho, incluindo aqueles que já estão processando o trabalho.
RetiredWorkerThreadCount win:UInt32 Número de threads de trabalho que não estão disponíveis para processar o trabalho, mas que estão sendo mantidos em reserva, caso mais threads sejam necessários posteriormente.
ClrInstanceID win:UInt16 ID exclusiva da instância do CLR ou do CoreCLR.

Evento ThreadPoolWorkerThreadWait

Palavra-chave para acionar o evento Nível
ThreadingKeyword (0x10000) Informativo (4)
Evento ID do evento Descrição
ThreadPoolWorkerThreadWait 57 Um thread de trabalho começa a esperar pelo trabalho.
Nome do campo Tipo de dados Descrição
ActiveWorkerThreadCount win:UInt32 Número de threads de trabalho disponíveis para processar o trabalho, incluindo aqueles que já estão processando o trabalho.
RetiredWorkerThreadCount win:UInt32 Número de threads de trabalho que não estão disponíveis para processar o trabalho, mas que estão sendo mantidos em reserva, caso mais threads sejam necessários posteriormente.
ClrInstanceID win:UInt16 ID exclusiva da instância do CLR ou do CoreCLR.

Evento ThreadPoolWorkerThreadRetirementStart

Palavra-chave para acionar o evento Nível
ThreadingKeyword (0x10000) Informativo (4)
Evento ID do evento Descrição
ThreadPoolWorkerThreadRetirementStart 52 Um thread de trabalho é desativado.
Nome do campo Tipo de dados Descrição
ActiveWorkerThreadCount win:UInt32 Número de threads de trabalho disponíveis para processar o trabalho, incluindo aqueles que já estão processando o trabalho.
RetiredWorkerThreadCount win:UInt32 Número de threads de trabalho que não estão disponíveis para processar o trabalho, mas que estão sendo mantidos em reserva, caso mais threads sejam necessários posteriormente.
ClrInstanceID win:UInt16 ID exclusiva da instância do CLR ou do CoreCLR.

Evento ThreadPoolWorkerThreadRetirementStop

Palavra-chave para acionar o evento Nível
ThreadingKeyword (0x10000) Informativo (4)
Evento ID do evento Descrição
ThreadPoolWorkerThreadRetirementStop 53 Um thread de trabalho desativado fica ativo novamente.
Nome do campo Tipo de dados Descrição
ActiveWorkerThreadCount win:UInt32 Número de threads de trabalho disponíveis para processar o trabalho, incluindo aqueles que já estão processando o trabalho.
RetiredWorkerThreadCount win:UInt32 Número de threads de trabalho que não estão disponíveis para processar o trabalho, mas que estão sendo mantidos em reserva, caso mais threads sejam necessários posteriormente.
ClrInstanceID win:UInt16 ID exclusiva da instância do CLR ou do CoreCLR.

Evento ThreadPoolWorkerThreadAdjustmentSample

A tabela a seguir mostra a palavra-chave e o nível.

Palavra-chave para acionar o evento Nível
ThreadingKeyword (0x10000) Informativo (4)

A tabela a seguir mostra as informações do evento.

Evento ID do evento Descrição
ThreadPoolWorkerThreadAdjustmentSample 54 Refere-se à coleta de informações para uma amostra; ou seja, uma medida da taxa de transferência com determinado nível de simultaneidade, em um instante.

A tabela a seguir mostra os dados do evento.

Nome do campo Tipo de dados Descrição
Throughput win:Double Número de conclusões por unidade de tempo.
ClrInstanceID win:UInt16 ID exclusiva da instância do CLR ou do CoreCLR.

Evento ThreadPoolWorkerThreadAdjustmentAdjustment

A tabela a seguir mostra a palavra-chave e o nível.

Palavra-chave para acionar o evento Nível
ThreadingKeyword (0x10000) Informativo (4)

A tabela a seguir mostra as informações do evento.

Evento ID do evento Descrição
ThreadPoolWorkerThreadAdjustmentAdjustment 55 Registra uma alteração no controle, quando o algoritmo de injeção de threads (escalada) determina se uma alteração no nível de simultaneidade está em vigor.

A tabela a seguir mostra os dados do evento.

Nome do campo Tipo de dados Descrição
AverageThroughput win:Double Taxa de transferência média de uma amostra de medidas.
NewWorkerThreadCount win:UInt32 Novo número de threads de trabalho ativos.
Reason win:UInt32 Motivo do ajuste.

0x0 ─ Preparo.

0x1 ─ Inicialização.

0x2 ─ Movimentação aleatória.

0x3 – Movimentação ascendente.

0x4 – Alteração de ponto.

0x5 – Estabilização.

0x6 – Privação.

0x7 – O thread atingiu o tempo limite.

0x8: Bloqueio cooperativo.
ClrInstanceID win:UInt16 ID exclusiva da instância do CLR ou do CoreCLR.

Evento ThreadPoolWorkerThreadAdjustmentStats

A tabela a seguir mostra a palavra-chave e o nível.

Palavra-chave para acionar o evento Nível
ThreadingKeyword (0x10000) Detalhado (5)

A tabela a seguir mostra as informações do evento.

Evento ID do evento Descrição
ThreadPoolWorkerThreadAdjustmentStats 56 Coleta de dados no pool de threads.

A tabela a seguir mostra os dados do evento

Nome do campo Tipo de dados Descrição
Duration win:Double Tempo, em segundos, durante o qual essas estatísticas foram coletadas.
Throughput win:Double Número médio de conclusões por segundo durante esse 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 A melhoria relativa na taxa de transferência causada por variações na contagem de threads de trabalho ativos durante esse intervalo.
Confidence win:Double Uma medida da validade do campo ThroughputRatio.
NewcontrolSetting win:Double O número de threads de trabalho ativos que servirão como a linha de base para variações futuras na contagem de threads ativos.
NewThreadWaveMagnitude win:UInt16 A magnitude das variações futuras na contagem de threads ativos.
ClrInstanceID win:UInt16 ID exclusiva da instância do CLR ou do CoreCLR.

Evento ThreadPoolEnqueue

A tabela a seguir mostra a palavra-chave e o nível.

Palavra-chave para acionar o evento Nível
ThreadingKeyword (0x10000) Detalhado (5)

A tabela a seguir mostra as informações do evento.

Evento ID do evento Descrição
ThreadPoolEnqueue 61 Um item de trabalho foi enfileirado na fila do pool de threads.

A tabela a seguir mostra os dados do evento

Nome do campo Tipo de dados Descrição
WorkID win:Pointer Ponteiro para a solicitação de trabalho.
ClrInstanceID win:UInt16 ID exclusiva da instância do CoreCLR.

Evento ThreadPoolDequeue

A tabela a seguir mostra a palavra-chave e o nível.

Palavra-chave para acionar o evento Nível
ThreadingKeyword (0x10000) Detalhado (5)

A tabela a seguir mostra as informações do evento.

Evento ID do evento Descrição
ThreadPoolDequeue 62 Um item de trabalho foi removido da fila do pool de threads.

A tabela a seguir mostra os dados do evento

Nome do campo Tipo de dados Descrição
WorkID win:Pointer Ponteiro para a solicitação de trabalho.
ClrInstanceID win:UInt16 ID exclusiva da instância do CoreCLR.

Evento ThreadPoolIOEnqueue

A tabela a seguir mostra a palavra-chave e o nível.

Palavra-chave para acionar o evento Nível
ThreadingKeyword (0x10000) Detalhado (5)

A tabela a seguir mostra as informações do evento.

Evento ID do evento Descrição
ThreadPoolIOEnqueue 63 Um thread enfileira uma notificação de conclusão de E/S após a conclusão de uma E/S assíncrona.

A tabela a seguir mostra os dados do evento

Nome do campo Tipo de dados Descrição
NativeOverlapped win:Pointer Reservado para uso interno.
Overlapped win:Pointer Reservado para uso interno.
MultiDequeues win:Boolean Reservado para uso interno.
ClrInstanceID win:UInt16 ID exclusiva da instância do CoreCLR.

Evento ThreadPoolIODequeue

A tabela a seguir mostra a palavra-chave e o nível.

Palavra-chave para acionar o evento Nível
ThreadingKeyword (0x10000) Detalhado (5)

A tabela a seguir mostra as informações do evento.

Evento ID do evento Descrição
ThreadPoolIODequeue 64 Um thread desenfileira a notificação de conclusão de E/S.

A tabela a seguir mostra os dados do evento

Nome do campo Tipo de dados Descrição
NativeOverlapped win:Pointer Reservado para uso interno.
Overlapped win:Pointer Reservado para uso interno.
MultiDequeues win:Boolean Reservado para uso interno.
ClrInstanceID win:UInt16 ID exclusiva da instância do CoreCLR.

Evento ThreadPoolIOPack

A tabela a seguir mostra a palavra-chave e o nível.

Palavra-chave para acionar o evento Nível
ThreadingKeyword (0x10000) Detalhado (5)

A tabela a seguir mostra as informações do evento.

Evento ID do evento Descrição
ThreadPoolIOPack 65 O pacote de E/S sobreposto do pool de threads é chamado.

A tabela a seguir mostra os dados do evento

Nome do campo Tipo de dados Descrição
NativeOverlapped win:Pointer Reservado para uso interno.
Overlapped win:Pointer Reservado para uso interno.
ClrInstanceID win:UInt16 ID exclusiva da instância do CoreCLR.

Evento ThreadCreating

A tabela a seguir mostra a palavra-chave e o nível.

Palavra-chave para acionar o evento Nível
ThreadingKeyword (0x10000) Informativo (4)

A tabela a seguir mostra as informações do evento.

Evento ID do evento Descrição
ThreadCreating 70 O thread foi criado.

A tabela a seguir mostra os dados do evento.

Nome do campo Tipo de dados Descrição
ID win:Pointer ID do thread
ClrInstanceID win:UInt16 ID exclusiva da instância do CoreCLR.

Evento ThreadRunning

A tabela a seguir mostra a palavra-chave e o nível.

Palavra-chave para acionar o evento Nível
ThreadingKeyword (0x10000) Informativo (4)

A tabela a seguir mostra as informações do evento.

Evento ID do evento Descrição
ThreadRunning 71 O thread começou a ser executado.

A tabela a seguir mostra os dados do evento.

Nome do campo Tipo de dados Descrição
ID win:Pointer ID do thread
ClrInstanceID win:UInt16 ID exclusiva da instância do CoreCLR.