.NET 扩展指标

本文介绍了使用 System.Diagnostics.Metrics API 生成的诊断 .NET 扩展库的内置指标。 有关基于较旧 EventCounters API 的指标列表,请参阅 “可用计数器”。

Tip

有关如何收集和报告这些指标的详细信息,请参阅 收集指标

Microsoft.Extensions.Diagnostics.HealthChecks

Microsoft.Extensions.Diagnostics.HealthChecks 指标会报告来自 .NET 运行状况检查的运行状况检查信息:

可以通过调用 AddTelemetryHealthCheckPublisher 扩展方法来启用这些指标。 这些指标只能为基于推送的指标启用,并且不适用于基于拉取的指标。

指标:dotnet.health_check.reports
Name 检测类型 单位(UCUM) Description
dotnet.health_check.reports Counter<T> {report} 运行状况报告报告应用程序的运行状况的次数。
Attribute 类型 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} 运行状况检查将应用程序的运行状况报告为 DegradedUnhealthy 的次数。
Attribute 类型 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 正在运行的容器化应用程序的 CPU 消耗量相对于范围 [0, 1]中的资源限制。

从 8.8.0 开始 Microsoft.Extensions.Diagnostics.ResourceMonitoring 可用。

指标:container.cpu.request.utilization

该仪器仅在 Linux 上的容器上运行的系统上可用。

Name 检测类型 单位(UCUM) Description
container.cpu.request.utilization ObservableGauge<T> 1 正在运行的容器化应用程序的 CPU 消耗量相对于范围内的 [0, 1]资源请求。

从 8.8.0 开始 Microsoft.Extensions.Diagnostics.ResourceMonitoring 可用。

指标:container.cpu.time

检测仅在 Windows 或 Linux 上的容器上运行的系统上可用。

Name 检测类型 单位(UCUM) Description
container.cpu.time ObservableCounter<T> s 容器使用的 CPU 时间。

从 9.8.0 开始 Microsoft.Extensions.Diagnostics.ResourceMonitoring 可用。

指标:container.memory.limit.utilization

检测仅在 Windows 和 Linux 上的容器上运行的系统可用。

Name 检测类型 单位(UCUM) Description
container.memory.limit.utilization ObservableGauge<T> 1 正在运行的容器化应用程序的内存消耗量相对于范围 [0, 1]中的资源限制。

从 8.8.0 开始 Microsoft.Extensions.Diagnostics.ResourceMonitoring 可用。

指标:container.memory.usage

检测仅在 Windows 或 Linux 上的容器上运行的系统可用。

Name 检测类型 单位(UCUM) Description
container.memory.usage ObservableUpDownCounter<T> By 以字节为单位的容器中所有进程的内存使用情况。

从 9.8.0 开始 Microsoft.Extensions.Diagnostics.ResourceMonitoring 可用。

指标:process.cpu.utilization
Name 检测类型 单位(UCUM) Description
process.cpu.utilization ObservableGauge<T> 1 正在运行的应用程序的 CPU 消耗量,范围为 [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 类型 Description Examples Presence
network.type string OSI 网络层或非 OSI 等效项。 ipv4;ipv6 Always
system.network.state string 网络连接的状态。 close;listen Always

从 .NET 8 开始可用。