use of org.springside.modules.metrics.utils.Clock.MockClock in project springside4 by springside.
the class TimerTest method normal.
@Test
public void normal() {
MockClock clock = new MockClock();
Timer.clock = clock;
Counter.clock = clock;
Timer timer = new Timer(new Double[] { 90d });
TimerContext timerContext = timer.start();
clock.increaseTime(200);
timerContext.stop();
TimerContext timer2 = timer.start();
clock.increaseTime(300);
timer2.stop();
TimerMetric metric = timer.calculateMetric();
assertThat(metric.counterMetric.totalCount).isEqualTo(2);
assertThat(metric.counterMetric.avgRate).isEqualTo(4);
assertThat(metric.counterMetric.latestCount).isEqualTo(2);
assertThat(metric.counterMetric.latestRate).isEqualTo(4);
assertThat(metric.histogramMetric.min).isEqualTo(200);
assertThat(metric.histogramMetric.avg).isEqualTo(250);
assertThat(metric.histogramMetric.pcts.get(90d)).isEqualTo(300);
}
use of org.springside.modules.metrics.utils.Clock.MockClock in project springside4 by springside.
the class ReporterTest method runReport.
private void runReport(Reporter reporter) {
MetricRegistry metricRegistry = new MetricRegistry();
MockClock clock = new MockClock();
Counter.clock = clock;
Timer.clock = clock;
// counter
Counter counter = metricRegistry.counter(MetricRegistry.name("UserService", "getUser.counter"));
counter.inc(4);
Counter counter2 = metricRegistry.counter(MetricRegistry.name("UserService", "setUser.counter"));
counter2.inc(6);
clock.increaseTime(1000);
// histogram
Histogram histogram = metricRegistry.histogram(MetricRegistry.name("UserService", "getUser.latency"));
for (int i = 1; i <= 100; i++) {
histogram.update(i);
}
Histogram histogram2 = metricRegistry.histogram(MetricRegistry.name("UserService", "setUser.latency"));
for (int i = 1; i <= 100; i++) {
histogram2.update(i * 2);
}
// timer
Timer timer = metricRegistry.timer(MetricRegistry.name("UserService", "getUser.timer"));
for (int i = 1; i <= 10; i++) {
TimerContext timerContext = timer.start();
clock.increaseTime(25);
timerContext.stop();
}
Timer timer2 = metricRegistry.timer(MetricRegistry.name("UserService", "setUser.timer"));
for (int i = 1; i <= 10; i++) {
TimerContext timerContext = timer2.start();
clock.increaseTime(75);
timerContext.stop();
}
// totally 2 seconds past
ReportScheduler scheduler = new ReportScheduler(metricRegistry, reporter);
scheduler.report();
}
Aggregations