Compartilhar via


Eventos ETW de Pool de segmentos.

Esses eventos coletam informações sobre o trabalho e os segmentos de e/S.

Há dois grupos de eventos do pool de segmento:

  • Eventos de pool de threads de trabalho, que fornecem informações sobre como um aplicativo usa o pool de segmentos e o efeito das cargas de trabalho no controle de simultaneidade.

  • Eventos de pool de threads de e/S, que fornecem informações sobre segmentos de e/S são criados, aposentados, unretired ou finalizado no pool de segmentos.

Eventos de Pool de threads de trabalho

Esses eventos relacionam ao pool de threads de trabalho do runtime e fornecem notificações de eventos de segmento (por exemplo, quando um segmento é criado ou parado). O pool de threads de trabalho usa um algoritmo adaptável para controle de simultaneidade, onde o número de segmentos é calculado com base na taxa de transferência medida. Eventos de pool de threads de trabalho podem ser usados para entender como um aplicativo está usando o pool de segmentos e o efeito de determinadas cargas de trabalho podem ter no controle de simultaneidade.

ThreadPoolWorkerThreadStart e ThreadPoolWorkerThreadStop

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

Palavra-chave para disparar o evento.

Level

ThreadingKeyword(0x10000)

Informativo (4)

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

Evento

Identificação de evento

Gerado quando

ThreadPoolWorkerThreadStart

50

Um segmento de trabalho é criado.

ThreadPoolWorkerThreadStop

51

Um segmento de trabalho é interrompido.

ThreadPoolWorkerThreadRetirementStart

52

Inutiliza a um segmento de trabalho.

ThreadPoolWorkerThreadRetirementStop

53

Um segmento de trabalho descartados se torna ativo novamente.

A tabela a seguir 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 o trabalho, incluindo aqueles que já está 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 no caso mais segmentos são necessários mais tarde.

ClrInstanceID

Win: UInt16.

Identificação exclusiva para a instância do CLR ou CoreCLR.

ThreadPoolWorkerThreadAdjustment

Esses eventos do pool de threads fornecem informações para entender e depurar o comportamento do algoritmo thread injeção (controle de simultaneidade). As informações são usadas internamente pelo pool de segmentos de trabalho.

ThreadPoolWorkerThreadAdjustmentSample

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

Palavra-chave para disparar o evento.

Level

ThreadingKeyword(0x10000)

Informativo (4)

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

Evento

Identificação de evento

Descrição

ThreadPoolWorkerThreadAdjustmentSample

54

Refere-se à coleção de informações para uma amostra; ou seja, uma medida da taxa de transferência com uma determinada simultaneidade nível, em um instante de tempo.

A tabela a seguir mostra os dados do evento.

Nome do campo

Tipo de dados

Descrição

Taxa de transferência

Win: duplo

Número de conclusões por unidade de tempo.

ClrInstanceID

Win: UInt16.

Identificação exclusiva para a instância do CLR ou CoreCLR.

ThreadPoolWorkerThreadAdjustmentAdjustment

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

Palavra-chave para disparar o evento.

Level

ThreadingKeyword(0x10000)

Informativo (4)

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

Evento

Identificação de evento

Descrição

ThreadPoolWorkerThreadAdjustmentAdjustment

55

Registra uma alteração no controle, quando o algoritmo de thread injeção (alpinismo hill) determina que 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: duplo

Taxa de transferência média de uma amostra de medidas.

NewWorkerThreadCount

Win: UInt32.

Novo número de threads de trabalho ativa.

Motivo

Win: UInt32.

Razão para o ajuste.

0x00 - aquecimento.

0x01 - inicializando.

0x02 - mover aleatório.

0x03 - escalada de movimentação.

0x04 - altere o ponto.

0x05 - estabilização.

0x06 - starvation.

0x07 - thread esgotou.

ClrInstanceID

Win: UInt16.

Identificação exclusiva para a instância do CLR ou CoreCLR.

ThreadPoolWorkerThreadAdjustmentStats

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

Palavra-chave para disparar o evento.

Level

ThreadingKeyword(0x10000)

Informativo (4)

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

Evento

Identificação de evento

Descrição

ThreadPoolWorkerThreadAdjustmentStats

56

