1package dev.rafex.ether.observability.core.probe;
29import java.util.ArrayList;
36public final class ProbeAggregator {
38 private ProbeAggregator() {
50 final var results =
new ArrayList<ProbeResult>();
51 for (
final var check : checks ==
null ? List.<
ProbeCheck>of() : checks) {
52 results.add(check.execute());
54 return new ProbeReport(kind, aggregateStatus(results), results);
63 private static ProbeStatus aggregateStatus(
final List<ProbeResult> results) {
64 boolean degraded =
false;
65 for (
final var result : results) {
69 if (result.status() == ProbeStatus.DEGRADED) {
73 return degraded ? ProbeStatus.DEGRADED : ProbeStatus.
UP;
static ProbeReport aggregate(final ProbeKind kind, final List< ProbeCheck > checks)
Agrega los resultados de múltiples probes de verificación.
Tipos de probes de verificación disponibles.
Estados de salud disponibles para probes.
DOWN
El servicio no está disponible o no responde.
UP
El servicio está operativo y respondiendo correctamente.
Función para ejecutar una verificación de probe.
record ProbeReport(ProbeKind kind, ProbeStatus status, List< ProbeResult > results)
Reporte de resultados de probes de verificación.