Github user srdo commented on a diff in the pull request: https://github.com/apache/storm/pull/2771#discussion_r207601720 --- Diff: storm-server/src/main/java/org/apache/storm/metric/StormMetricsRegistry.java --- @@ -12,28 +12,30 @@ package org.apache.storm.metric; +import com.codahale.metrics.ExponentiallyDecayingReservoir; import com.codahale.metrics.Gauge; import com.codahale.metrics.Histogram; import com.codahale.metrics.Meter; import com.codahale.metrics.Metric; import com.codahale.metrics.MetricRegistry; import com.codahale.metrics.MetricSet; import com.codahale.metrics.Reservoir; + import java.util.Map; import java.util.concurrent.Callable; + +import com.codahale.metrics.Timer; +import org.apache.commons.lang.StringUtils; import org.apache.storm.daemon.metrics.MetricsUtils; import org.apache.storm.daemon.metrics.reporters.PreparableReporter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@SuppressWarnings("unchecked") -public class StormMetricsRegistry { - private static final MetricRegistry DEFAULT_REGISTRY = new MetricRegistry(); +public class StormMetricsRegistry extends MetricRegistry { --- End diff -- I think we can make the registry non-static without it being a huge hassle https://github.com/apache/storm/pull/2783. I'll rebase it once https://github.com/apache/storm/pull/2752 goes in, and hopefully we can use it to resolve https://github.com/apache/storm/pull/2714. Regarding the subclassing, I'm wondering if we should instead go ask the Dropwizard guys whether the inability to use `getOrAdd` for MetricSets is intended, and if not whether they'd be open to adding a method to MetricRegistry to allow it. If we're hitting this issue, other people probably are too, and I'd much rather fix it in the library than try to hack around it here. What do you think @zd-project?
---