use of io.dropwizard.metrics.Snapshot in project light-4j by networknt.
the class InfluxDbReporterTest method reportsTimers.
@Test
public void reportsTimers() throws Exception {
final Timer timer = mock(Timer.class);
when(timer.getCount()).thenReturn(1L);
when(timer.getMeanRate()).thenReturn(2.0);
when(timer.getOneMinuteRate()).thenReturn(3.0);
when(timer.getFiveMinuteRate()).thenReturn(4.0);
when(timer.getFifteenMinuteRate()).thenReturn(5.0);
final Snapshot snapshot = mock(Snapshot.class);
when(snapshot.getMin()).thenReturn(TimeUnit.MILLISECONDS.toNanos(100));
when(snapshot.getMean()).thenReturn((double) TimeUnit.MILLISECONDS.toNanos(200));
when(snapshot.getMax()).thenReturn(TimeUnit.MILLISECONDS.toNanos(300));
when(snapshot.getStdDev()).thenReturn((double) TimeUnit.MILLISECONDS.toNanos(400));
when(snapshot.getMedian()).thenReturn((double) TimeUnit.MILLISECONDS.toNanos(500));
when(snapshot.get75thPercentile()).thenReturn((double) TimeUnit.MILLISECONDS.toNanos(600));
when(snapshot.get95thPercentile()).thenReturn((double) TimeUnit.MILLISECONDS.toNanos(700));
when(snapshot.get98thPercentile()).thenReturn((double) TimeUnit.MILLISECONDS.toNanos(800));
when(snapshot.get99thPercentile()).thenReturn((double) TimeUnit.MILLISECONDS.toNanos(900));
when(snapshot.get999thPercentile()).thenReturn((double) TimeUnit.MILLISECONDS.toNanos(1000));
when(timer.getSnapshot()).thenReturn(snapshot);
reporter.report(this.map(), this.map(), this.map(), this.map(), map("timer", timer));
final ArgumentCaptor<InfluxDbPoint> influxDbPointCaptor = ArgumentCaptor.forClass(InfluxDbPoint.class);
Mockito.verify(influxDb, atLeastOnce()).appendPoints(influxDbPointCaptor.capture());
InfluxDbPoint point = influxDbPointCaptor.getValue();
/*
assertThat(point.getMeasurement()).isEqualTo("timer");
assertThat(point.getFields()).isNotEmpty();
assertThat(point.getFields()).hasSize(17);
assertThat(point.getFields()).contains(entry("count", 1L));
assertThat(point.getFields()).contains(entry("mean-rate", 2.0));
assertThat(point.getFields()).contains(entry("one-minute", 3.0));
assertThat(point.getFields()).contains(entry("five-minute", 4.0));
assertThat(point.getFields()).contains(entry("fifteen-minute", 5.0));
assertThat(point.getFields()).contains(entry("min", 100.0));
assertThat(point.getFields()).contains(entry("mean", 200.0));
assertThat(point.getFields()).contains(entry("max", 300.0));
assertThat(point.getFields()).contains(entry("std-dev", 400.0));
assertThat(point.getFields()).contains(entry("median", 500.0));
assertThat(point.getFields()).contains(entry("75-percentile", 600.0));
assertThat(point.getFields()).contains(entry("95-percentile", 700.0));
assertThat(point.getFields()).contains(entry("98-percentile", 800.0));
assertThat(point.getFields()).contains(entry("99-percentile", 900.0));
assertThat(point.getFields()).contains(entry("999-percentile", 1000.0));
*/
}
use of io.dropwizard.metrics.Snapshot in project light-4j by networknt.
the class Slf4jReporterTest method reportsTimerValues.
@Test
public void reportsTimerValues() throws Exception {
final Timer timer = mock(Timer.class);
when(timer.getCount()).thenReturn(1L);
when(timer.getMeanRate()).thenReturn(2.0);
when(timer.getOneMinuteRate()).thenReturn(3.0);
when(timer.getFiveMinuteRate()).thenReturn(4.0);
when(timer.getFifteenMinuteRate()).thenReturn(5.0);
final Snapshot snapshot = mock(Snapshot.class);
when(snapshot.getMax()).thenReturn(TimeUnit.MILLISECONDS.toNanos(100));
when(snapshot.getMean()).thenReturn((double) TimeUnit.MILLISECONDS.toNanos(200));
when(snapshot.getMin()).thenReturn(TimeUnit.MILLISECONDS.toNanos(300));
when(snapshot.getStdDev()).thenReturn((double) TimeUnit.MILLISECONDS.toNanos(400));
when(snapshot.getMedian()).thenReturn((double) TimeUnit.MILLISECONDS.toNanos(500));
when(snapshot.get75thPercentile()).thenReturn((double) TimeUnit.MILLISECONDS.toNanos(600));
when(snapshot.get95thPercentile()).thenReturn((double) TimeUnit.MILLISECONDS.toNanos(700));
when(snapshot.get98thPercentile()).thenReturn((double) TimeUnit.MILLISECONDS.toNanos(800));
when(snapshot.get99thPercentile()).thenReturn((double) TimeUnit.MILLISECONDS.toNanos(900));
when(snapshot.get999thPercentile()).thenReturn((double) TimeUnit.MILLISECONDS.toNanos(1000));
when(timer.getSnapshot()).thenReturn(snapshot);
when(logger.isInfoEnabled(marker)).thenReturn(true);
infoReporter.report(this.map(), this.map(), this.map(), this.map(), map("test.another.timer", timer));
verify(logger).info(marker, "type={}, name={}, count={}, min={}, max={}, mean={}, stddev={}, median={}, p75={}, p95={}, p98={}, p99={}, p999={}, mean_rate={}, m1={}, m5={}, m15={}, rate_unit={}, duration_unit={}", "TIMER", "prefix.test.another.timer", 1L, 300.0, 100.0, 200.0, 400.0, 500.0, 600.0, 700.0, 800.0, 900.0, 1000.0, 2.0, 3.0, 4.0, 5.0, "events/second", "milliseconds");
}
use of io.dropwizard.metrics.Snapshot in project light-4j by networknt.
the class Slf4jReporterTest method reportsHistogramValues.
@Test
public void reportsHistogramValues() throws Exception {
final Histogram histogram = mock(Histogram.class);
when(histogram.getCount()).thenReturn(1L);
final Snapshot snapshot = mock(Snapshot.class);
when(snapshot.getMax()).thenReturn(2L);
when(snapshot.getMean()).thenReturn(3.0);
when(snapshot.getMin()).thenReturn(4L);
when(snapshot.getStdDev()).thenReturn(5.0);
when(snapshot.getMedian()).thenReturn(6.0);
when(snapshot.get75thPercentile()).thenReturn(7.0);
when(snapshot.get95thPercentile()).thenReturn(8.0);
when(snapshot.get98thPercentile()).thenReturn(9.0);
when(snapshot.get99thPercentile()).thenReturn(10.0);
when(snapshot.get999thPercentile()).thenReturn(11.0);
when(histogram.getSnapshot()).thenReturn(snapshot);
when(logger.isInfoEnabled(marker)).thenReturn(true);
infoReporter.report(this.map(), this.map(), map("test.histogram", histogram), this.map(), this.map());
verify(logger).info(marker, "type={}, name={}, count={}, min={}, max={}, mean={}, stddev={}, median={}, p75={}, p95={}, p98={}, p99={}, p999={}", "HISTOGRAM", "prefix.test.histogram", 1L, 4L, 2L, 3.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0);
}
use of io.dropwizard.metrics.Snapshot in project light-4j by networknt.
the class TimerTest method returnsTheSnapshotFromTheReservoir.
@Test
public void returnsTheSnapshotFromTheReservoir() throws Exception {
final Snapshot snapshot = mock(Snapshot.class);
when(reservoir.getSnapshot()).thenReturn(snapshot);
assertThat(timer.getSnapshot()).isEqualTo(snapshot);
}
use of io.dropwizard.metrics.Snapshot in project light-4j by networknt.
the class UniformReservoirTest method aReservoirOf100OutOf1000Elements.
@Test
@SuppressWarnings("unchecked")
public void aReservoirOf100OutOf1000Elements() throws Exception {
final UniformReservoir reservoir = new UniformReservoir(100);
for (int i = 0; i < 1000; i++) {
reservoir.update(i);
}
final Snapshot snapshot = reservoir.getSnapshot();
assertThat(reservoir.size()).isEqualTo(100);
assertThat(snapshot.size()).isEqualTo(100);
for (double i : snapshot.getValues()) {
assertThat(i).isLessThan(1000).isGreaterThanOrEqualTo(0);
}
}
Aggregations