Class DefaultHealthAggregator
- java.lang.Object
-
- io.micronaut.management.health.aggregator.DefaultHealthAggregator
-
- All Implemented Interfaces:
HealthAggregator<HealthResult>
@Singleton @Requires(beans=HealthEndpoint.class) public class DefaultHealthAggregator extends java.lang.Object implements HealthAggregator<HealthResult>
Default implementation of
HealthAggregatorthat creates a {status: , description: (optional) , details: } response. The top level object represents the most severe status found in the provided health results, orHealthStatus.UNKNOWNif none found. All registered indicators have their own {status: , description: (optional , details: } object, keyed by the name of theHealthResultdefined inside of the details of the top level object.Example: [status: "UP, details: [diskSpace: [status: UP, details: [:]], cpuUsage: ...]]
- Since:
- 1.0
-
-
Constructor Summary
Constructors Constructor Description DefaultHealthAggregator(io.micronaut.runtime.ApplicationConfiguration applicationConfiguration)Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.reactivestreams.Publisher<HealthResult>aggregate(HealthIndicator[] indicators, HealthLevelOfDetail healthLevelOfDetail)org.reactivestreams.Publisher<HealthResult>aggregate(java.lang.String name, org.reactivestreams.Publisher<HealthResult> results)protected java.lang.ObjectaggregateDetails(java.util.List<HealthResult> results)protected reactor.core.publisher.Flux<HealthResult>aggregateResults(HealthIndicator[] indicators)protected HealthResultbuildResult(io.micronaut.health.HealthStatus status, java.lang.Object details, HealthLevelOfDetail healthLevelOfDetail)protected io.micronaut.health.HealthStatuscalculateOverallStatus(java.util.List<HealthResult> results)
-
-
-
Method Detail
-
aggregate
public org.reactivestreams.Publisher<HealthResult> aggregate(HealthIndicator[] indicators, HealthLevelOfDetail healthLevelOfDetail)
- Specified by:
aggregatein interfaceHealthAggregator<HealthResult>- Parameters:
indicators- The health indicators to aggregate.healthLevelOfDetail- TheHealthLevelOfDetail- Returns:
- An aggregated response.
-
aggregate
public org.reactivestreams.Publisher<HealthResult> aggregate(java.lang.String name, org.reactivestreams.Publisher<HealthResult> results)
- Specified by:
aggregatein interfaceHealthAggregator<HealthResult>- Parameters:
name- The name of the new health resultresults- The health results to aggregate.- Returns:
- An aggregated
HealthResult.
-
calculateOverallStatus
protected io.micronaut.health.HealthStatus calculateOverallStatus(java.util.List<HealthResult> results)
- Parameters:
results- A list ofHealthResult- Returns:
- The calculated overall health status
-
aggregateResults
protected reactor.core.publisher.Flux<HealthResult> aggregateResults(HealthIndicator[] indicators)
- Parameters:
indicators- An array ofHealthIndicator- Returns:
- The aggregated results from all health indicators
-
aggregateDetails
protected java.lang.Object aggregateDetails(java.util.List<HealthResult> results)
- Parameters:
results- A list of health results- Returns:
- The aggregated details for the results
-
buildResult
protected HealthResult buildResult(io.micronaut.health.HealthStatus status, java.lang.Object details, HealthLevelOfDetail healthLevelOfDetail)
- Parameters:
status- AHealthStatusdetails- The health status detailshealthLevelOfDetail- TheHealthLevelOfDetail- Returns:
- A
Mapwith the results from the health status
-
-