private void registerAll(String prefix, MetricSet metrics, MetricRegistry registry) { for (Map.Entry<String, Metric> entry : metrics.getMetrics().entrySet()) { String name = MetricRegistry.name(prefix, entry.getKey()); if (entry.getValue() instanceof MetricSet) { registerAll(name, (MetricSet) entry.getValue(), registry); } else { registry.register(name, entry.getValue()); } } } }
if (slf4jMinutes > 0) { final Slf4jReporter reporter = Slf4jReporter.forRegistry(registry) .filter(filter()) .outputTo(LoggerFactory.getLogger(DOMAIN)) .convertRatesTo(TimeUnit.SECONDS) registerAll("jvm.buffers", bufferPoolMetrics, registry); registerAll("jvm.gc", new GarbageCollectorMetricSet(), registry); registerAll("jvm.memory", new MemoryUsageGaugeSet(), registry); registerAll("jvm.threads", new ThreadStatesGaugeSet(), registry); registry.register("jvm.fileDescriptorCountRatio", new FileDescriptorRatioGauge());