本文介绍了使用 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} |
运行状况检查将应用程序的运行状况报告为 Degraded 或 Unhealthy 的次数。 |
| 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 从 资源监视报告资源信息:
container.cpu.limit.utilizationcontainer.cpu.request.utilizationcontainer.cpu.timecontainer.memory.limit.utilizationcontainer.memory.usageprocess.cpu.utilizationdotnet.process.memory.virtual.utilizationsystem.network.connections
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 开始可用。