Provedores de eventos conhecidos no .NET
O runtime e as bibliotecas do .NET gravam eventos de diagnóstico por meio de vários provedores de eventos diferentes. A depender das suas necessidades de diagnóstico, você pode escolher os provedores apropriados para habilitar. Este artigo descreve alguns dos provedores de eventos mais usados no runtime e bibliotecas do .NET.
CoreCLR
Provedor "Microsoft-Windows-DotNETRuntime"
Esse provedor emite vários eventos do runtime do .NET, incluindo GC, carregador, JIT, exceção e outros eventos. Leia mais sobre cada evento desse provedor na Lista de Eventos dos Provedores de Runtime.
Provedor "Microsoft-DotNETCore-SampleProfiler"
Esse provedor é um provedor de eventos de runtime do .NET usado para amostragem de CPU para pilhas de chamadas gerenciadas. Quando habilitado, ele captura um instantâneo das pilhas de chamadas gerenciadas de cada thread a cada milissegundo. Para habilitar essa captura, você deve especificar uma EventLevel de Informational
ou superior.
Bibliotecas do Framework
Provedor "Microsoft-Extensions-DependencyInjection"
Esse provedor registra informações de DependencyInjection. A tabela a seguir mostra os eventos registrados pelo provedor Microsoft-Extensions-DependencyInjection
:
Nome do evento | Palavra-chave | Nível | Descrição |
---|---|---|---|
CallSiteBuilt |
Detalhado (5) | Um site de chamada foi criado. | |
ServiceResolved |
Detalhado (5) | Um serviço foi resolvido. | |
ExpressionTreeGenerated |
Detalhado (5) | Uma árvore de expressão foi gerada. | |
DynamicMethodBuilt |
Detalhado (5) | Um DynamicMethod foi criado. | |
ScopeDisposed |
Detalhado (5) | O escopo foi descartado. | |
ServiceRealizationFailed |
Detalhado (5) | Falha na realização de um serviço. | |
ServiceProviderBuilt |
ServiceProviderInitialized(0x1) |
Detalhado (5) | Um ServiceProvider foi criado. |
ServiceProviderDescriptors |
ServiceProviderInitialized(0x1) |
Detalhado (5) | Uma lista de ServiceDescriptor usada durante a compilação ServiceProvider. |
Provedor "System.Buffers.ArrayPoolEventSource"
Esse provedor registra informações do ArrayPool. A tabela a seguir mostra os eventos registrados por ArrayPoolEventSource
:
Nome do evento | Nível | Descrição |
---|---|---|
BufferRented |
Detalhado (5) | Um buffer é alugado com êxito. |
BufferAllocated |
Informativo (4) | Um buffer é alocado pelo pool. |
BufferReturned |
Detalhado (5) | Um buffer retorna ao pool. |
BufferTrimmed |
Informativo (4) | É feita a tentativa de se liberar buffer devido à pressão de memória ou a inatividade. |
BufferTrimPoll |
Informativo (4) | Uma verificação está sendo feita para cortar buffers. |
BufferDropped |
Informativo (4) | Um buffer é removido ao retornar ao pool. |
Provedor "System.Net.Http"
Esse provedor registra informações da pilha HTTP. A tabela a seguir mostra os eventos registrados pelo provedor System.Net.Http
:
Nome do evento | Nível | Descrição |
---|---|---|
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. |
ConnectionEstablished | Informativo (4) | Uma conexão HTTP foi estabelecida. |
ConnectionClosed | Informativo (4) | Uma conexão HTTP foi fechada. |
RequestLeftQueue | Informativo (4) | Uma solicitação HTTP deixou a 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 para conteúdo foi iniciada. |
RequestContentStop | Informativo (4) | Uma solicitação HTTP para 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 conteúdo foi iniciada. |
ResponseContentStop | Informativo (4) | Uma resposta HTTP para conteúdo foi concluída. |
Provedor "System.Net.NameResolution"
Esse provedor registra informações relacionadas à resolução de nomes de domínio. A tabela a seguir mostra os eventos registrados por System.Net.NameResolution
:
Nome do evento | Nível | Descrição |
---|---|---|
ResolutionStart |
Informativo (4) | Uma resolução de nome de domínio foi iniciada. |
ResolutionStop |
Informativo (4) | Uma resolução de nome de domínio foi concluída. |
ResolutionFailed |
Informativo (4) | Uma resolução de nome de domínio falhou. |
Provedor "System.Net.Sockets"
Esse provedor registra informações de Socket. A tabela a seguir mostra os eventos registrados pelo provedor System.Net.Sockets
:
Nome do evento | Nível | Descrição |
---|---|---|
ConnectStart |
Informativo (4) | Uma tentativa de iniciar uma conexão de soquete foi iniciada. |
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) | Uma tentativa de aceitar uma conexão de soquete foi iniciada. |
AcceptStop |
Informativo (4) | Uma tentativa de aceitar uma conexão de soquete foi concluída. |
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 de Paralelismo de tarefas, como eventos do agendador de tarefas. A tabela a seguir mostra os eventos registrados por TplEventSource
:
Nome do evento | Palavra-chave | Nível | Descrição |
---|---|---|---|
TaskScheduled |
TaskTransfer (0x1 )Tasks (0x2 ) |
Informativo (4) | Um Task é enfileirado no agendador de tarefas. |
TaskStarted |
Tasks (0x2 ) |
Informativo (4) | Um Task começou a ser executado. |
TaskCompleted |
TaskStops (0x40 ) |
Informativo (4) | Um Task terminou de ser executado. |
TaskWaitBegin |
TaskTransfer (0x1 )TaskWait (0x2 ) |
Informativo (4) | Acionado quando uma espera implícita ou explícita em uma conclusão Task é iniciada. |
TaskWaitEnd |
Tasks (0x2 ) |
Detalhado (5) | Acionado quando a espera por uma conclusão Task é retornada. |
TaskWaitContinuationStarted |
Tasks (0x2 ) |
Detalhado (5) | Acionado quando o trabalho (método) associado a um TaskWaitEnd é iniciado. |
TaskWaitContinuationCompleted |
TaskStops (0x40 ) |
Detalhado (5) | Acionado quando o trabalho (método) associado a um TaskWaitEnd é iniciado. |
AwaitTaskContinuationScheduled |
TaskTransfer (0x1 )Tasks (0x2 ) |
Informativo (4) | Acionado quando uma continuação assíncrona para um Task está agendada. |
ASP.NET Core
O ASP.NET Core também fornece vários eventos para ajudá-lo a diagnosticar problemas na pilha de ASP.NET Core.
Para saber mais sobre os eventos em ASP.NET Core e sobre como consumi-los, consulte o Log no .NET Core e 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 .NET no EF Core.