From a747afb487caf0f7e8e691d73e23cd6b6932d1ac Mon Sep 17 00:00:00 2001 From: Jon Chambers Date: Wed, 27 Aug 2025 12:52:57 -0400 Subject: [PATCH] Publish metrics from circuit breaker/retry registries --- service/pom.xml | 4 ++++ .../textsecuregcm/util/CircuitBreakerUtil.java | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/service/pom.xml b/service/pom.xml index 496fd8252..520518af7 100644 --- a/service/pom.xml +++ b/service/pom.xml @@ -296,6 +296,10 @@ io.github.resilience4j resilience4j-reactor + + io.github.resilience4j + resilience4j-micrometer + io.grpc diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/util/CircuitBreakerUtil.java b/service/src/main/java/org/whispersystems/textsecuregcm/util/CircuitBreakerUtil.java index ccf8135d3..cfa995694 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/util/CircuitBreakerUtil.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/util/CircuitBreakerUtil.java @@ -9,6 +9,8 @@ import static com.codahale.metrics.MetricRegistry.name; import io.github.resilience4j.circuitbreaker.CircuitBreaker; import io.github.resilience4j.circuitbreaker.CircuitBreakerRegistry; +import io.github.resilience4j.micrometer.tagged.TaggedCircuitBreakerMetrics; +import io.github.resilience4j.micrometer.tagged.TaggedRetryMetrics; import io.github.resilience4j.retry.Retry; import io.github.resilience4j.retry.RetryRegistry; import io.lettuce.core.RedisCommandTimeoutException; @@ -41,6 +43,12 @@ public class CircuitBreakerUtil { static { setGeneralRedisRetryConfiguration(new RetryConfiguration()); + + TaggedCircuitBreakerMetrics.ofCircuitBreakerRegistry(CIRCUIT_BREAKER_REGISTRY) + .bindTo(Metrics.globalRegistry); + + TaggedRetryMetrics.ofRetryRegistry(RETRY_REGISTRY) + .bindTo(Metrics.globalRegistry); } public static CircuitBreakerRegistry getCircuitBreakerRegistry() {