metricRegistry.register(MetricId.EMPTY, new MemoryUsageGaugeSet()); metricRegistry.register(MetricId.EMPTY, new GarbageCollectorMetricSet()); metricRegistry.register(MetricId.EMPTY, new ThreadStatesMetricSet());
@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); }
public static void main(final String[] args) throws Exception { registry.register(MetricId.build("jvm-memory"), new MemoryUsageGaugeSet()); registry.register(MetricId.build("jvm-gc"), new GarbageCollectorMetricSet()); registry.register(MetricId.build("jvm-threads"), new ThreadStatesMetricSet()); registry.register(MetricId.build("jvm-cpu"), CpuGaugeSet.create()); registry.register(MetricId.build("jvm-fd-ratio"), new FileDescriptorGaugeSet()); final FastForwardReporter reporter = FastForwardReporter .forRegistry(registry) .prefix(APP_PREFIX) .schedule(TimeUnit.SECONDS, 5) .build(); reporter.start(); System.out.println("Sending jvm metrics..."); System.in.read(); reporter.stop(); } }
private static Statistics setupStatistics() throws IOException { final String key = System.getProperty("ffwd.key", "ffwd-java"); final SemanticMetricRegistry registry = new SemanticMetricRegistry(); final SemanticCoreStatistics statistics = new SemanticCoreStatistics(registry); final MetricId gauges = MetricId.build(); registry.register(gauges, new ThreadStatesMetricSet()); registry.register(gauges, new GarbageCollectorMetricSet()); registry.register(gauges, new MemoryUsageGaugeSet()); final MetricId metric = MetricId.build(key); final FastForwardReporter ffwd = FastForwardReporter .forRegistry(registry) .schedule(TimeUnit.SECONDS, 30) .prefix(metric) .build(); ffwd.start(); return new Statistics(ffwd, statistics); }