@Override public Map<MetricId, Metric> getMetrics() { final Map<MetricId, Metric> gauges = new HashMap<MetricId, Metric>(); final MetricId memory = MetricId.build().tagged("what", "jvm-memory-usage", "unit", "B"); putGauges(gauges, memory.tagged("memory", "heap"), new MemoryUsageSupplier() { @Override public MemoryUsage get() { return m.getHeapMemoryUsage(); } }); putGauges(gauges, memory.tagged("memory", "non-heap"), new MemoryUsageSupplier() { @Override public MemoryUsage get() { return m.getNonHeapMemoryUsage(); } }); for (final MemoryPoolMXBean m : pools) { putGauges(gauges, memory.tagged("memory", m.getName()), new MemoryUsageSupplier() { @Override public MemoryUsage get() { return m.getUsage(); } }); } return Collections.unmodifiableMap(gauges); }
@Override public Map<MetricId, Metric> getMetrics() { final Map<MetricId, Metric> gauges = new HashMap<MetricId, Metric>(); final MetricId memory = MetricId.build().tagged("what", "jvm-memory-usage", "unit", "B"); putGauges(gauges, memory.tagged("memory", "heap"), new MemoryUsageSupplier() { @Override public MemoryUsage get() { return m.getHeapMemoryUsage(); } }); putGauges(gauges, memory.tagged("memory", "non-heap"), new MemoryUsageSupplier() { @Override public MemoryUsage get() { return m.getNonHeapMemoryUsage(); } }); for (final MemoryPoolMXBean m : pools) { putGauges(gauges, memory.tagged("memory", m.getName()), new MemoryUsageSupplier() { @Override public MemoryUsage get() { return m.getUsage(); } }); } return Collections.unmodifiableMap(gauges); }