Partilhar via


Eventos ETW do Conjunto de Threads

Estes eventos recolhem informações sobre threads de trabalho e de E/S.

Existem dois grupos de eventos do conjunto de threads:

  • Eventos do conjunto de threads de trabalho, que fornecem informações sobre como uma aplicação utiliza o conjunto de threads e o efeito das cargas de trabalho no controlo de simultaneidade.

  • Eventos do conjunto de threads de E/S, que fornecem informações sobre threads de E/S criados, descontinuados, não registados ou terminados no conjunto de threads.

Eventos do Conjunto de Threads de Trabalho

Estes eventos estão relacionados com o conjunto de threads de trabalho do runtime e fornecem notificações para eventos de thread (por exemplo, quando um thread é criado ou parado). O conjunto de threads de trabalho utiliza um algoritmo adaptável para o controlo de simultaneidade, em que o número de threads é calculado com base no débito medido. Os eventos do conjunto de threads de trabalho podem ser utilizados para compreender como uma aplicação está a utilizar o conjunto de threads e o efeito que determinadas cargas de trabalho podem ter no controlo de simultaneidade.

ThreadPoolWorkerThreadStart e ThreadPoolWorkerThreadStop

A tabela seguinte mostra a palavra-chave e o nível para estes eventos. (Para obter mais informações, consulte Palavras-chave e Níveis do CLR ETW.)

Palavra-chave para criar o evento Level
ThreadingKeyword (0x10000) Informativo (4)

A tabela seguinte mostra as informações do evento.

Evento ID do Evento Gerado quando
ThreadPoolWorkerThreadStart 50 É criado um thread de trabalho.
ThreadPoolWorkerThreadStop 51 Um thread de trabalho é parado.
ThreadPoolWorkerThreadRetirementStart 52 Um thread de trabalho é extingue-se.
ThreadPoolWorkerThreadRetirementStop 53 Um thread de trabalho descontinuado volta a estar ativo.

A tabela seguinte mostra os dados do evento.

Nome do campo Tipo de dados Descrição
ActiveWorkerThreadCount win:UInt32 Número de threads de trabalho disponíveis para processar trabalho, incluindo os que já estão a processar trabalho.
RetiredWorkerThreadCount win:UInt32 Número de threads de trabalho que não estão disponíveis para processar trabalho, mas que estão a ser mantidos em reserva caso sejam necessários mais threads mais tarde.
ClrInstanceID Win:UInt16 ID exclusivo para a instância de CLR ou CoreCLR.

ThreadPoolWorkerThreadAdjustment

Estes eventos do conjunto de threads fornecem informações para compreender e depurar o comportamento do algoritmo de injeção de threads (controlo de simultaneidade). As informações são utilizadas internamente pelo conjunto de threads de trabalho.

ThreadPoolWorkerThreadAdjustmentSample

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

Palavra-chave para criar o evento Level
ThreadingKeyword (0x10000) Informativo (4)

A tabela seguinte mostra as informações do evento.

Evento ID do Evento Description
ThreadPoolWorkerThreadAdjustmentSample 54 Refere-se à coleção de informações de um exemplo; ou seja, uma medição do débito com um determinado nível de simultaneidade, num instante.

A tabela seguinte mostra os dados do evento.

Nome do campo Tipo de dados Descrição
Débito win:Double Número de conclusões por unidade de tempo.
ClrInstanceID Win:UInt16 ID exclusivo para a instância de CLR ou CoreCLR.

ThreadPoolWorkerThreadAdjustmentAdjustment

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

Palavra-chave para criar o evento Level
ThreadingKeyword (0x10000) Informativo (4)

A tabela seguinte mostra as informações do evento.

Evento ID do Evento Description
ThreadPoolWorkerThreadAdjustmentAdjustment 55 Regista uma alteração no controlo, quando o algoritmo de injeção de threads (escalamento em colinas) determina que existe uma alteração no nível de simultaneidade.

A tabela seguinte mostra os dados do evento.

Nome do campo Tipo de dados Descrição
AverageThroughput win:Double Débito médio de uma amostra de medidas.
NewWorkerThreadCount win:UInt32 Novo número de threads de trabalho ativos.
Razão win:UInt32 Motivo do ajuste.

0x00 - Aquecimento.

0x01 - Inicialização.

0x02 - Movimentação aleatória.

0x03 - Movimento de escalada.

0x04 - Ponto de alteração.

0x05 - Estabilização.

0x06 - Fome.

