PollyHealthChecks 1.0.5
See the version list below for details.
dotnet add package PollyHealthChecks --version 1.0.5
NuGet\Install-Package PollyHealthChecks -Version 1.0.5
<PackageReference Include="PollyHealthChecks" Version="1.0.5" />
<PackageVersion Include="PollyHealthChecks" Version="1.0.5" />
<PackageReference Include="PollyHealthChecks" />
paket add PollyHealthChecks --version 1.0.5
#r "nuget: PollyHealthChecks, 1.0.5"
#:package PollyHealthChecks@1.0.5
#addin nuget:?package=PollyHealthChecks&version=1.0.5
#tool nuget:?package=PollyHealthChecks&version=1.0.5
PollyHealthChecks
<img src="icon.png" width="100" align="right" />
ASP.NET Core health checks for Polly v8 circuit breakers.
Expose circuit breaker state as standard /health endpoint responses so load balancers, Kubernetes probes, and monitoring dashboards can act on the resilience state of your dependencies.
Install
dotnet add package PollyHealthChecks
Usage
1. Set up your circuit breaker with a CircuitBreakerStateProvider
using Polly.CircuitBreaker;
var stateProvider = new CircuitBreakerStateProvider();
var manualControl = new CircuitBreakerManualControl(); // optional
services.AddResiliencePipeline("downstream-api", builder =>
builder.AddCircuitBreaker(new CircuitBreakerStrategyOptions
{
StateProvider = stateProvider,
ManualControl = manualControl, // optional
FailureRatio = 0.5,
SamplingDuration = TimeSpan.FromSeconds(10),
MinimumThroughput = 5,
BreakDuration = TimeSpan.FromSeconds(30)
}));
2. Register the health check
using PollyHealthChecks;
services.AddHealthChecks()
.AddPollyCircuitBreaker("downstream-api", stateProvider);
3. Map the health endpoint
app.MapHealthChecks("/health");
Example response
When the circuit is closed (normal operation):
{ "status": "Healthy", "entries": { "downstream-api": { "status": "Healthy", "description": "Circuit breaker is closed." } } }
When the circuit is open (tripping):
{ "status": "Unhealthy", "entries": { "downstream-api": { "status": "Unhealthy", "description": "Circuit breaker is open." } } }
State mapping
| Circuit breaker state | Health status |
|---|---|
Closed |
Healthy |
HalfOpen |
Degraded |
Open |
failureStatus (default Unhealthy) |
Isolated |
failureStatus (default Unhealthy) |
Options
services.AddHealthChecks()
.AddPollyCircuitBreaker(
name: "downstream-api",
stateProvider: stateProvider,
failureStatus: HealthStatus.Degraded, // override open/isolated status
tags: ["ready", "live"]); // for filtered health checks
Multiple circuit breakers
services.AddHealthChecks()
.AddPollyCircuitBreaker("payments-api", paymentsStateProvider)
.AddPollyCircuitBreaker("inventory-api", inventoryStateProvider, failureStatus: HealthStatus.Degraded)
.AddPollyCircuitBreaker("auth-api", authStateProvider, tags: ["ready"]);
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. 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. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net6.0
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 8.0.28)
- Polly.Core (>= 8.7.0)
-
net8.0
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 8.0.28)
- Polly.Core (>= 8.7.0)
-
net9.0
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 8.0.28)
- Polly.Core (>= 8.7.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
1.0.2: Added net6.0 and net9.0 targets; improved discoverability tags including Kubernetes health probe keywords.