in core/src/main/java/com/spotify/metrics/jvm/MemoryUsageGaugeSet.java [58:85]
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);
}