Search in sources :

Example 1 with MockClock

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);
}
Also used : TimerMetric(org.springside.modules.metrics.metric.TimerMetric) Timer(org.springside.modules.metrics.metric.Timer) TimerContext(org.springside.modules.metrics.metric.Timer.TimerContext) MockClock(org.springside.modules.metrics.utils.Clock.MockClock) Test(org.junit.Test)

Example 2 with MockClock

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();
}
Also used : Histogram(org.springside.modules.metrics.metric.Histogram) Counter(org.springside.modules.metrics.metric.Counter) Timer(org.springside.modules.metrics.metric.Timer) TimerContext(org.springside.modules.metrics.metric.Timer.TimerContext) MockClock(org.springside.modules.metrics.utils.Clock.MockClock)

Aggregations

Timer (org.springside.modules.metrics.metric.Timer)2 TimerContext (org.springside.modules.metrics.metric.Timer.TimerContext)2 MockClock (org.springside.modules.metrics.utils.Clock.MockClock)2 Test (org.junit.Test)1 Counter (org.springside.modules.metrics.metric.Counter)1 Histogram (org.springside.modules.metrics.metric.Histogram)1 TimerMetric (org.springside.modules.metrics.metric.TimerMetric)1