Search in sources :

Example 26 with Timer

use of io.micrometer.core.instrument.Timer in project tutorials by eugenp.

the class MicrometerAtlasTest method givenTimer_whenWrapTasks_thenTimeRecorded.

@Test
public void givenTimer_whenWrapTasks_thenTimeRecorded() {
    SimpleMeterRegistry registry = new SimpleMeterRegistry();
    Timer timer = registry.timer("app.event");
    timer.record(() -> {
        try {
            TimeUnit.MILLISECONDS.sleep(15);
        } catch (InterruptedException ignored) {
        }
    });
    timer.record(30, TimeUnit.MILLISECONDS);
    assertTrue(2 == timer.count());
    assertTrue(50 > timer.totalTime(TimeUnit.MILLISECONDS) && 45 <= timer.totalTime(TimeUnit.MILLISECONDS));
}
Also used : LongTaskTimer(io.micrometer.core.instrument.LongTaskTimer) Timer(io.micrometer.core.instrument.Timer) SimpleMeterRegistry(io.micrometer.core.instrument.simple.SimpleMeterRegistry) Test(org.junit.Test)

Aggregations

Timer (io.micrometer.core.instrument.Timer)26 Test (org.junit.jupiter.api.Test)11 MeterRegistry (io.micrometer.core.instrument.MeterRegistry)9 DisplayName (org.junit.jupiter.api.DisplayName)7 LongTaskTimer (io.micrometer.core.instrument.LongTaskTimer)6 SimpleMeterRegistry (io.micrometer.core.instrument.simple.SimpleMeterRegistry)6 Duration (java.time.Duration)5 TimeUnit (java.util.concurrent.TimeUnit)5 Test (org.junit.Test)5 Normal (cern.jet.random.Normal)4 MersenneTwister64 (cern.jet.random.engine.MersenneTwister64)4 RandomEngine (cern.jet.random.engine.RandomEngine)4 SampleConfig (io.micrometer.core.samples.utils.SampleConfig)4 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)4 Flux (reactor.core.publisher.Flux)4 FunctionTimer (io.micrometer.core.instrument.FunctionTimer)3 Timed (io.micrometer.core.annotation.Timed)2 DistributionSummary (io.micrometer.core.instrument.DistributionSummary)2 Match (io.vertx.micrometer.Match)2 JsonProcessingException (com.fasterxml.jackson.core.JsonProcessingException)1