Skip to content

Commit

Permalink
fix: some health checks are always UP even when a counter hits limit A…
Browse files Browse the repository at this point in the history
  • Loading branch information
jsenko committed Nov 22, 2023
1 parent 427c032 commit bd2faae
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 27 deletions.
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package io.apicurio.registry.metrics.health.liveness;

import jakarta.enterprise.context.ApplicationScoped;
import jakarta.enterprise.inject.Default;
import jakarta.inject.Inject;

import io.apicurio.common.apps.config.Info;
import io.apicurio.registry.metrics.health.AbstractErrorCounterHealthCheck;
import jakarta.annotation.PostConstruct;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.enterprise.inject.Default;
import jakarta.inject.Inject;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.eclipse.microprofile.health.HealthCheck;
import org.eclipse.microprofile.health.HealthCheckResponse;
Expand Down Expand Up @@ -67,7 +66,7 @@ public synchronized HealthCheckResponse call() {
return HealthCheckResponse.builder()
.name("PersistenceExceptionLivenessCheck")
.withData("errorCount", errorCounter)
.up()
.status(up)
.build();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package io.apicurio.registry.metrics.health.liveness;

import jakarta.enterprise.context.ApplicationScoped;
import jakarta.enterprise.inject.Default;
import jakarta.inject.Inject;

import io.apicurio.common.apps.config.Info;
import io.apicurio.registry.metrics.health.AbstractErrorCounterHealthCheck;
import jakarta.annotation.PostConstruct;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.enterprise.inject.Default;
import jakarta.inject.Inject;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.eclipse.microprofile.health.HealthCheck;
import org.eclipse.microprofile.health.HealthCheckResponse;
Expand Down Expand Up @@ -65,7 +64,7 @@ public synchronized HealthCheckResponse call() {
return HealthCheckResponse.builder()
.name("ResponseErrorLivenessCheck")
.withData("errorCount", errorCounter)
.up()
.status(up)
.build();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,19 @@
package io.apicurio.registry.metrics.health.readiness;

import java.time.Duration;

import jakarta.enterprise.context.ApplicationScoped;
import jakarta.enterprise.inject.Default;
import jakarta.inject.Inject;

import io.apicurio.common.apps.config.Info;
import io.apicurio.registry.metrics.health.AbstractErrorCounterHealthCheck;
import jakarta.annotation.PostConstruct;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.enterprise.inject.Default;
import jakarta.inject.Inject;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.eclipse.microprofile.health.HealthCheck;
import org.eclipse.microprofile.health.HealthCheckResponse;
import org.eclipse.microprofile.health.Liveness;
import org.slf4j.Logger;

import java.time.Duration;

/**
* Fail readiness check if the duration of processing a artifactStore operation is too high.
*
Expand Down Expand Up @@ -74,7 +73,7 @@ public synchronized HealthCheckResponse call() {
return HealthCheckResponse.builder()
.name("PersistenceTimeoutReadinessCheck")
.withData("errorCount", errorCounter)
.up()
.status(up)
.build();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,6 @@
import io.apicurio.common.apps.config.Info;
import io.apicurio.registry.metrics.health.AbstractErrorCounterHealthCheck;
import jakarta.annotation.PostConstruct;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.eclipse.microprofile.health.HealthCheck;
import org.eclipse.microprofile.health.HealthCheckResponse;
import org.eclipse.microprofile.health.Readiness;
import org.slf4j.Logger;
import java.time.Duration;
import java.time.Instant;
import java.time.format.DateTimeParseException;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.enterprise.inject.Default;
import jakarta.enterprise.inject.Instance;
Expand All @@ -20,6 +12,15 @@
import jakarta.ws.rs.container.ContainerResponseContext;
import jakarta.ws.rs.container.ContainerResponseFilter;
import jakarta.ws.rs.ext.Provider;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.eclipse.microprofile.health.HealthCheck;
import org.eclipse.microprofile.health.HealthCheckResponse;
import org.eclipse.microprofile.health.Readiness;
import org.slf4j.Logger;

import java.time.Duration;
import java.time.Instant;
import java.time.format.DateTimeParseException;

/**
* @author Jakub Senko <em>m@jsenko.net</em>
Expand Down Expand Up @@ -94,7 +95,7 @@ public void filter(ContainerRequestContext requestContext, ContainerResponseCont
log.error("Value '{}' of header '{}' is the wrong format!", requestStart, HEADER_NAME);
}

} else if (responseContext.getStatus() != 404){
} else if (responseContext.getStatus() != 404) {
log.warn("Expected header '{}' not found.", HEADER_NAME);
}
}
Expand All @@ -105,7 +106,7 @@ public synchronized HealthCheckResponse call() {
return HealthCheckResponse.builder()
.name("ResponseTimeoutReadinessCheck")
.withData("errorCount", errorCounter)
.up()
.status(up)
.build();
}
}

0 comments on commit bd2faae

Please sign in to comment.