Provider di eventi noti in .NET
Il runtime e le librerie .NET scrivono eventi di diagnostica tramite diversi provider di eventi. A seconda delle esigenze di diagnostica, è possibile scegliere i provider appropriati da abilitare. Questo articolo descrive alcuni dei provider di eventi più comunemente usati nel runtime e nelle librerie .NET.
CoreCLR
Provider "Microsoft-Windows-DotNETRuntime"
Questo provider genera vari eventi dal runtime .NET, tra cui GC, caricatore, JIT, eccezione e altri eventi. Per altre informazioni su ogni evento di questo provider, vedere Elenco eventi del provider di runtime.
Provider "Microsoft-DotNETCore-SampleProfiler"
Questo provider è un provider di eventi di runtime .NET usato per il campionamento della CPU per gli stack di chiamate gestiti. Se abilitato, acquisisce uno snapshot dello stack di chiamate gestite di ciascun thread ogni millisecondo. Per abilitare questa acquisizione, è necessario specificare un EventLevel di Informational
o superiore.
Librerie del framework
Provider "Microsoft-Extensions-DependencyInjection"
Questo provider registra le informazioni da DependencyInjection. Nella tabella seguente vengono descritti gli eventi registrati dal provider Microsoft-Extensions-DependencyInjection
:
Nome evento | Parola chiave | Livello | Descrizione |
---|---|---|---|
CallSiteBuilt |
Dettagliato (5) | La compilazione di un sito di chiamata è stata completata. | |
ServiceResolved |
Dettagliato (5) | La risoluzione di un servizio è stata completata. | |
ExpressionTreeGenerated |
Dettagliato (5) | La generazione di un albero delle espressioni è stata completata. | |
DynamicMethodBuilt |
Dettagliato (5) | La compilazione di un DynamicMethod è stata completata. | |
ScopeDisposed |
Dettagliato (5) | L’eliminazione di un ambito è stata completata. | |
ServiceRealizationFailed |
Dettagliato (5) | La realizzazione di un servizio ha avuto esito negativo. | |
ServiceProviderBuilt |
ServiceProviderInitialized(0x1) |
Dettagliato (5) | La compilazione di un ServiceProvider è stata completata. |
ServiceProviderDescriptors |
ServiceProviderInitialized(0x1) |
Dettagliato (5) | Elenco di ServiceDescriptor che è stato usato durante la compilazione ServiceProvider. |
"System.Buffers.ArrayPoolEventSource" provider
Questo provider registra le informazioni da ArrayPool. Nella tabella seguente vengono descritti gli eventi registrati da ArrayPoolEventSource
:
Nome evento | Livello | Descrizione |
---|---|---|
BufferRented |
Dettagliato (5) | La locazione di un buffer è stata completata. |
BufferAllocated |
Informativo (4) | L’allocazione di un buffer da parte del pool è stata completata. |
BufferReturned |
Dettagliato (5) | La restituzione di un buffer al pool è stata completata. |
BufferTrimmed |
Informativo (4) | Si è tentato di liberare un buffer a causa di un utilizzo eccessivo della memoria o di inattività. |
BufferTrimPoll |
Informativo (4) | È in corso un controllo per tagliare i buffer. |
BufferDropped |
Informativo (4) | È stato eliminato un buffer durante la restituzione al pool. |
Provider "System.Net.Http"
Questo provider registra le informazioni dallo stack HTTP. Nella tabella seguente vengono descritti gli eventi registrati dal provider System.Net.Http
:
Nome evento | Livello | Descrizione |
---|---|---|
RequestStart | Informativo (4) | È stata avviata una richiesta HTTP. |
RequestStop | Informativo (4) | È stata completata una richiesta HTTP. |
RequestFailed | Errore (2) | Una richiesta HTTP ha avuto esito negativo. |
ConnectionEstablished | Informativo (4) | È stata stabilita una connessione HTTP. |
ConnectionClosed | Informativo (4) | È stata chiusa una connessione HTTP. |
RequestLeftQueue | Informativo (4) | Una richiesta HTTP ha lasciato la coda delle richieste. |
RequestHeadersStart | Informativo (4) | È stata avviata una richiesta HTTP per l'intestazione. |
RequestHeaderStop | Informativo (4) | È stata completata una richiesta HTTP per l'intestazione. |
RequestContentStart | Informativo (4) | È stata avviata una richiesta HTTP per il contenuto. |
RequestContentStop | Informativo (4) | È stata completata una richiesta HTTP per il contenuto. |
ResponseHeadersStart | Informativo (4) | È stata avviata una risposta HTTP per l'intestazione. |
ResponseHeaderStop | Informativo (4) | È stata completata una risposta HTTP per l'intestazione. |
ResponseContentStart | Informativo (4) | È stata avviata una risposta HTTP per il contenuto. |
ResponseContentStop | Informativo (4) | È stata completata una risposta HTTP per il contenuto. |
Provider "System.Net.NameResolution"
Questo provider registra le informazioni correlate alla risoluzione dei nomi di dominio. Nella tabella seguente vengono descritti gli eventi registrati da System.Net.NameResolution
:
Nome evento | Livello | Descrizione |
---|---|---|
ResolutionStart |
Informativo (4) | È stata avviata una risoluzione dei nomi di dominio. |
ResolutionStop |
Informativo (4) | È stata completata una risoluzione dei nomi di dominio. |
ResolutionFailed |
Informativo (4) | La risoluzione dei nomi di dominio ha avuto esito negativo. |
Provider "System.Net.Sockets"
Questo provider registra le informazioni da Socket. Nella tabella seguente vengono descritti gli eventi registrati dal provider System.Net.Sockets
:
Nome evento | Livello | Descrizione |
---|---|---|
ConnectStart |
Informativo (4) | È stato effettuato un tentativo di avviare una connessione socket. |
ConnectStop |
Informativo (4) | È stato completato un tentativo di avviare una connessione socket. |
ConnectFailed |
Informativo (4) | Il tentativo di avviare una connessione socket ha avuto esito negativo. |
AcceptStart |
Informativo (4) | È stato avviato un tentativo di accettare una connessione socket. |
AcceptStop |
Informativo (4) | È stato completato un tentativo di accettare una connessione socket. |
AcceptFailed |
Informativo (4) | Il tentativo di accettare una connessione socket ha avuto esito negativo. |
Provider "System.Threading.Tasks.TplEventSource"
Questo provider registra le informazioni su Task Parallel Library, ad esempio gli eventi dell'Utilità di pianificazione. Nella tabella seguente vengono descritti gli eventi registrati da TplEventSource
:
Nome evento | Parola chiave | Livello | Descrizione |
---|---|---|---|
TaskScheduled |
TaskTransfer (0x1 )Tasks (0x2 ) |
Informativo (4) | Un Task viene accodato all'utilità di pianificazione dell'attività. |
TaskStarted |
Tasks (0x2 ) |
Informativo (4) | È stata avviata l'esecuzione di un oggetto Task. |
TaskCompleted |
TaskStops (0x40 ) |
Informativo (4) | Un oggetto Task ha completato l'esecuzione. |
TaskWaitBegin |
TaskTransfer (0x1 )TaskWait (0x2 ) |
Informativo (4) | Generato quando è stata avviata un'attesa implicita o esplicita su un completamento Task. |
TaskWaitEnd |
Tasks (0x2 ) |
Dettagliato (5) | Generato quando l'attesa di un completamento Task viene restituita. |
TaskWaitContinuationStarted |
Tasks (0x2 ) |
Dettagliato (5) | Generato quando il lavoro (metodo) associato a un TaskWaitEnd viene avviato. |
TaskWaitContinuationCompleted |
TaskStops (0x40 ) |
Dettagliato (5) | Generato quando il lavoro (metodo) associato a un TaskWaitEnd viene completato. |
AwaitTaskContinuationScheduled |
TaskTransfer (0x1 )Tasks (0x2 ) |
Informativo (4) | Generato quando una continuazione asincrona per un Task viene pianificata. |
ASP.NET Core
ASP.NET Core fornisce anche diversi eventi che consentono di diagnosticare i problemi nello stack ASP.NET Core.
Per altre informazioni sugli eventi in ASP.NET Core e su come usarli, vedere Registrazione in .NET Core e ASP.NET Core.
Entity Framework Core
EF Core fornisce anche eventi che consentono di diagnosticare i problemi in EF Core.
Per altre informazioni sugli eventi in EF Core e su come usarli, vedere Eventi .NET in EF Core.