Стандартные поставщики событий в .NET
Библиотеки и среда выполнения .NET записывают диагностические события с помощью ряда разных поставщиков событий. Вы можете включать нужные поставщики в зависимости от задач диагностики. В этой статье описываются некоторые популярные поставщики событий в библиотеках и среде выполнения .NET.
CoreCLR
Поставщик "Microsoft-Windows-DotNETRuntime"
Этот поставщик генерирует различные события из среды выполнения .NET, в том числе события сборки мусора, загрузчика, JIT, исключения и другие события. Дополнительные сведения обо всех событиях этого поставщика см. в списке событий поставщика среды выполнения.
Поставщик "Microsoft-DotNETCore-SampleProfiler"
Этот поставщик событий среды выполнения .NET используется для выборки циклов ЦП для управляемых стеков вызовов. При включении он записывает моментальный снимок управляемых вызовов каждого потока в каждом миллисекундах. Чтобы использовать эту возможность, необходимо настроить уровень EventLevel не ниже Informational
.
Библиотеки платформы
Поставщик "Microsoft-Extensions-DependencyInjection"
Этот поставщик регистрирует сведения из DependencyInjection. События, регистрируемые поставщиком Microsoft-Extensions-DependencyInjection
, представлены в следующей таблице:
Имя события | Ключевое слово | Level | Description |
---|---|---|---|
CallSiteBuilt |
Подробный (5) | Создан сайт вызова. | |
ServiceResolved |
Подробный (5) | Была разрешена служба. | |
ExpressionTreeGenerated |
Подробный (5) | Создано дерево выражения. | |
DynamicMethodBuilt |
Подробный (5) | Создан DynamicMethod. | |
ScopeDisposed |
Подробный (5) | Область удалена. | |
ServiceRealizationFailed |
Подробный (5) | Сбой реализации службы. | |
ServiceProviderBuilt |
ServiceProviderInitialized(0x1) |
Подробный (5) | Создан ServiceProvider. |
ServiceProviderDescriptors |
ServiceProviderInitialized(0x1) |
Подробный (5) | Список ServiceDescriptor, который использовался при компиляции ServiceProvider. |
Поставщик "System.Buffers.ArrayPoolEventSource"
Этот поставщик регистрирует сведения из ArrayPool. События, регистрируемые поставщиком ArrayPoolEventSource
, представлены в следующей таблице:
Имя события | Level | Description |
---|---|---|
BufferRented |
Подробный (5) | Буфер успешно арендован. |
BufferAllocated |
Информационный (4) | Буфер выделен из пула. |
BufferReturned |
Подробный (5) | Буфер возвращен в пул. |
BufferTrimmed |
Информационный (4) | Предпринята попытка освободить буфер из-за нехватки памяти или отсутствия активности. |
BufferTrimPoll |
Информационный (4) | Выполняется проверка для усечения буферов. |
BufferDropped |
Информационный (4) | Буфер удаляется при возвращении в пул. |
Поставщик "System.Net.Http"
Этот поставщик регистрирует сведения из стека HTTP. События, регистрируемые поставщиком System.Net.Http
, представлены в следующей таблице:
Имя события | Level | Description |
---|---|---|
RequestStart | Информационный (4) | Начало HTTP-запроса. |
RequestStop | Информационный (4) | Конец HTTP-запроса. |
RequestFailed | Ошибка (2) | Сбой HTTP-запроса. |
ConnectionEstablished | Информационный (4) | Установлено HTTP-соединение. |
ConnectionClosed | Информационный (4) | HTTP-соединение закрыто. |
RequestLeftQueue | Информационный (4) | HTTP-запрос покинул очередь запросов. |
RequestHeadersStart | Информационный (4) | Начало HTTP-запроса заголовка. |
RequestHeaderStop | Информационный (4) | Конец HTTP-запроса заголовка. |
RequestContentStart | Информационный (4) | Начало HTTP-запроса содержимого. |
RequestContentStop | Информационный (4) | Конец HTTP-запроса содержимого. |
ResponseHeadersStart | Информационный (4) | Начало HTTP-ответа для заголовка. |
ResponseHeaderStop | Информационный (4) | Конец HTTP-ответа для заголовка. |
ResponseContentStart | Информационный (4) | Начало HTTP-ответа для содержимого. |
ResponseContentStop | Информационный (4) | Конец HTTP-ответа для содержимого. |
Поставщик "System.Net.NameResolution"
Этот поставщик регистрирует сведения, связанные с разрешением доменных имен. События, регистрируемые поставщиком System.Net.NameResolution
, представлены в следующей таблице:
Имя события | Level | Description |
---|---|---|
ResolutionStart |
Информационный (4) | Разрешение доменных имен начато. |
ResolutionStop |
Информационный (4) | Разрешение доменных имен завершено. |
ResolutionFailed |
Информационный (4) | Разрешение доменных имен завершилось сбоем. |
Поставщик "System.Net.Sockets"
Этот поставщик регистрирует сведения из Socket. События, регистрируемые поставщиком System.Net.Sockets
, представлены в следующей таблице:
Имя события | Level | Description |
---|---|---|
ConnectStart |
Информационный (4) | Предпринята попытка запустить подключение к сокету. |
ConnectStop |
Информационный (4) | Попытка запустить подключение к сокету завершена. |
ConnectFailed |
Информационный (4) | Попытка запустить подключение к сокету завершилась сбоем. |
AcceptStart |
Информационный (4) | Предпринята попытка принять подключение к сокету. |
AcceptStop |
Информационный (4) | Попытка принять подключение к сокету завершена. |
AcceptFailed |
Информационный (4) | Попытка принять подключение к сокету завершилась сбоем. |
Поставщик "System.Threading.Tasks.TplEventSource"
Этот поставщик регистрирует сведения, относящиеся к библиотеке параллельных задач, например события планировщика задач. События, регистрируемые поставщиком TplEventSource
, представлены в следующей таблице:
Имя события | Ключевое слово | Level | Description |
---|---|---|---|
TaskScheduled |
TaskTransfer (0x1 )Tasks (0x2 ) |
Информационный (4) | Объект Task помещен в очередь планировщика задач. |
TaskStarted |
Tasks (0x2 ) |
Информационный (4) | Начато выполнение объекта Task. |
TaskCompleted |
TaskStops (0x40 ) |
Информационный (4) | Выполнение объекта Task завершено. |
TaskWaitBegin |
TaskTransfer (0x1 )TaskWait (0x2 ) |
Информационный (4) | Возникает при начале неявного или явного ожидания завершения объекта Task. |
TaskWaitEnd |
Tasks (0x2 ) |
Подробный (5) | Возникает при возврате ожидания завершения объекта Task. |
TaskWaitContinuationStarted |
Tasks (0x2 ) |
Подробный (5) | Возникает при запуске рабочего элемента (метода), связанного с TaskWaitEnd . |
TaskWaitContinuationCompleted |
TaskStops (0x40 ) |
Подробный (5) | Возникает при завершении рабочего элемента (метода), связанного с TaskWaitEnd . |
AwaitTaskContinuationScheduled |
TaskTransfer (0x1 )Tasks (0x2 ) |
Информационный (4) | Возникает при планировании асинхронного продолжения для объекта Task. |
ASP.NET Core
В ASP.NET Core также предусмотрен ряд событий, помогающих диагностировать проблемы в стеке ASP.NET Core.
Дополнительные сведения о событиях в ASP.NET Core и их использовании см. в разделе Ведение журнала в .NET Core и ASP.NET Core.
Entity Framework Core
EF Core также предоставляет события, которые помогают диагностировать проблемы в EF Core.
Дополнительные сведения о событиях в EF Core и их использовании см. в разделе События .NET в EF Core .