Register circuit breaker metrics for FaultTolerantPubSubConnection
This commit is contained in:
		
							parent
							
								
									dadf43b93e
								
							
						
					
					
						commit
						7cdadeb791
					
				| 
						 | 
					@ -5,6 +5,8 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package org.whispersystems.textsecuregcm.redis;
 | 
					package org.whispersystems.textsecuregcm.redis;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import static com.codahale.metrics.MetricRegistry.name;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import com.codahale.metrics.Meter;
 | 
					import com.codahale.metrics.Meter;
 | 
				
			||||||
import com.codahale.metrics.MetricRegistry;
 | 
					import com.codahale.metrics.MetricRegistry;
 | 
				
			||||||
import com.codahale.metrics.SharedMetricRegistries;
 | 
					import com.codahale.metrics.SharedMetricRegistries;
 | 
				
			||||||
| 
						 | 
					@ -13,16 +15,14 @@ import io.github.resilience4j.circuitbreaker.CircuitBreaker;
 | 
				
			||||||
import io.github.resilience4j.retry.Retry;
 | 
					import io.github.resilience4j.retry.Retry;
 | 
				
			||||||
import io.lettuce.core.RedisCommandTimeoutException;
 | 
					import io.lettuce.core.RedisCommandTimeoutException;
 | 
				
			||||||
import io.lettuce.core.cluster.pubsub.StatefulRedisClusterPubSubConnection;
 | 
					import io.lettuce.core.cluster.pubsub.StatefulRedisClusterPubSubConnection;
 | 
				
			||||||
import org.slf4j.Logger;
 | 
					 | 
				
			||||||
import org.slf4j.LoggerFactory;
 | 
					 | 
				
			||||||
import org.whispersystems.textsecuregcm.util.Constants;
 | 
					 | 
				
			||||||
import org.whispersystems.textsecuregcm.util.ThreadDumpUtil;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import java.util.concurrent.atomic.AtomicBoolean;
 | 
					import java.util.concurrent.atomic.AtomicBoolean;
 | 
				
			||||||
import java.util.function.Consumer;
 | 
					import java.util.function.Consumer;
 | 
				
			||||||
import java.util.function.Function;
 | 
					import java.util.function.Function;
 | 
				
			||||||
 | 
					import org.slf4j.Logger;
 | 
				
			||||||
import static com.codahale.metrics.MetricRegistry.name;
 | 
					import org.slf4j.LoggerFactory;
 | 
				
			||||||
 | 
					import org.whispersystems.textsecuregcm.util.CircuitBreakerUtil;
 | 
				
			||||||
 | 
					import org.whispersystems.textsecuregcm.util.Constants;
 | 
				
			||||||
 | 
					import org.whispersystems.textsecuregcm.util.ThreadDumpUtil;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class FaultTolerantPubSubConnection<K, V> {
 | 
					public class FaultTolerantPubSubConnection<K, V> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -51,6 +51,8 @@ public class FaultTolerantPubSubConnection<K, V> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      this.executeTimer = metricRegistry.timer(name(getClass(), name + "-pubsub", "execute"));
 | 
					      this.executeTimer = metricRegistry.timer(name(getClass(), name + "-pubsub", "execute"));
 | 
				
			||||||
      this.commandTimeoutMeter = metricRegistry.meter(name(getClass(), name + "-pubsub", "commandTimeout"));
 | 
					      this.commandTimeoutMeter = metricRegistry.meter(name(getClass(), name + "-pubsub", "commandTimeout"));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      CircuitBreakerUtil.registerMetrics(metricRegistry, circuitBreaker, FaultTolerantPubSubConnection.class);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public void usePubSubConnection(final Consumer<StatefulRedisClusterPubSubConnection<K, V>> consumer) {
 | 
					    public void usePubSubConnection(final Consumer<StatefulRedisClusterPubSubConnection<K, V>> consumer) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue