@Override public long getCount() { return getInstance().getCount(); } }
@Override public void recordEvent() { getInstance().recordEvent(); }
@Override public void recordEvents(long n) { getInstance().recordEvents(n); }
/** * 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()); } }
@Override public void onRemoval(RemovalNotification<String, Meter> removal) { Meter meter = removal.getValue(); if (removal.getCause() != RemovalCause.REPLACED) { Exceptions.checkNotNullOrEmpty(meter.getName(), "meter"); metrics.remove(meter.getName()); log.debug("Removed Meter: {}.", meter.getName()); } } }).
@Override public void recordMeterEvents(String name, long number) { Exceptions.checkNotNullOrEmpty(name, "name"); Preconditions.checkNotNull(number); String meterName = name + ".Meter"; try { Meter meter = metersCache.get(meterName, new Callable<Meter>() { @Override public Meter call() throws Exception { return underlying.createMeter(meterName); } }); meter.recordEvents(number); } catch (ExecutionException e) { log.error("Error while metersCache create meter", e); } } }