.NET 扩展指标

本文介绍了使用 System.Diagnostics.Metrics API 生成的诊断 .NET 扩展库的内置指标。 For a listing of metrics based on the older EventCounters API, see Available counters.

Tip

For more information about how to collect and report these metrics, see Collecting Metrics.

Microsoft.Extensions.Diagnostics.HealthChecks

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

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

指标:dotnet.health_check.reports
Name Instrument Type Unit (UCUM) Description
dotnet.health_check.reports Counter {report} 运行状况报告报告应用程序的运行状况的次数。
Attribute 类型 Description Examples Presence
dotnet.health_check.status 字符串 应用程序的运行状况。 Healthy;Unhealthy Always

dotnet.health_check.status 是下列值之一:

Value Description
Degraded 应用程序处于降级状态。
Healthy 应用程序正常运行。
Unhealthy 应用程序运行不正常。

从 .NET 8.0 开始可用。

指标:dotnet.health_check.unhealthy_checks
Name Instrument Type Unit (UCUM) Description
dotnet.health_check.unhealthy_checks Counter {unhealthy_check} 运行状况检查将应用程序的运行状况报告为 DegradedUnhealthy 的次数。
Attribute 类型 Description Examples Presence
dotnet.health_check.name 字符串 运行状况检查的名称。 ApplicationLifecycle Always
dotnet.health_check.status 字符串 应用程序的运行状况。 Healthy;Unhealthy Always

dotnet.health_check.status 是下列值之一:

Value Description
Degraded 应用程序处于降级状态。
Healthy 应用程序正常运行。
Unhealthy 应用程序运行不正常。

从 .NET 8.0 开始可用。

Microsoft.Extensions.Diagnostics.ResourceMonitoring

The Microsoft.Extensions.Diagnostics.ResourceMonitoring metrics report resource information from resource monitoring:

Note

Microsoft.Extensions.Diagnostics.ResourceMonitoring 计量发出的指标处于试验阶段。 这意味着这些指标可能会发生中断性变更。

指标:container.cpu.limit.utilization

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

Name Instrument Type Unit (UCUM) Description
container.cpu.limit.utilization ObservableGauge 1 正在运行的容器化应用程序的 CPU 消耗量相对于范围 [0, 1]中的资源限制。

从 .NET 8.8.0 开始可用。

指标:container.cpu.request.utilization

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

Name Instrument Type Unit (UCUM) Description
container.cpu.request.utilization ObservableGauge 1 正在运行的容器化应用程序的 CPU 消耗量相对于范围内的 [0, 1]资源请求。

从 .NET 8.8.0 开始可用。

指标:container.cpu.time

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

Name Instrument Type Unit (UCUM) Description
container.cpu.time ObservableCounter s 容器使用的 CPU 时间。

从 .NET 9.8.0 开始可用。

指标:container.memory.limit.utilization

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

Name Instrument Type Unit (UCUM) Description
container.memory.limit.utilization ObservableGauge 1 正在运行的容器化应用程序的内存消耗量相对于范围 [0, 1]中的资源限制。

从 .NET 8.8.0 开始可用。

指标:container.memory.usage

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

Name Instrument Type Unit (UCUM) Description
container.memory.usage ObservableUpDownCounter By 以字节为单位的容器中所有进程的内存使用情况。

从 .NET 9.8.0 开始可用。

指标:process.cpu.utilization
Name Instrument Type Unit (UCUM) Description
process.cpu.utilization ObservableGauge 1 正在运行的应用程序的 CPU 消耗量,范围为 [0, 1]

从 .NET 8.0 开始可用。

指标:dotnet.process.memory.virtual.utilization
Name Instrument Type Unit (UCUM) Description
dotnet.process.memory.virtual.utilization ObservableGauge 1 正在运行的应用程序的内存消耗量,范围为 [0, 1]

从 .NET 8.0 开始可用。

指标:system.network.connections
Name Instrument Type Unit (UCUM) Description
system.network.connections ObservableUpDownCounter {connection} 按状态显示的网络连接数。
Attribute 类型 Description Examples Presence
network.type 字符串 OSI 网络层或非 OSI 等效项。 ipv4;ipv6 Always
system.network.state 字符串 网络连接的状态。 close;listen Always

从 .NET 8.0 开始可用。