From d0ccae129ac7d6d584268ae69eacc34539757e63 Mon Sep 17 00:00:00 2001 From: Chris Eager Date: Thu, 23 Feb 2023 12:36:03 -0600 Subject: [PATCH] Remove obsolete metric --- .../redis/FaultTolerantPubSubConnection.java | 70 ++++++++----------- 1 file changed, 29 insertions(+), 41 deletions(-) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/redis/FaultTolerantPubSubConnection.java b/service/src/main/java/org/whispersystems/textsecuregcm/redis/FaultTolerantPubSubConnection.java index f4abb06fb..810696b87 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/redis/FaultTolerantPubSubConnection.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/redis/FaultTolerantPubSubConnection.java @@ -5,70 +5,58 @@ package org.whispersystems.textsecuregcm.redis; -import static com.codahale.metrics.MetricRegistry.name; +import static org.whispersystems.textsecuregcm.metrics.MetricsUtil.name; -import com.codahale.metrics.MetricRegistry; -import com.codahale.metrics.SharedMetricRegistries; -import com.codahale.metrics.Timer; import io.github.resilience4j.circuitbreaker.CircuitBreaker; import io.github.resilience4j.retry.Retry; import io.lettuce.core.RedisException; import io.lettuce.core.cluster.pubsub.StatefulRedisClusterPubSubConnection; import io.micrometer.core.instrument.Metrics; +import io.micrometer.core.instrument.Timer; import java.util.function.Consumer; import java.util.function.Function; -import org.whispersystems.textsecuregcm.metrics.MetricsUtil; import org.whispersystems.textsecuregcm.util.CircuitBreakerUtil; -import org.whispersystems.textsecuregcm.util.Constants; public class FaultTolerantPubSubConnection { - private final StatefulRedisClusterPubSubConnection pubSubConnection; + private final StatefulRedisClusterPubSubConnection pubSubConnection; - private final CircuitBreaker circuitBreaker; - private final Retry retry; + private final CircuitBreaker circuitBreaker; + private final Retry retry; - @Deprecated private final Timer executeTimer; - private final io.micrometer.core.instrument.Timer newExecuteTimer; - public FaultTolerantPubSubConnection(final String name, final StatefulRedisClusterPubSubConnection pubSubConnection, final CircuitBreaker circuitBreaker, final Retry retry) { - this.pubSubConnection = pubSubConnection; - this.circuitBreaker = circuitBreaker; - this.retry = retry; + public FaultTolerantPubSubConnection(final String name, + final StatefulRedisClusterPubSubConnection pubSubConnection, final CircuitBreaker circuitBreaker, + final Retry retry) { + this.pubSubConnection = pubSubConnection; + this.circuitBreaker = circuitBreaker; + this.retry = retry; - this.pubSubConnection.setNodeMessagePropagation(true); + this.pubSubConnection.setNodeMessagePropagation(true); - final MetricRegistry metricRegistry = SharedMetricRegistries.getOrCreate(Constants.METRICS_NAME); - this.executeTimer = metricRegistry.timer(name(getClass(), name + "-pubsub", "execute")); - this.newExecuteTimer = Metrics.timer(MetricsUtil.name(getClass(), "execute", "name", name + "-pubsub")); + this.executeTimer = Metrics.timer(name(getClass(), "execute"), "name", name + "-pubsub"); - CircuitBreakerUtil.registerMetrics(circuitBreaker, FaultTolerantPubSubConnection.class); - } - - public void usePubSubConnection(final Consumer> consumer) { - try { - circuitBreaker.executeCheckedRunnable(() -> retry.executeRunnable(() -> { - try (final Timer.Context ignored = executeTimer.time()) { - newExecuteTimer.record(() -> consumer.accept(pubSubConnection)); - } - })); - } catch (final Throwable t) { - if (t instanceof RedisException) { - throw (RedisException) t; - } else { - throw new RedisException(t); - } - } + CircuitBreakerUtil.registerMetrics(circuitBreaker, FaultTolerantPubSubConnection.class); + } + + public void usePubSubConnection(final Consumer> consumer) { + try { + circuitBreaker.executeCheckedRunnable( + () -> retry.executeRunnable(() -> executeTimer.record(() -> consumer.accept(pubSubConnection)))); + } catch (final Throwable t) { + if (t instanceof RedisException) { + throw (RedisException) t; + } else { + throw new RedisException(t); + } } + } public T withPubSubConnection(final Function, T> function) { try { - return circuitBreaker.executeCheckedSupplier(() -> retry.executeCallable(() -> { - try (final Timer.Context ignored = executeTimer.time()) { - return newExecuteTimer.record(() -> function.apply(pubSubConnection)); - } - })); + return circuitBreaker.executeCheckedSupplier( + () -> retry.executeCallable(() -> executeTimer.record(() -> function.apply(pubSubConnection)))); } catch (final Throwable t) { if (t instanceof RedisException) { throw (RedisException) t;