Библиотеки и среда выполнения .NET записывают диагностические события с помощью ряда разных поставщиков событий. Вы можете включать нужные поставщики в зависимости от задач диагностики. В этой статье описываются некоторые популярные поставщики событий в библиотеках и среде выполнения .NET.
CoreCLR
Поставщик "Microsoft-Windows-DotNETRuntime"
Этот поставщик генерирует различные события из среды выполнения .NET, в том числе события сборки мусора, загрузчика, JIT, исключения и другие события. Дополнительные сведения обо всех событиях этого поставщика см. в списке событий поставщика среды выполнения.
Поставщик "Microsoft-DotNETCore-SampleProfiler"
Этот поставщик событий среды выполнения .NET используется для выборки циклов ЦП для управляемых стеков вызовов. При включении он записывает моментальный снимок управляемых вызовов каждого потока в каждом миллисекундах. Чтобы использовать эту возможность, необходимо настроить уровень EventLevel не ниже Informational.
Этот поставщик регистрирует сведения из DependencyInjection. События, регистрируемые поставщиком Microsoft-Extensions-DependencyInjection, представлены в следующей таблице:
Этот поставщик регистрирует сведения из 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, представлены в следующей таблице:
EF Core также предоставляет события, которые помогают диагностировать проблемы в EF Core.
Дополнительные сведения о событиях в EF Core и их использовании см. в разделе События .NET в EF Core .
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв:
Присоединитесь к серии встреч для создания масштабируемых решений искусственного интеллекта на основе реальных вариантов использования с другими разработчиками и экспертами.