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.