diff --git a/simpleclient/src/main/java/io/prometheus/client/CollectorRegistry.java b/simpleclient/src/main/java/io/prometheus/client/CollectorRegistry.java index 53afb5aa6..d2a12c95c 100644 --- a/simpleclient/src/main/java/io/prometheus/client/CollectorRegistry.java +++ b/simpleclient/src/main/java/io/prometheus/client/CollectorRegistry.java @@ -27,7 +27,7 @@ public class CollectorRegistry { */ public static final CollectorRegistry defaultRegistry = new CollectorRegistry(true); - + private final Object namesCollectorsLock = new Object(); private final Map> collectorsToNames = new HashMap>(); private final Map namesToCollectors = new HashMap(); @@ -48,7 +48,7 @@ public CollectorRegistry(boolean autoDescribe) { */ public void register(Collector m) { List names = collectorNames(m); - synchronized (collectorsToNames) { + synchronized (namesCollectorsLock) { for (String name : names) { if (namesToCollectors.containsKey(name)) { throw new IllegalArgumentException("Collector already registered that provides name: " + name); @@ -65,7 +65,7 @@ public void register(Collector m) { * Unregister a Collector. */ public void unregister(Collector m) { - synchronized (collectorsToNames) { + synchronized (namesCollectorsLock) { List names = collectorsToNames.remove(m); for (String name : names) { namesToCollectors.remove(name); @@ -77,7 +77,7 @@ public void unregister(Collector m) { * Unregister all Collectors. */ public void clear() { - synchronized (collectorsToNames) { + synchronized (namesCollectorsLock) { collectorsToNames.clear(); namesToCollectors.clear(); } @@ -87,7 +87,7 @@ public void clear() { * A snapshot of the current collectors. */ private Set collectors() { - synchronized (collectorsToNames) { + synchronized (namesCollectorsLock) { return new HashSet(collectorsToNames.keySet()); } } @@ -159,7 +159,7 @@ private Iterator includedCollectorIterator(Set includedNames) return collectors().iterator(); } else { HashSet collectors = new HashSet(); - synchronized (namesToCollectors) { + synchronized (namesCollectorsLock) { for (Map.Entry entry : namesToCollectors.entrySet()) { if (includedNames.contains(entry.getKey())) { collectors.add(entry.getValue());