Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization
9.0.0
Prefix Reserved
dotnet add package Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization --version 9.0.0
NuGet\Install-Package Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization -Version 9.0.0
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization" Version="9.0.0" />
paket add Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization --version 9.0.0
#r "nuget: Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization, 9.0.0"
// Install Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization as a Cake Addin #addin nuget:?package=Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization&version=9.0.0 // Install Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization as a Cake Tool #tool nuget:?package=Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization&version=9.0.0
Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization
This provides configurable health check reporting based on the current system resource utilization. See Microsoft.Extensions.Diagnostics.ResourceMonitoring
for details on how resources are measured. See the health checks documentation for general usage guidance.
Install the package
From the command-line:
dotnet add package Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization
Or directly in the C# project file:
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization" Version="[CURRENTVERSION]" />
</ItemGroup>
Usage Example
The health check services can be registered and configured using any of the following API:
public static IHealthChecksBuilder AddResourceUtilizationHealthCheck(this IHealthChecksBuilder builder, params string[] tags)
public static IHealthChecksBuilder AddResourceUtilizationHealthCheck(this IHealthChecksBuilder builder, IEnumerable<string> tags)
public static IHealthChecksBuilder AddResourceUtilizationHealthCheck(this IHealthChecksBuilder builder, IConfigurationSection section)
public static IHealthChecksBuilder AddResourceUtilizationHealthCheck(this IHealthChecksBuilder builder, IConfigurationSection section, params string[] tags)
public static IHealthChecksBuilder AddResourceUtilizationHealthCheck(this IHealthChecksBuilder builder, IConfigurationSection section, IEnumerable<string> tags)
public static IHealthChecksBuilder AddResourceUtilizationHealthCheck(this IHealthChecksBuilder builder, Action<ResourceUtilizationHealthCheckOptions> configure)
public static IHealthChecksBuilder AddResourceUtilizationHealthCheck(this IHealthChecksBuilder builder, Action<ResourceUtilizationHealthCheckOptions> configure, params string[] tags)
public static IHealthChecksBuilder AddResourceUtilizationHealthCheck(this IHealthChecksBuilder builder, Action<ResourceUtilizationHealthCheckOptions> configure, IEnumerable<string> tags)
For example:
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddHealthChecks()
.AddResourceUtilizationHealthCheck(o =>
{
o.CpuThresholds = new ResourceUsageThresholds
{
DegradedUtilizationPercentage = 80,
UnhealthyUtilizationPercentage = 90,
};
o.MemoryThresholds = new ResourceUsageThresholds
{
DegradedUtilizationPercentage = 80,
UnhealthyUtilizationPercentage = 90,
};
o.SamplingWindow = TimeSpan.FromSeconds(5);
});
var app = builder.Build();
app.MapHealthChecks("/healthz");
app.Run();
CpuThresholds
and MemoryThresholds
's percentages default to null
and will not be reported as degraded or unhealthy unless configured. The SamplingWindow
defaults to 5 seconds.
Feedback & Contributing
We welcome feedback and contributions in our GitHub repo.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. |
.NET Framework | net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
-
.NETFramework 4.6.2
- Microsoft.Extensions.Configuration.Binder (>= 8.0.2)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 8.0.11)
- Microsoft.Extensions.Diagnostics.ResourceMonitoring (>= 9.0.0)
-
net8.0
- Microsoft.Extensions.Configuration.Binder (>= 8.0.2)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 8.0.11)
- Microsoft.Extensions.Diagnostics.ResourceMonitoring (>= 9.0.0)
-
net9.0
- Microsoft.Extensions.Configuration.Binder (>= 9.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 9.0.0)
- Microsoft.Extensions.Diagnostics.ResourceMonitoring (>= 9.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
9.0.0 | 513 | 11/12/2024 |
9.0.0-preview.9.24507.7 | 496 | 10/8/2024 |
9.0.0-preview.8.24460.1 | 76 | 9/10/2024 |
9.0.0-preview.7.24412.10 | 88 | 8/14/2024 |
9.0.0-preview.6.24353.1 | 152 | 7/10/2024 |
9.0.0-preview.5.24311.7 | 83 | 6/11/2024 |
9.0.0-preview.4.24271.2 | 90 | 5/21/2024 |
9.0.0-preview.3.24209.3 | 132 | 4/11/2024 |
9.0.0-preview.2.24157.4 | 104 | 3/12/2024 |
9.0.0-preview.1.24108.1 | 101 | 2/13/2024 |
8.10.0 | 9,684 | 10/8/2024 |
8.9.1 | 7,443 | 9/6/2024 |
8.9.0 | 1,251 | 9/5/2024 |
8.8.0 | 11,747 | 8/13/2024 |
8.7.0 | 10,147 | 7/10/2024 |
8.6.0 | 3,569 | 6/11/2024 |
8.5.0 | 78,908 | 5/14/2024 |
8.4.0 | 3,789 | 4/9/2024 |
8.3.0 | 2,084 | 3/12/2024 |
8.2.0 | 2,639 | 2/13/2024 |
8.1.0 | 1,980 | 1/9/2024 |
8.0.0 | 5,033 | 11/14/2023 |
8.0.0-rc.2.23510.2 | 196 | 10/10/2023 |
8.0.0-rc.1.23453.1 | 132 | 9/12/2023 |
8.0.0-preview.7.23407.5 | 108 | 8/8/2023 |
8.0.0-preview.6.23360.2 | 124 | 7/12/2023 |
8.0.0-preview.5.23308.3 | 89 | 6/14/2023 |
8.0.0-preview.4.23273.7 | 100 | 5/23/2023 |