@Test public void testUnregisteredBasicCounter() { BasicCounter c = new BasicCounter(CONFIG); assertEquals(0, registry.counters().count()); }
@Test public void testUnregisteredBasicCounterIncrement() { BasicCounter c = new BasicCounter(CONFIG); c.increment(); assertEquals(1, registry.counters().count()); assertEquals(1, registry.counter("test").count()); }
@Test public void testUnregisteredBasicTimerIncrement() { BasicTimer t = new BasicTimer(CONFIG); t.record(42, TimeUnit.MILLISECONDS); Id id = registry.createId("test") .withTag("unit", "MILLISECONDS"); assertEquals(3, registry.counters().count()); assertEquals(0, registry.timers().count()); assertEquals(1, registry.gauges().count()); assertEquals(0, registry.distributionSummaries().count()); assertEquals(1, registry.counter(id.withTag(Statistic.count)).count()); assertEquals(42, registry.counter(id.withTag(Statistic.totalTime)).count()); assertEquals(42 * 42, registry.counter(id.withTag(Statistic.totalOfSquares)).count()); assertEquals(42.0, registry.maxGauge(id.withTag(Statistic.max)).value()); }
@Override public Stream<Counter> counters() { return composite.counters(); }
private long sum(Registry r, String name) { return r.counters().filter(Functions.nameEquals(name)).mapToLong(Counter::count).sum(); }
@Test public void basic() { Registry r = new DefaultRegistry(); BucketCounter c = BucketCounter.get( r, r.createId("test"), BucketFunctions.latency(4, TimeUnit.SECONDS)); c.record(TimeUnit.MILLISECONDS.toNanos(3750)); Assertions.assertEquals(1, r.counters().count()); Assertions.assertEquals(1, sum(r, "test")); c.record(TimeUnit.MILLISECONDS.toNanos(4221)); Assertions.assertEquals(2, r.counters().count()); Assertions.assertEquals(2, sum(r, "test")); c.record(TimeUnit.MILLISECONDS.toNanos(4221)); Assertions.assertEquals(2, r.counters().count()); Assertions.assertEquals(3, sum(r, "test")); }
@Test public void testMetricCollection() { execRequest("http://foo", 200); //then List<Meter> allMetrics = new ArrayList<>(); registry.iterator().forEachRemaining(allMetrics::add); assertEquals(2, allMetrics.size()); Optional<Timer> expectedTimer = registry.timers().findFirst(); assertTrue(expectedTimer.isPresent()); Timer timer = expectedTimer.get(); assertEquals(1, timer.count()); assertEquals(100000, timer.totalTime()); Optional<Counter> expectedCounter = registry.counters().findFirst(); assertTrue(expectedCounter.isPresent()); assertEquals(12345L, expectedCounter.get().count()); }
@Test public void testMetricCollection() { execRequest("http://foo", 200); //then List<Meter> allMetrics = new ArrayList<>(); registry.iterator().forEachRemaining(allMetrics::add); assertEquals(2, allMetrics.size()); Optional<Timer> expectedTimer = registry.timers().findFirst(); assertTrue(expectedTimer.isPresent()); Timer timer = expectedTimer.get(); assertEquals(1, timer.count()); assertEquals(100000, timer.totalTime()); Optional<Counter> expectedCounter = registry.counters().findFirst(); assertTrue(expectedCounter.isPresent()); assertEquals(12345L, expectedCounter.get().count()); }
@Test public void correctTypeForCountersStream() { Registry r = newRegistry(5, false); r.counter("a").increment(); r.counter("b").increment(); Assertions.assertEquals(2, r.counters().count()); Assertions.assertEquals(2, r.stream().filter(m -> m instanceof Counter).count()); }
@Test public void endpointUnknownIfNotSet() { Registry registry = new DefaultRegistry(); IpcLogger logger = new IpcLogger(registry, clock, LoggerFactory.getLogger(getClass())); logger.createServerEntry() .withOwner("test") .markStart() .markEnd() .log(); registry.counters().forEach(c -> { Assertions.assertEquals("unknown", Utils.getTagValue(c.id(), "ipc.endpoint")); }); } }
@Test public void counters() { Registry r = newRegistry(true, 10000); r.counter("foo").increment(); r.counter("foo", "a", "1", "b", "2").increment(); r.counter("foo", "a", "1", "b", "3").increment(13L); r.counter("foo", "a", "1", "b", "2").increment(); r.counter("bar", "a", "1", "b", "2").increment(); Assertions.assertEquals(4, r.counters().count()); final LongSummaryStatistics summary = r.counters() .filter(Functions.nameEquals("foo")) .collect(Collectors.summarizingLong(Counter::count)); Assertions.assertEquals(3L, summary.getCount()); Assertions.assertEquals(16L, summary.getSum()); Assertions.assertEquals(13L, summary.getMax()); }