@Setup(Level.Iteration) public void setup() { registry = new SimpleMeterRegistry(); summary = registry.summary("summary"); }
@Override protected Function<MeterRegistry, DistributionSummary> registrar(String name, Iterable<Tag> tags) { return meterRegistry -> meterRegistry.summary(name, tags); }
@Override public DistributionSummary summary(String name, Iterable<Tag> tags) { return meterRegistry.summary(getName(name), tags); }
@Override public DistributionSummary summary(String name, String... tags) { return meterRegistry.summary(getName(name), tags); }
@Override public DistributionSummary distributionSummary(Id id) { return new MicrometerDistributionSummary(id, impl.summary(id.name(), convert(id.tags()))); }
@Test @DisplayName("negative quantities are ignored") default void recordNegative(MeterRegistry registry) { DistributionSummary ds = registry.summary("my.summary"); ds.record(-10); assertAll(() -> assertEquals(0, ds.count()), () -> assertEquals(0L, ds.totalAmount())); }
@Test @DisplayName("record zero") default void recordZero(MeterRegistry registry) { DistributionSummary ds = registry.summary("my.summary"); ds.record(0); clock(registry).add(step()); assertAll(() -> assertEquals(1L, ds.count()), () -> assertEquals(0L, ds.totalAmount())); }
@Test @DisplayName("multiple recordings are maintained") default void record(MeterRegistry registry) { DistributionSummary ds = registry.summary("my.summary"); ds.record(10); clock(registry).add(step()); ds.count(); assertAll(() -> assertEquals(1L, ds.count()), () -> assertEquals(10L, ds.totalAmount())); ds.record(10); ds.record(10); clock(registry).add(step()); assertAll(() -> assertTrue(ds.count() >= 2L), () -> assertTrue(ds.totalAmount() >= 20L)); }