public interface Timer extends Metered, Sampling
Meter
.
See SimpleTimer
for a lightweight alternative that only tracks elapsed time duration and count.
The timer measures duration in nanoseconds.Modifier and Type | Interface and Description |
---|---|
static interface |
Timer.Context
A timing context.
|
Modifier and Type | Method and Description |
---|---|
long |
getCount()
Returns the number of events which have been marked.
|
java.time.Duration |
getElapsedTime()
Returns the total elapsed timing durations of all completed timing events that are recorded with
update(Duration) . |
double |
getFifteenMinuteRate()
Returns the fifteen-minute exponentially-weighted moving average rate at which events have occurred since the
meter was created.
|
double |
getFiveMinuteRate()
Returns the five-minute exponentially-weighted moving average rate at which events have occurred since the meter
was created.
|
double |
getMeanRate()
Returns the mean rate at which events have occurred since the meter was created.
|
double |
getOneMinuteRate()
Returns the one-minute exponentially-weighted moving average rate at which events have occurred since the meter
was created.
|
Snapshot |
getSnapshot()
Returns a snapshot of the values.
|
Timer.Context |
time()
Returns a new
Timer.Context . |
<T> T |
time(java.util.concurrent.Callable<T> event)
Times and records the duration of event.
|
void |
time(java.lang.Runnable event)
Times and records the duration of event.
|
void |
update(java.time.Duration duration)
Adds a recorded duration.
|
void update(java.time.Duration duration)
duration
- the length of the duration
<T> T time(java.util.concurrent.Callable<T> event) throws java.lang.Exception
T
- the type of the value returned by event
event
- a Callable
whose Callable.call()
method implements a process whose duration should be
timedevent
java.lang.Exception
- if event
throws an Exception
void time(java.lang.Runnable event)
event
- a Runnable
whose Runnable.run()
method implements a process whose duration should be
timedTimer.Context time()
Timer.Context
.Timer.Context
Timer.Context
java.time.Duration getElapsedTime()
update(Duration)
.duration
long getCount()
Metered
double getFifteenMinuteRate()
Metered
top
Unix command.getFifteenMinuteRate
in interface Metered
double getFiveMinuteRate()
Metered
top
Unix command.getFiveMinuteRate
in interface Metered
double getMeanRate()
Metered
getMeanRate
in interface Metered
double getOneMinuteRate()
Metered
top
Unix command.getOneMinuteRate
in interface Metered
Snapshot getSnapshot()
Sampling
getSnapshot
in interface Sampling