Метрики расширений .NET

В этой статье описываются встроенные метрики для библиотек расширений .NET диагностики, созданных с помощью System.Diagnostics.Metrics API. Список метрик на основе старого API EventCounters см. в разделе "Доступные счетчики".

Tip

Дополнительные сведения о сборе и отчете об этих метриках см. в разделе "Сбор метрик".

Microsoft.Extensions.Diagnostics.HealthChecks

Microsoft.Extensions.Diagnostics.HealthChecks Метрики сообщают сведения о проверке работоспособности из проверок работоспособности .NET:

Эти метрики можно включить, вызвав AddTelemetryHealthCheckPublisher метод расширения. Эти метрики можно включить только для метрик на основе push-уведомлений и недоступны для метрик на основе извлечения.

Метрика: dotnet.health_check.reports
Name Тип инструмента Единица (UCUM) Description
dotnet.health_check.reports Counter<T> {report} Количество раз, когда отчет о работоспособности сообщил о состоянии работоспособности приложения.
Attribute Type Description Examples Presence
dotnet.health_check.status string Состояние работоспособности приложения. Healthy; Unhealthy Always

dotnet.health_check.status — одно из следующих:

Value Description
Degraded Приложение было в состоянии понижения.
Healthy Приложение было работоспособным.
Unhealthy Приложение было неработоспособным.

Доступно начиная с .NET 8.

Метрика: dotnet.health_check.unhealthy_checks
Name Тип инструмента Единица (UCUM) Description
dotnet.health_check.unhealthy_checks Counter<T> {unhealthy_check} Количество раз, когда проверка работоспособности сообщила о состоянии работоспособности приложения как Degraded или Unhealthy.
Attribute Type Description Examples Presence
dotnet.health_check.name string Имя проверки работоспособности. ApplicationLifecycle Always
dotnet.health_check.status string Состояние работоспособности приложения. Healthy; Unhealthy Always

dotnet.health_check.status — одно из следующих:

Value Description
Degraded Приложение было в состоянии понижения.
Healthy Приложение было работоспособным.
Unhealthy Приложение было неработоспособным.

Доступно начиная с .NET 8.

Microsoft.Extensions.Diagnostics.ResourceMonitoring

Microsoft.Extensions.Diagnostics.ResourceMonitoring Метрики сообщают сведения о ресурсах из мониторинга ресурсов:

Note

Метрики, создаваемые счетчиком Microsoft.Extensions.Diagnostics.ResourceMonitoring , находятся на экспериментальном этапе. Это означает, что в них могут быть критические изменения.

Метрика: container.cpu.limit.utilization

Инструмент доступен только в системе, работающей в контейнерах как в Windows, так и в Linux.

Name Тип инструмента Единица (UCUM) Description
container.cpu.limit.utilization ObservableGauge<T> 1 Потребление ЦП запущенного контейнерного приложения относительно ограничения ресурсов в диапазоне [0, 1].

Доступно начиная с Microsoft.Extensions.Diagnostics.ResourceMonitoring версии 8.8.0.

Метрика: container.cpu.request.utilization

Инструмент доступен только в системе, работающей на контейнерах в Linux.

Name Тип инструмента Единица (UCUM) Description
container.cpu.request.utilization ObservableGauge<T> 1 Потребление ЦП запущенного контейнерного приложения относительно запроса ресурсов в диапазоне [0, 1].

Доступно начиная с Microsoft.Extensions.Diagnostics.ResourceMonitoring версии 8.8.0.

Метрика: container.cpu.time

Инструмент доступен только в системе, работающей в контейнере в Windows или Linux.

Name Тип инструмента Единица (UCUM) Description
container.cpu.time ObservableCounter<T> s Время ЦП, используемое контейнером.

Доступно начиная с Microsoft.Extensions.Diagnostics.ResourceMonitoring версии 9.8.0.

Метрика: container.memory.limit.utilization

Инструмент доступен только в системе, работающей в контейнерах как в Windows, так и в Linux.

Name Тип инструмента Единица (UCUM) Description
container.memory.limit.utilization ObservableGauge<T> 1 Потребление памяти запущенного контейнерного приложения относительно ограничения ресурсов в диапазоне [0, 1].

Доступно начиная с Microsoft.Extensions.Diagnostics.ResourceMonitoring версии 8.8.0.

Метрика: container.memory.usage

Инструмент доступен только в системе, работающей на контейнерах в Windows или Linux.

Name Тип инструмента Единица (UCUM) Description
container.memory.usage ObservableUpDownCounter<T> By Использование памяти всех процессов в контейнере измеряется в байтах.

Доступно начиная с Microsoft.Extensions.Diagnostics.ResourceMonitoring версии 9.8.0.

Метрика: process.cpu.utilization
Name Тип инструмента Единица (UCUM) Description
process.cpu.utilization ObservableGauge<T> 1 Потребление ЦП работающего приложения в диапазоне [0, 1].

Доступно начиная с .NET 8.

Метрика: dotnet.process.memory.virtual.utilization
Name Тип инструмента Единица (UCUM) Description
dotnet.process.memory.virtual.utilization ObservableGauge<T> 1 Потребление памяти запущенного приложения в диапазоне [0, 1].

Доступно начиная с .NET 8.

Метрика: system.network.connections
Name Тип инструмента Единица (UCUM) Description
system.network.connections ObservableUpDownCounter<T> {connection} Количество сетевых подключений по состоянию.
Attribute Type Description Examples Presence
network.type string Сетевой уровень OSI или эквивалентный не OSI. ipv4; ipv6 Always
system.network.state string Состояние сетевого подключения. close; listen Always

Доступно начиная с .NET 8.