Partilhar via


Provedores de eventos bem conhecidos no .NET

O tempo de execução e as bibliotecas do .NET gravam eventos de diagnóstico por meio de vários provedores de eventos diferentes. Dependendo de suas necessidades de diagnóstico, você pode escolher os provedores apropriados para habilitar. Este artigo descreve alguns dos provedores de eventos mais usados no tempo de execução e bibliotecas do .NET.

CoreCLR

Provedor "Microsoft-Windows-DotNETRuntime"

Esse provedor emite vários eventos do tempo de execução do .NET, incluindo GC, carregador, JIT, exceção e outros eventos. Leia mais sobre cada evento deste provedor na Lista de Eventos do Provedor de Tempo de Execução.

Provedor "Microsoft-DotNETCore-SampleProfiler"

Este provedor é um provedor de eventos de tempo de execução .NET que é usado para amostragem de CPU para pilhas de chamadas gerenciadas. Quando habilitado, ele captura um instantâneo da pilha de chamadas gerenciada de cada thread a cada milissegundo. Para habilitar essa captura, você deve especificar um EventLevel de Informational ou superior.

Bibliotecas de estrutura

Provedor "Microsoft-Extensions-DependencyInjection"

Este provedor registra informações de DependencyInjection. A tabela a seguir mostra os Microsoft-Extensions-DependencyInjection eventos registrados pelo provedor:

Nome do evento Palavra-chave Level Description
CallSiteBuilt Verbose (5) Um site de chamada foi construído.
ServiceResolved Verbose (5) Um serviço foi resolvido.
ExpressionTreeGenerated Verbose (5) Uma árvore de expressão foi gerada.
DynamicMethodBuilt Verbose (5) A DynamicMethod foi construída.
ScopeDisposed Verbose (5) Foi eliminado um âmbito de aplicação.
ServiceRealizationFailed Verbose (5) A realização de um serviço falhou.
ServiceProviderBuilt ServiceProviderInitialized(0x1) Verbose (5) A ServiceProvider foi construída.
ServiceProviderDescriptors ServiceProviderInitialized(0x1) Verbose (5) Uma lista disso ServiceDescriptor foi usada durante a ServiceProvider compilação.

Provedor "System.Buffers.ArrayPoolEventSource"

Este provedor registra informações do ArrayPool. A tabela a seguir mostra os eventos registrados por ArrayPoolEventSource:

Nome do evento Level Description
BufferRented Verbose (5) Um buffer é alugado com êxito.
BufferAllocated Informativo (4) Um buffer é alocado pelo pool.
BufferReturned Verbose (5) Um buffer é retornado ao pool.
BufferTrimmed Informativo (4) Tenta-se libertar uma memória intermédia devido à pressão ou inatividade da memória.
BufferTrimPoll Informativo (4) Uma verificação está sendo feita para cortar buffers.
BufferDropped Informativo (4) Um buffer é descartado quando retornado ao pool.

Provedor "System.Net.Http"

Este provedor registra informações da pilha HTTP. A tabela a seguir mostra os eventos registrados pelo System.Net.Http provedor:

Nome do evento Level Description
RequestStart Informativo (4) Uma solicitação HTTP foi iniciada.
RequestStop Informativo (4) Uma solicitação HTTP foi concluída.
RequestFailed Erro (2) Uma solicitação HTTP falhou.
ConexãoEstabelecida Informativo (4) Foi estabelecida uma ligação HTTP.
ConexãoFechada Informativo (4) Uma conexão HTTP foi fechada.
RequestLeftQueue Informativo (4) Uma solicitação HTTP saiu da fila de solicitações.
RequestHeadersStart Informativo (4) Uma solicitação HTTP para cabeçalho foi iniciada.
RequestHeaderStop Informativo (4) Uma solicitação HTTP para cabeçalho foi concluída.
RequestContentStart Informativo (4) Uma solicitação HTTP de conteúdo foi iniciada.
RequestContentStop Informativo (4) Uma solicitação HTTP de conteúdo foi concluída.
ResponseHeadersStart Informativo (4) Uma resposta HTTP para cabeçalho foi iniciada.
ResponseHeaderStop Informativo (4) Uma resposta HTTP para cabeçalho foi concluída.
ResponseContentStart Informativo (4) Uma resposta HTTP para o conteúdo foi iniciada.
ResponseContentStop Informativo (4) Uma resposta HTTP para o conteúdo foi concluída.

Provedor "System.Net.NameResolution"

Este fornecedor regista informações relacionadas com a resolução de nomes de domínio. A tabela a seguir mostra os eventos registrados por System.Net.NameResolution:

Nome do evento Level Description
ResolutionStart Informativo (4) Foi iniciada uma resolução de nomes de domínio.
ResolutionStop Informativo (4) Uma resolução de nome de domínio terminou.
ResolutionFailed Informativo (4) Falha na resolução de um nome de domínio.

Provedor "System.Net.Sockets"

Este provedor registra informações do Socket. A tabela a seguir mostra os eventos registrados pelo System.Net.Sockets provedor:

Nome do evento Level Description
ConnectStart Informativo (4) Foi iniciada uma tentativa de iniciar uma ligação de socket.
ConnectStop Informativo (4) Uma tentativa de iniciar uma conexão de soquete foi concluída.
ConnectFailed Informativo (4) Uma tentativa de iniciar uma conexão de soquete falhou.
AcceptStart Informativo (4) Foi iniciada uma tentativa de aceitar uma ligação de socket.
AcceptStop Informativo (4) Uma tentativa de aceitar uma conexão de soquete terminou.
AcceptFailed Informativo (4) Uma tentativa de aceitar uma conexão de soquete falhou.

Provedor "System.Threading.Tasks.TplEventSource"

Esse provedor registra informações na Biblioteca Paralela de Tarefas, como eventos do Agendador de tarefas. A tabela a seguir mostra os eventos registrados por TplEventSource:

Nome do evento Palavra-chave Level Description
TaskScheduled TaskTransfer(0x1)

Tasks(0x2)
Informativo (4) A Task está na fila para o Agendador de tarefas.
TaskStarted Tasks(0x2) Informativo (4) A Task começou a executar.
TaskCompleted TaskStops(0x40) Informativo (4) A Task terminou de executar.
TaskWaitBegin TaskTransfer(0x1)

TaskWait(0x2)
Informativo (4) Acionado quando uma espera implícita ou explícita em uma Task conclusão é iniciada.
TaskWaitEnd Tasks(0x2) Verbose (5) Demitido quando a espera por uma Task conclusão retorna.
TaskWaitContinuationStarted Tasks(0x2) Verbose (5) Acionado quando o trabalho (método) associado a a é TaskWaitEnd iniciado.
TaskWaitContinuationCompleted TaskStops(0x40) Verbose (5) Acionado quando o trabalho (método) associado a a é TaskWaitEnd concluído.
AwaitTaskContinuationScheduled TaskTransfer(0x1)

Tasks(0x2)
Informativo (4) Acionado quando uma continuação assíncrona para um Task é agendada.

ASP.NET Core

ASP.NET Core também fornece vários eventos para ajudá-lo a diagnosticar problemas na pilha ASP.NET Core.

Para saber mais sobre os eventos no ASP.NET Core e como consumi-los, consulte Registrando no .NET Core e no ASP.NET Core.

Núcleo do Entity Framework

O EF Core também fornece eventos para ajudá-lo a diagnosticar problemas no EF Core.

Para saber mais sobre os eventos no EF Core e como consumi-los, consulte Eventos do .NET no EF Core.