本文介绍了使用 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} |
运行状况检查将应用程序的运行状况报告为 Degraded 或 Unhealthy 的次数。 |
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:
container.cpu.limit.utilization
container.cpu.request.utilization
container.cpu.time
container.memory.limit.utilization
container.memory.usage
process.cpu.utilization
dotnet.process.memory.virtual.utilization
system.network.connections
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 开始可用。