X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-clustering-commons%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Freporting%2FMetricsReporter.java;h=a488342abaa2b9efeacbd52c9eefb69ba0f82e71;hb=a60f577d66eb510232b0e2ccca73d9e7a81af0c9;hp=0f227779ddf01c3e8205ad0c605ae4660a920c79;hpb=eeb7581f3d675fa499638e90f01e657c73c67c73;p=controller.git diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/reporting/MetricsReporter.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/reporting/MetricsReporter.java index 0f227779dd..a488342aba 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/reporting/MetricsReporter.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/reporting/MetricsReporter.java @@ -7,40 +7,53 @@ */ package org.opendaylight.controller.cluster.reporting; -import com.codahale.metrics.JmxReporter; import com.codahale.metrics.MetricRegistry; +import com.codahale.metrics.jmx.JmxReporter; +import com.google.common.cache.CacheBuilder; +import com.google.common.cache.CacheLoader; +import com.google.common.cache.LoadingCache; /** * Maintains metrics registry that is provided to reporters. * At the moment only one reporter exists {@code JmxReporter}. * More reporters can be added. - *
+ * + *
* The consumers of this class will only be interested in {@code MetricsRegistry}
* where metrics for that consumer gets stored.
*/
-public class MetricsReporter implements AutoCloseable{
-
- private final MetricRegistry METRICS_REGISTRY = new MetricRegistry();
- private final String DOMAIN = "org.opendaylight.controller.actor.metric";
-
- public final JmxReporter jmxReporter = JmxReporter.forRegistry(METRICS_REGISTRY).inDomain(DOMAIN).build();
-
- private static MetricsReporter inst = new MetricsReporter();
-
- private MetricsReporter(){
+public class MetricsReporter implements AutoCloseable {
+
+ private static final LoadingCache