public BinMetrics(String name, int bin) { totalSize = Metrics.counter(name("co.paralleluniverse", "galaxy", "CacheStorage", "totalSize", name + '[' + bin + ']')); allocated = Metrics.meter(name("co.paralleluniverse", "galaxy", "CacheStorage", "allocated", name + '[' + bin + ']')); deallocated = Metrics.meter(name("co.paralleluniverse", "galaxy", "CacheStorage", "deallocated", name + '[' + bin + ']')); // allocated = Metrics.newHistogram(CacheStorage.class, "allocated", name + '[' + bin + ']', true); // deallocated = Metrics.newHistogram(CacheStorage.class, "deallocated", name + '[' + bin + ']', true); }
public MetricsFibersMonitor(String name, FiberScheduler scheduler) { this.activeCount = Metrics.counter(metric(name, "numActiveFibers")); this.waitingCount = Metrics.counter(metric(name, "numWaitingFibers")); this.spuriousWakeups = Metrics.meter(metric(name, "spuriousWakeups")); this.timedParkLatency = Metrics.histogram(metric(name, "timedParkLatency")); this.runawayFibers = new Gauge<Map<String, String>>() { @Override public Map<String, String> getValue() { Map<String, String> map = new HashMap<>(); if (problemFibers != null) { for (Map.Entry<Fiber, StackTraceElement[]> e : problemFibers.entrySet()) map.put(e.getKey().toString(), Strand.toString(e.getValue())); } return map; } }; Metrics.register("runawayFibers", runawayFibers); }