Coleta de dados no pool de segmentos.

A tabela a seguir mostra os dados do evento.

Nome do campo

Tipo de dados

Descrição

Duração

Win: duplo

Quantidade de tempo, em segundos, durante o qual as estatísticas foram coletadas.

Taxa de transferência

Win: duplo

Número médio de conclusões por segundo durante esse intervalo.

ThreadWave

Win: duplo

Reservado para uso interno.

ThroughputWave

Win: duplo

Reservado para uso interno.

ThroughputErrorEstimate

Win: duplo

Reservado para uso interno.

AverageThroughputErrorEstimate

Win: duplo

Reservado para uso interno.

ThroughputRatio

Win: duplo

O aprimoramento relativo no throughput causado por variações na contagem de threads de trabalho ativos durante esse intervalo.

Confiança

Win: duplo

Uma medida da validade do campo ThroughputRatio.

NewcontrolSetting

Win: duplo

O número de threads de trabalho ativos que servirá como a linha de base para futuras variações na contagem de thread ativo.

NewThreadWaveMagnitude

Win: UInt16.

A magnitude dos futuras variações na contagem de thread ativo.

ClrInstanceID

Win: UInt16.

Identificação exclusiva para a instância do CLR ou CoreCLR.

Voltar ao topo

Eventos de segmento de e/S

Esses eventos de pool de thread ocorrem para threads no pool de segmentos e/S (portas de conclusão), que é assíncrona.

IOThreadCreate_V1

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

Palavra-chave para disparar o evento.

Level

ThreadingKeyword(0x10000)

Informativo (4)

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

Evento

Identificação de evento

Gerado quando

IOThreadCreate_V1

44

Um thread de e/S é criado no pool de segmentos.

A tabela a seguir mostra os dados do evento.

Nome do campo

Tipo de dados

Descrição

Contagem

Win: UInt64.

Número de threads de e/S, incluindo o thread recém-criado.

NumRetired

Win: UInt64.

Número de threads de trabalho de retirada.

ClrInstanceID

Win: UInt16.

Identificação exclusiva para a instância do CLR ou CoreCLR.

IOThreadRetire_V1

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

Palavra-chave para disparar o evento.

Level

ThreadingKeyword(0x10000)

Informativo (4)

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

Evento

Identificação de evento

Gerado quando

IOThreadRetire_V1

46

Um thread de e/S se torna um candidato de aposentadoria.

A tabela a seguir mostra os dados do evento.

Nome do campo

Tipo de dados

Descrição

Contagem

Win: UInt64.

Número de threads de e/S restante no pool de segmentos.

NumRetired

Win: UInt64.

Número de threads de e/S de retirada.

ClrInstanceID

Win: UInt16.

Identificação exclusiva para a instância do CLR ou CoreCLR.

IOThreadUnretire_V1

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

Palavra-chave para disparar o evento.

Level

ThreadingKeyword(0x10000)

Informativo (4)

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

Evento

Identificação de evento

Gerado quando

IOThreadUnretire_V1

47

Um segmento de e/S é unretired por causa de i/O que chega em um período de espera depois que o segmento se torna um candidato de aposentadoria.

A tabela a seguir mostra os dados do evento.

Nome do campo

Tipo de dados

Descrição

Contagem

Win: UInt64.

Número de threads de e/S no pool de segmentos, incluindo esta.

NumRetired

Win: UInt64.

Número de threads de e/S de retirada.

ClrInstanceID

Win: UInt16.

Identificação exclusiva para a instância do CLR ou CoreCLR.

IOThreadTerminate

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

Palavra-chave para disparar o evento.

Level

ThreadingKeyword(0x10000)

Informativo (4)

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

Evento

Identificação de evento

Gerado quando

IOThreadTerminate

45

Um thread de e/S é criado no pool de segmentos.

A tabela a seguir mostra os dados do evento.

Nome do campo

Tipo de dados

Descrição

Contagem

Win: UInt64.

Número de threads de e/S restante no pool de segmentos.

NumRetired

Win: UInt64.

Número de threads de e/S de retirada.

ClrInstanceID

Win: UInt16.

Identificação exclusiva para a instância do CLR ou CoreCLR.

Voltar ao topo

Consulte também

Conceitos

Eventos ETW CLR