.NET extensions metrics
This article describes the built-in metrics for diagnostic .NET extensions libraries that are produced using the System.Diagnostics.Metrics API. 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
The Microsoft.Extensions.Diagnostics.HealthChecks
metrics report health check information from .NET health checks:
You can enable these metrics by calling the AddTelemetryHealthCheckPublisher extension method. These metrics can only be enabled for push-based metrics and aren't available for pull-based metrics.
Metric: dotnet.health_check.reports
Name | Instrument Type | Unit (UCUM) | Description |
---|---|---|---|
dotnet.health_check.reports |
Counter | {report} |
Number of times a health report reported the health status of an application. |
Attribute | Type | Description | Examples | Presence |
---|---|---|---|---|
dotnet.health_check.status |
string | The health status of an application. | Healthy ; Unhealthy |
Always |
dotnet.health_check.status
is one of the following:
Value | Description |
---|---|
Degraded |
An application was in degraded state. |
Healthy |
An application was healthy. |
Unhealthy |
An application was unhealthy. |
Available starting in: .NET 8.0.
Metric: dotnet.health_check.unhealthy_checks
Name | Instrument Type | Unit (UCUM) | Description |
---|---|---|---|
dotnet.health_check.unhealthy_checks |
Counter | {unhealthy_check} |
Number of times a health check reported the health status of an application as Degraded or Unhealthy . |
Attribute | Type | Description | Examples | Presence |
---|---|---|---|---|
dotnet.health_check.name |
string | The name of the health check. | ApplicationLifecycle |
Always |
dotnet.health_check.status |
string | The health status of an application. | Healthy ; Unhealthy |
Always |
dotnet.health_check.status
is one of the following:
Value | Description |
---|---|
Degraded |
An application was in degraded state. |
Healthy |
An application was healthy. |
Unhealthy |
An application was unhealthy. |
Available starting in: .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.memory.limit.utilization
process.cpu.utilization
dotnet.process.memory.virtual.utilization
system.network.connections
Note
Metrics emitted by the Microsoft.Extensions.Diagnostics.ResourceMonitoring
meter are in experimental stage. This means that there could be breaking changes to them.
Metric: container.cpu.limit.utilization
The instrument is only available on a system running on containers both on Windows and Linux.
Name | Instrument Type | Unit (UCUM) | Description |
---|---|---|---|
container.cpu.limit.utilization |
ObservableGauge | 1 |
The CPU consumption of the running containerized application relative to resource limit in range [0, 1] . |
Available starting in: .NET 8.8.0.
Metric: container.cpu.request.utilization
The instrument is only available on a system running on containers on Linux.
Name | Instrument Type | Unit (UCUM) | Description |
---|---|---|---|
container.cpu.request.utilization |
ObservableGauge | 1 |
The CPU consumption of the running containerized application relative to resource request in range [0, 1] . |
Available starting in: .NET 8.8.0.
Metric: container.memory.limit.utilization
The instrument is only available on a system running on containers both on Windows and Linux.
Name | Instrument Type | Unit (UCUM) | Description |
---|---|---|---|
container.memory.limit.utilization |
ObservableGauge | 1 |
The memory consumption of the running containerized application relative to resource limit in range [0, 1] . |
Available starting in: .NET 8.8.0.
Metric: process.cpu.utilization
Name | Instrument Type | Unit (UCUM) | Description |
---|---|---|---|
process.cpu.utilization |
ObservableGauge | 1 |
The CPU consumption of the running application in range [0, 1] . |
Available starting in: .NET 8.0.
Metric: dotnet.process.memory.virtual.utilization
Name | Instrument Type | Unit (UCUM) | Description |
---|---|---|---|
dotnet.process.memory.virtual.utilization |
ObservableGauge | 1 |
The memory consumption of the running application in range [0, 1] . |
Available starting in: .NET 8.0.
Metric: system.network.connections
Name | Instrument Type | Unit (UCUM) | Description |
---|---|---|---|
system.network.connections |
ObservableUpDownCounter | {connection} |
Number of network connections by state. |
Attribute | Type | Description | Examples | Presence |
---|---|---|---|---|
network.type |
string | OSI network layer or non-OSI equivalent. | ipv4 ; ipv6 |
Always |
system.network.state |
string | The state of a network connection. | close ; listen |
Always |
Available starting in: .NET 8.0.