Package io.grpc.xds
Class SharedCallCounterMap
- java.lang.Object
-
- io.grpc.xds.SharedCallCounterMap
-
- All Implemented Interfaces:
XdsNameResolverProvider.CallCounterProvider
@ThreadSafe final class SharedCallCounterMap extends java.lang.Object implements XdsNameResolverProvider.CallCounterProvider
The global map for holding circuit breaker atomic counters.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classSharedCallCounterMap.CounterReferenceprivate static classSharedCallCounterMap.SharedCallCounterMapHolder
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,java.util.Map<java.lang.String,SharedCallCounterMap.CounterReference>>countersprivate java.lang.ref.ReferenceQueue<java.util.concurrent.atomic.AtomicLong>refQueue
-
Constructor Summary
Constructors Modifier Constructor Description privateSharedCallCounterMap()(package private)SharedCallCounterMap(java.util.Map<java.lang.String,java.util.Map<java.lang.String,SharedCallCounterMap.CounterReference>> counters)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidcleanQueue()(package private) static SharedCallCounterMapgetInstance()java.util.concurrent.atomic.AtomicLonggetOrCreate(java.lang.String cluster, java.lang.String edsServiceName)
-
-
-
Field Detail
-
refQueue
private final java.lang.ref.ReferenceQueue<java.util.concurrent.atomic.AtomicLong> refQueue
-
counters
private final java.util.Map<java.lang.String,java.util.Map<java.lang.String,SharedCallCounterMap.CounterReference>> counters
-
-
Constructor Detail
-
SharedCallCounterMap
private SharedCallCounterMap()
-
SharedCallCounterMap
SharedCallCounterMap(java.util.Map<java.lang.String,java.util.Map<java.lang.String,SharedCallCounterMap.CounterReference>> counters)
-
-
Method Detail
-
getInstance
static SharedCallCounterMap getInstance()
-
getOrCreate
public java.util.concurrent.atomic.AtomicLong getOrCreate(java.lang.String cluster, @Nullable java.lang.String edsServiceName)- Specified by:
getOrCreatein interfaceXdsNameResolverProvider.CallCounterProvider
-
cleanQueue
void cleanQueue()
-
-