0x07 - O tempo limite do thread foi excedido.
ClrInstanceID Win:UInt16 ID exclusivo para a instância de CLR ou CoreCLR.

ThreadPoolWorkerThreadAdjustmentStats

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

Palavra-chave para criar o evento Level
ThreadingKeyword (0x10000) Informativo (4)

A tabela seguinte mostra as informações do evento.

Evento ID do Evento Description
ThreadPoolWorkerThreadAdjustmentStats 56 Recolhe dados no conjunto de threads.

A tabela seguinte mostra os dados do evento.

Nome do campo Tipo de dados Description
Duração win:Double Período de tempo, em segundos, durante o qual estas estatísticas foram recolhidas.
Débito win:Double Número médio de conclusões por segundo durante este intervalo.
ThreadWave win:Double Reservado para utilização interna.
ThroughputWave win:Double Reservado para utilização interna.
ThroughputErrorEstimate win:Double Reservado para utilização interna.
AverageThroughputErrorEstimate win:Double Reservado para utilização interna.
ThroughputRatio win:Double A melhoria relativa no débito causada por variações na contagem de threads de trabalho ativo durante este intervalo.
Confiança win:Double Uma medida da validade do campo ThroughputRatio.
NewcontrolSetting win:Double O número de threads de trabalho ativos que servirão de linha de base para futuras variações na contagem de threads ativos.
NewThreadWaveMagnitude Win:UInt16 A magnitude das variações futuras na contagem de threads ativos.
ClrInstanceID Win:UInt16 ID exclusivo para a instância de CLR ou CoreCLR.

Eventos de Thread de E/S

Estes eventos do conjunto de threads ocorrem para threads no conjunto de threads de E/S (portas de conclusão), o que é assíncrono.

IOThreadCreate_V1

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

Palavra-chave para criar o evento Level
ThreadingKeyword (0x10000) Informativo (4)

A tabela seguinte mostra as informações do evento.

Evento ID do Evento Gerado quando
IOThreadCreate_V1 44 É criado um thread de E/S no conjunto de threads.

A tabela seguinte mostra os dados do evento.

Nome do campo Tipo de dados Descrição
de palavras win:UInt64 Número de threads de E/S, incluindo o thread criado recentemente.
NumRetired win:UInt64 Número de threads de trabalho descontinuados.
ClrInstanceID Win:UInt16 ID exclusivo para a instância de CLR ou CoreCLR.

IOThreadRetire_V1

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

Palavra-chave para criar o evento Level
ThreadingKeyword (0x10000) Informativo (4)

A tabela seguinte mostra as informações do evento.

Evento ID do Evento Gerado quando
IOThreadRetire_V1 46 Um tópico de E/S torna-se um candidato à reforma.

A tabela seguinte mostra os dados do evento.

Nome do campo Tipo de dados Descrição
de palavras win:UInt64 Número de threads de E/S restantes no conjunto de threads.
NumRetired win:UInt64 Número de threads de E/S descontinuados.
ClrInstanceID Win:UInt16 ID exclusivo para a instância de CLR ou CoreCLR.

IOThreadUnretire_V1

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

Palavra-chave para criar o evento Level
ThreadingKeyword (0x10000) Informativo (4)

A tabela seguinte mostra as informações do evento.

Evento ID do Evento Gerado quando
IOThreadUnretire_V1 47 Um thread de E/S não é reativado devido à E/S que chega dentro de um período de espera após o thread se tornar um candidato à reforma.

A tabela seguinte mostra os dados do evento.

Nome do campo Tipo de dados Descrição
de palavras win:UInt64 Número de threads de E/S no conjunto de threads, incluindo este.
NumRetired win:UInt64 Número de threads de E/S descontinuados.
ClrInstanceID Win:UInt16 ID exclusivo para a instância de CLR ou CoreCLR.

IOThreadTerminate

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

Palavra-chave para criar o evento Level
ThreadingKeyword (0x10000) Informativo (4)

A tabela seguinte mostra as informações do evento.

Evento ID do Evento Gerado quando
IOThreadTerminate 45 Um thread de E/S é terminado no conjunto de threads.

A tabela seguinte mostra os dados do evento.

Nome do campo Tipo de dados Descrição
de palavras win:UInt64 Número de threads de E/S restantes no conjunto de threads.
NumRetired win:UInt64 Número de threads de E/S descontinuados.
ClrInstanceID Win:UInt16 ID exclusivo para a instância de CLR ou CoreCLR.

Ver também