Стандартные счетчики событий в .NET
В библиотеках и среде выполнения .NET реализовано и опубликовано несколько счетчиков событий, которые можно использовать для выявления и диагностики различных проблем с производительностью. В этой статье приводятся справочные сведения о поставщиках, которые можно использовать для отслеживания этих счетчиков, а также их описание. Ознакомьтесь со ссылкой на известные метрики вместо этого, если вы работаете с . Более новый API System.Diagnostics.Metrics в NET.
Счетчики "System.Runtime"
Следующие счетчики публикуются в рамках среды выполнения .NET (CoreCLR) и сохраняются в RuntimeEventSource.cs.
Счетчик | Description | Впервые реализовано в |
---|---|---|
% Time in GC since last GC (time-in-gc ) |
Процент времени в сборке мусора с момента последнего сборки мусора | .NET Core 3.1. |
Allocation Rate (alloc-rate ) |
Количество выделенных байтов за интервал обновления | .NET Core 3.1. |
CPU Usage (cpu-usage ) |
Процент использования ЦП процессом относительно всех ресурсов ЦП системы | .NET Core 3.1. |
Exception Count (exception-count ) |
Количество произошедших исключений | .NET Core 3.1. |
GC Heap Size (gc-heap-size ) |
Количество мегабайтов, которые должны быть выделены на основе GC.GetTotalMemory(Boolean) | .NET Core 3.1. |
Gen 0 GC Count (gen-0-gc-count ) |
Количество сборок мусора для поколения 0 за интервал обновления | .NET Core 3.1. |
Gen 0 Size (gen-0-size ) |
Количество байтов для сборки мусора поколения 0 | .NET Core 3.1. |
Gen 1 GC Count (gen-1-gc-count ) |
Количество сборок мусора для поколения 1 за интервал обновления | .NET Core 3.1. |
Gen 1 Size (gen-1-size ) |
Количество байтов для сборки мусора поколения 1 | .NET Core 3.1. |
Gen 2 GC Count (gen-2-gc-count ) |
Количество сборок мусора для поколения 2 за интервал обновления | .NET Core 3.1. |
Gen 2 Size (gen-2-size ) |
Количество байтов для сборки мусора поколения 2 | .NET Core 3.1. |
LOH Size (loh-size ) |
Количество байтов для кучи больших объектов | .NET Core 3.1. |
POH Size (poh-size ) |
Количество байтов для кучи закрепленных объектов (доступно в .NET 5 и более поздних версиях) | .NET Core 3.1. |
GC Fragmentation (gc-fragmentation ) |
Фрагментация кучи сборки мусора (доступно в .NET 5 и более поздних версиях) | .NET Core 3.1. |
Monitor Lock Contention Count (monitor-lock-contention-count ) |
Значение, указывающее, сколько раз возникало состязание при попытке установить блокировку монитора на основе Monitor.LockContentionCount | .NET Core 3.1. |
Number of Active Timers (active-timer-count ) |
Количество активных в данных момент экземпляров Timer на основе Timer.ActiveCount | .NET Core 3.1. |
Number of Assemblies Loaded (assembly-count ) |
Количество экземпляров Assembly, загруженных в процесс в определенный момент времени | .NET Core 3.1. |
ThreadPool Completed Work Item Count (threadpool-completed-items-count ) |
Количество рабочих элементов, обработанных на данный момент в ThreadPool | .NET Core 3.1. |
ThreadPool Queue Length (threadpool-queue-length ) |
Количество рабочих элементов, находящихся в настоящее время в очереди на обработку в ThreadPool | .NET Core 3.1. |
ThreadPool Thread Count (threadpool-thread-count ) |
Текущее количество потоков пула потоков в ThreadPool на основе ThreadPool.ThreadCount | .NET Core 3.1. |
Working Set (working-set ) |
Количество мегабайт физической памяти, сопоставленных с контекстом процесса в определенный момент времени на основе Environment.WorkingSet | .NET Core 3.1. |
IL Bytes Jitted (il-bytes-jitted ) |
Общий размер IL, скомпилированных JIT-компилятором, в байтах | .NET 5 |
Methods Jitted Count (methods-jitted-count ) |
Число методов, скомпилированных JIT-компилятором | .NET 5 |
GC Committed Bytes (gc-committed ) |
Число байт, зафиксированных сборщиком мусора | .NET 6 |
Счетчики Microsoft.AspNetCore.Hosting
Следующие счетчики публикуются в составе ASP.NET Core и поддерживаются в HostingEventSource.cs.
Счетчик | Description | Впервые реализовано в |
---|---|---|
Current Requests (current-requests ) |
Общее количество запросов, которые были запущены, но еще не остановлены | .NET Core 3.1. |
Failed Requests (failed-requests ) |
Общее число неудачных запросов, произошедших за время существования приложения | .NET Core 3.1. |
Request Rate (requests-per-second ) |
Количество выполняемых запросов за интервал обновления | .NET Core 3.1. |
Total Requests (total-requests ) |
Общее число запросов, произошедших за время существования приложения | .NET Core 3.1. |
Счетчики Microsoft.AspNetCore.Http.Connections
Следующие счетчики публикуются как часть ASP.NET Core SignalR и поддерживаются в HttpConnectionsEventSource.cs.
Счетчик | Description | Впервые реализовано в |
---|---|---|
Average Connection Duration (connections-duration ) |
Средняя продолжительность подключения в миллисекундах | .NET Core 3.1. |
Current Connections (current-connections ) |
Количество активных подключений, которые были запущены, но еще не остановлены | .NET Core 3.1. |
Total Connections Started (connections-started ) |
Общее число запущенных подключений | .NET Core 3.1. |
Total Connections Stopped (connections-stopped ) |
Общее число остановленных подключений | .NET Core 3.1. |
Total Connections Timed Out (connections-timed-out ) |
Общее число подключений, для которых истекло время ожидания | .NET Core 3.1. |
Счетчики Microsoft-AspNetCore-Server-Kestrel
Следующие счетчики публикуются в составе веб-сервера ASP.NET Core Kestrel и поддерживаются в KestrelEventSource.cs.
Счетчик | Description | Впервые реализовано в |
---|---|---|
Connection Queue Length (connection-queue-length ) |
Текущая длина очереди подключения | .NET 5 |
Connection Rate (connections-per-second ) |
Количество подключений к веб-серверу за интервал обновления | .NET 5 |
Current Connections (current-connections ) |
Текущее количество активных подключений к веб-серверу | .NET 5 |
Current TLS Handshakes (current-tls-handshakes ) |
Текущее количество подтверждений TLS | .NET 5 |
Current Upgraded Requests (WebSockets) (current-upgraded-requests ) |
Текущее количество обновленных запросов (WebSockets) | .NET 5 |
Failed TLS Handshakes (failed-tls-handshakes ) |
Общее число неудачных подтверждений TLS | .NET 5 |
Request Queue Length (request-queue-length ) |
Текущая длина очереди запросов | .NET 5 |
TLS Handshake Rate (tls-handshakes-per-second ) |
Количество подтверждений TLS за интервал обновления | .NET 5 |
Total Connections (total-connections ) |
Общее число подключений к веб-серверу | .NET 5 |
Total TLS Handshakes (total-tls-handshakes ) |
Общее число подтверждений TLS на веб-сервере | .NET 5 |
Счетчики System.Net.Http
Следующие счетчики публикуются стеком HTTP и поддерживаются в HttpTelemetry.AnyOS.cs.
Счетчик | Description | Впервые реализовано в |
---|---|---|
Requests Started (requests-started ) |
Количество запросов, запущенных с момента запуска процесса | .NET 5 |
Requests Started Rate (requests-started-rate ) |
Количество запущенных запросов за интервал обновления | .NET 5 |
Requests Failed (requests-failed ) |
Количество завершившихся сбоем запросов с момента запуска процесса | .NET 5 |
Requests Failed Rate (requests-failed-rate ) |
Количество завершившихся сбоем запросов за интервал обновления | .NET 5 |
Current Requests (current-requests ) |
Текущее число активных HTTP-запросов, которые начались, но еще не завершены или завершились сбоем. | .NET 5 |
Current HTTP 1.1 Connections (http11-connections-current-total ) |
Текущее количество соединений HTTP 1.1, которые были запущены, но еще не завершились успехом или сбоем | .NET 5 |
Current HTTP 2.0 Connections (http20-connections-current-total ) |
Текущее количество соединений HTTP 2.0, которые были запущены, но еще не завершились успехом или сбоем | .NET 5 |
Current HTTP 3.0 Connections (http30-connections-current-total ) |
Текущее число подключений HTTP 3.0, которые начались, но еще не завершены или завершились сбоем. | .NET 7 |
HTTP 1.1 Requests Queue Duration (http11-requests-queue-duration ) |
Средняя продолжительность пребывания запросов HTTP 1.1 в очереди запросов | .NET 5 |
HTTP 2.0 Requests Queue Duration (http20-requests-queue-duration ) |
Средняя продолжительность пребывания запросов HTTP 2.0 в очереди запросов | .NET 5 |
HTTP 3.0 Requests Queue Duration (http30-requests-queue-duration ) |
Средняя продолжительность запросов HTTP 3.0, потраченных в очереди запросов | .NET 7 |
Счетчики System.Net.NameResolution
Следующие счетчики отслеживают метрики, связанные с подстановками DNS, и используются в NameResolutionTelemetry.cs.
Счетчик | Description | Впервые реализовано в |
---|---|---|
DNS Lookups Requested (dns-lookups-requested ) |
Количество запросов на поиск DNS, запущенных с момента запуска процесса | .NET 5 |
Average DNS Lookup Duration (dns-lookups-duration ) |
Средняя продолжительность поиска DNS | .NET 5 |
Current DNS Lookups (current-dns-lookups ) |
Текущее число подстановок DNS, которые начались, но еще не завершены или завершились сбоем. | .NET 6 |
Счетчики System.Net.Security
В NetSecurityTelemetry.cs счетчики отслеживают метрики, связанные с протоколом транспортного уровня безопасности.
Счетчик | Description | Впервые реализовано в |
---|---|---|
TLS handshakes completed (tls-handshake-rate ) |
Количество подтверждений TLS, завершенных за интервал обновления | .NET 5 |
Total TLS handshakes completed (total-tls-handshakes ) |
Общее количество подтверждений TLS, завершенных с момента запуска процесса | .NET 5 |
Current TLS handshakes (current-tls-handshakes ) |
Текущее количество соединений подтверждений TLS, которые были запущены, но еще не завершились | .NET 5 |
Total TLS handshakes failed (failed-tls-handshakes ) |
Общее количество подтверждений TLS, завершившихся сбоем с момента запуска процесса | .NET 5 |
All TLS Sessions Active (all-tls-sessions-open ) |
Количество активных сеансов TLS любой версии | .NET 5 |
TLS 1.0 Sessions Active (tls10-sessions-open ) |
Количество активных сеансов TLS 1.0 | .NET 5 |
TLS 1.1 Sessions Active (tls11-sessions-open ) |
Количество активных сеансов TLS 1.1 | .NET 5 |
TLS 1.2 Sessions Active (tls12-sessions-open ) |
Количество активных сеансов TLS 1.2 | .NET 5 |
TLS 1.3 Sessions Active (tls13-sessions-open ) |
Количество активных сеансов TLS 1.3 | .NET 5 |
TLS Handshake Duration (all-tls-handshake-duration ) |
Средняя продолжительность всех подтверждений TLS | .NET 5 |
TLS 1.0 Handshake Duration (tls10-handshake-duration ) |
Средняя продолжительность подтверждений TLS 1.0 | .NET 5 |
TLS 1.1 Handshake Duration (tls11-handshake-duration ) |
Средняя продолжительность подтверждений TLS 1.1 | .NET 5 |
TLS 1.2 Handshake Duration (tls12-handshake-duration ) |
Средняя продолжительность подтверждений TLS 1.2 | .NET 5 |
TLS 1.3 Handshake Duration (tls13-handshake-duration ) |
Средняя продолжительность подтверждений TLS 1.3 | .NET 5 |
Счетчики System.Net.Sockets
Следующие счетчики отслеживают метрики, связанные Socket с ими, и используются в SocketsTelemetry.
Счетчик | Description | Впервые реализовано в |
---|---|---|
Outgoing Connections Established (outgoing-connections-established ) |
Общее количество исходящих соединений, установленных с момента запуска процесса | .NET 5 |
Incoming Connections Established (incoming-connections-established ) |
Общее количество входящих соединений, установленных с момента запуска процесса | .NET 5 |
Current Outgoing Connect Attempts (current-outgoing-connect-attempts ) |
Текущее число попыток исходящего подключения, которые начались, но еще не завершены или завершились сбоем. | .NET 7 |
Bytes Received (bytes-received ) |
Общее количество байтов, полученных с момента запуска процесса | .NET 5 |
Bytes Sent (bytes-sent ) |
Общее количество байтов, отправленных с момента запуска процесса | .NET 5 |
Datagrams Received (datagrams-received ) |
Общее количество датаграмм, полученных с момента запуска процесса | .NET 5 |
Datagrams Sent (datagrams-sent ) |
Общее количество датаграмм, отправленных с момента запуска процесса | .NET 5 |