All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.rollingmetrics.micrometer.meters.TickerClock Maven / Gradle / Ivy

There is a newer version: 3.0.0
Show newest version
package com.github.rollingmetrics.micrometer.meters;

import com.github.rollingmetrics.util.Ticker;
import io.micrometer.core.instrument.Clock;

public class TickerClock implements Ticker {

    private final long initializationNanoTime;
    private Clock clock;

    public TickerClock(Clock clock) {
        this.clock = clock;
        initializationNanoTime = clock.monotonicTime();
    }

    @Override
    public long nanoTime() {
        return clock.monotonicTime();
    }

    @Override
    public long stableMilliseconds() {
        return  (nanoTime() - initializationNanoTime) / 1_000_000;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy