@Override public Meter call() throws Exception { return underlying.createMeter(meterName); } });
void setLogger(StatsLogger logger) { this.statsLoggerRef.set(logger); this.opStatsLoggers.values().forEach(v -> v.updateInstance(this.statsLoggerRef.get().createStats(v.getProxyName()))); this.counters.values().forEach(v -> v.updateInstance(this.statsLoggerRef.get().createCounter(v.getProxyName()))); this.meters.values().forEach(v -> v.updateInstance(this.statsLoggerRef.get().createMeter(v.getProxyName()))); this.gauges.values().forEach(v -> v.updateInstance(this.statsLoggerRef.get().registerGauge(v.getProxyName(), v.getValueSupplier()))); }
/** * Test Meter registered and worked well with StatsLogger. */ @Test public void testMeter() { Meter testMeter = statsLogger.createMeter("testMeter"); testMeter.recordEvent(); testMeter.recordEvent(); assertEquals(2, testMeter.getCount()); testMeter.recordEvents(27); assertEquals(29, testMeter.getCount()); // test dynamic meter int sum = 0; for (int i = 1; i < 10; i++) { sum += i; dynamicLogger.recordMeterEvents("dynamicMeter", i); assertEquals(sum, MetricRegistryUtils.getMeter("pravega.dynamicMeter.Meter").getCount()); } }