Dobrze znani dostawcy zdarzeń na platformie .NET
Środowisko uruchomieniowe i biblioteki platformy .NET zapisują zdarzenia diagnostyczne za pośrednictwem wielu różnych dostawców zdarzeń. W zależności od potrzeb diagnostycznych można wybrać odpowiednich dostawców do włączenia. W tym artykule opisano niektóre z najczęściej używanych dostawców zdarzeń w środowisku uruchomieniowym i bibliotekach platformy .NET.
CoreCLR
Dostawca "Microsoft-Windows-DotNETRuntime"
Ten dostawca emituje różne zdarzenia ze środowiska uruchomieniowego platformy .NET, w tym GC, moduł ładujący, JIT, wyjątek i inne zdarzenia. Przeczytaj więcej o każdym zdarzeniu tego dostawcy na liście zdarzeń dostawcy środowiska uruchomieniowego.
Dostawca "Microsoft-DotNETCore-SampleProfiler"
Ten dostawca jest dostawcą zdarzeń środowiska uruchomieniowego platformy .NET, który jest używany do próbkowania procesora CPU dla zarządzanych stosów wywołań. Po włączeniu przechwytuje migawkę zarządzanego stosu wywołań każdego wątku co milisekundę. Aby włączyć to przechwytywanie, należy określić wartość EventLevelInformational
lub większą.
Biblioteki platformy
Dostawca "Microsoft-Extensions-DependencyInjection"
Ten dostawca rejestruje informacje z narzędzia DependencyInjection. W poniższej tabeli przedstawiono zdarzenia rejestrowane przez dostawcę Microsoft-Extensions-DependencyInjection
:
Nazwa zdarzenia | Słowo kluczowe | Poziom | opis |
---|---|---|---|
CallSiteBuilt |
Pełne (5) | Utworzono witrynę połączenia. | |
ServiceResolved |
Pełne (5) | Rozwiązano problem z usługą. | |
ExpressionTreeGenerated |
Pełne (5) | Wygenerowano drzewo wyrażeń. | |
DynamicMethodBuilt |
Pełne (5) | A DynamicMethod został zbudowany. | |
ScopeDisposed |
Pełne (5) | Zakres został usunięty. | |
ServiceRealizationFailed |
Pełne (5) | Realizacja usługi nie powiodła się. | |
ServiceProviderBuilt |
ServiceProviderInitialized(0x1) |
Pełne (5) | A ServiceProvider został zbudowany. |
ServiceProviderDescriptors |
ServiceProviderInitialized(0x1) |
Pełne (5) | Lista, ServiceDescriptor która została użyta podczas kompilacji ServiceProvider . |
Dostawca "System.Buffers.ArrayPoolEventSource"
Ten dostawca rejestruje informacje z puli ArrayPool. W poniższej tabeli przedstawiono zdarzenia rejestrowane przez ArrayPoolEventSource
program :
Nazwa zdarzenia | Poziom | opis |
---|---|---|
BufferRented |
Pełne (5) | Bufor jest pomyślnie wynajęty. |
BufferAllocated |
Informacyjne (4) | Bufor jest przydzielany przez pulę. |
BufferReturned |
Pełne (5) | Bufor jest zwracany do puli. |
BufferTrimmed |
Informacyjne (4) | Podjęto próbę zwolnienia buforu z powodu ciśnienia pamięci lub braku aktywności. |
BufferTrimPoll |
Informacyjne (4) | Sprawdzanie jest wykonywane w celu przycinania buforów. |
BufferDropped |
Informacyjne (4) | Bufor jest porzucany po powrocie do puli. |
Dostawca "System.Net.Http"
Ten dostawca rejestruje informacje ze stosu HTTP. W poniższej tabeli przedstawiono zdarzenia rejestrowane przez System.Net.Http
dostawcę:
Nazwa zdarzenia | Poziom | opis |
---|---|---|
RequestStart | Informacyjne (4) | Rozpoczęto żądanie HTTP. |
RequestStop | Informacyjne (4) | Żądanie HTTP zostało zakończone. |
RequestFailed | Błąd (2) | Żądanie HTTP nie powiodło się. |
Połączenie ionEstablished | Informacyjne (4) | Nawiązano połączenie HTTP. |
Połączenie ionClosed | Informacyjne (4) | Połączenie HTTP zostało zamknięte. |
RequestLeftQueue | Informacyjne (4) | Żądanie HTTP opuściło kolejkę żądań. |
RequestHeadersStart | Informacyjne (4) | Rozpoczęto żądanie HTTP dla nagłówka. |
RequestHeaderStop | Informacyjne (4) | Żądanie HTTP dla nagłówka zostało zakończone. |
RequestContentStart | Informacyjne (4) | Rozpoczęto żądanie HTTP dotyczące zawartości. |
RequestContentStop | Informacyjne (4) | Żądanie HTTP dotyczące zawartości zostało zakończone. |
ResponseHeadersStart | Informacyjne (4) | Uruchomiono odpowiedź HTTP dla nagłówka. |
ResponseHeaderStop | Informacyjne (4) | Zakończono odpowiedź HTTP dla nagłówka. |
ResponseContentStart | Informacyjne (4) | Rozpoczęto odpowiedź HTTP dla zawartości. |
ResponseContentStop | Informacyjne (4) | Zakończono odpowiedź HTTP dla zawartości. |
Dostawca "System.Net.NameResolution"
Ten dostawca rejestruje informacje dotyczące rozpoznawania nazw domen. W poniższej tabeli przedstawiono zdarzenia rejestrowane przez System.Net.NameResolution
program :
Nazwa zdarzenia | Poziom | opis |
---|---|---|
ResolutionStart |
Informacyjne (4) | Rozpoczęto rozpoznawanie nazw domen. |
ResolutionStop |
Informacyjne (4) | Rozpoznawanie nazw domen zostało zakończone. |
ResolutionFailed |
Informacyjne (4) | Rozpoznawanie nazw domen nie powiodło się. |
Dostawca "System.Net.Sockets"
Ten dostawca rejestruje informacje z programu Socket. W poniższej tabeli przedstawiono zdarzenia rejestrowane przez System.Net.Sockets
dostawcę:
Nazwa zdarzenia | Poziom | opis |
---|---|---|
ConnectStart |
Informacyjne (4) | Rozpoczęto próbę uruchomienia połączenia gniazda. |
ConnectStop |
Informacyjne (4) | Próba uruchomienia połączenia gniazda została zakończona. |
ConnectFailed |
Informacyjne (4) | Próba uruchomienia połączenia gniazda nie powiodła się. |
AcceptStart |
Informacyjne (4) | Rozpoczęto próbę zaakceptowania połączenia gniazda. |
AcceptStop |
Informacyjne (4) | Próba zaakceptowania połączenia gniazda została zakończona. |
AcceptFailed |
Informacyjne (4) | Próba zaakceptowania połączenia gniazda nie powiodła się. |
Dostawca "System.Threading.Tasks.TplEventSource"
Ten dostawca rejestruje informacje dotyczące biblioteki równoległej zadań, takich jak zdarzenia harmonogramu zadań. W poniższej tabeli przedstawiono zdarzenia rejestrowane przez TplEventSource
program :
Nazwa zdarzenia | Słowo kluczowe | Poziom | opis |
---|---|---|---|
TaskScheduled |
TaskTransfer (0x1 )Tasks (0x2 ) |
Informacyjne (4) | Element jest Task kolejkowany do harmonogramu zadań. |
TaskStarted |
Tasks (0x2 ) |
Informacyjne (4) | Element Task A rozpoczął wykonywanie. |
TaskCompleted |
TaskStops (0x40 ) |
Informacyjne (4) | Element A Task zakończył wykonywanie. |
TaskWaitBegin |
TaskTransfer (0x1 )TaskWait (0x2 ) |
Informacyjne (4) | Wyzwolono, gdy rozpoczęto niejawne lub jawne oczekiwanie na Task ukończenie. |
TaskWaitEnd |
Tasks (0x2 ) |
Pełne (5) | Wyzwolony po powrocie oczekiwania na Task ukończenie. |
TaskWaitContinuationStarted |
Tasks (0x2 ) |
Pełne (5) | Wyzwolony po uruchomieniu pracy (metody) skojarzonej z elementem TaskWaitEnd . |
TaskWaitContinuationCompleted |
TaskStops (0x40 ) |
Pełne (5) | Wyzwolony po zakończeniu pracy (metody) skojarzonej z elementem TaskWaitEnd . |
AwaitTaskContinuationScheduled |
TaskTransfer (0x1 )Tasks (0x2 ) |
Informacyjne (4) | Wyzwalane, gdy zaplanowano asynchroniczną kontynuację elementu Task . |
ASP.NET Core
ASP.NET Core udostępnia również kilka zdarzeń, które ułatwiają diagnozowanie problemów w stosie ASP.NET Core.
Aby dowiedzieć się więcej o zdarzeniach w programie ASP.NET Core i sposobie ich korzystania, zobacz Rejestrowanie na platformie .NET Core i ASP.NET Core.
Entity Framework Core
Program EF Core udostępnia również zdarzenia ułatwiające diagnozowanie problemów w programie EF Core.
Aby dowiedzieć się więcej o zdarzeniach w programie EF Core i sposobie ich korzystania, zobacz Zdarzenia platformy .NET w programie EF Core.