Package io.prometheus.client
Class SimpleTimer
- java.lang.Object
-
- io.prometheus.client.SimpleTimer
-
public class SimpleTimer extends java.lang.ObjectSimpleTimer, to measure elapsed duration in seconds as a double.This is a helper class intended to measure latencies and encapsulate the conversion to seconds without losing precision.
Keep in mind that preferred approaches avoid using this mechanism if possible, since latency metrics broken out by outcome should be minimized;
Summary.startTimer()andHistogram.startTimer()are preferred. Consider moving outcome labels to a separate metric like a counter.Example usage:
class YourClass { static final Summary requestLatency = Summary.build() .name("requests_latency_seconds") .help("Request latency in seconds.") .labelNames("aLabel") .register(); void processRequest(Request req) { SimpleTimer requestTimer = new SimpleTimer(); try { // Your code here. } finally { requestLatency.labels("aLabelValue").observe(requestTimer.elapsedSeconds()); } } }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classSimpleTimer.TimeProvider
-
Field Summary
Fields Modifier and Type Field Description (package private) static SimpleTimer.TimeProviderdefaultTimeProviderprivate longstartprivate SimpleTimer.TimeProvidertimeProvider
-
Constructor Summary
Constructors Constructor Description SimpleTimer()SimpleTimer(SimpleTimer.TimeProvider timeProvider)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description doubleelapsedSeconds()static doubleelapsedSecondsFromNanos(long startNanos, long endNanos)
-
-
-
Field Detail
-
start
private final long start
-
defaultTimeProvider
static SimpleTimer.TimeProvider defaultTimeProvider
-
timeProvider
private final SimpleTimer.TimeProvider timeProvider
-
-
Constructor Detail
-
SimpleTimer
SimpleTimer(SimpleTimer.TimeProvider timeProvider)
-
SimpleTimer
public SimpleTimer()
-
-
Method Detail
-
elapsedSeconds
public double elapsedSeconds()
- Returns:
- Measured duration in seconds since
SimpleTimerwas constructed.
-
elapsedSecondsFromNanos
public static double elapsedSecondsFromNanos(long startNanos, long endNanos)
-
-