@Override public void recordEvents(long n) { getInstance().recordEvents(n); }
@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); } } }
/** * 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()); } }