Package io.micrometer.core.instrument
Interface LongTaskTimer
- All Superinterfaces:
HistogramSupport,Meter
- All Known Implementing Classes:
CumulativeHistogramLongTaskTimer,DefaultLongTaskTimer,NoopLongTaskTimer
A long task timer is used to track the total duration of all in-flight long-running
tasks and the number of such tasks.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic classFluent builder for long task timers.static classNested classes/interfaces inherited from interface io.micrometer.core.instrument.Meter
Meter.Id, Meter.MeterProvider<T extends Meter>, Meter.Type -
Method Summary
Modifier and TypeMethodDescriptionintstatic LongTaskTimer.BuilderCreate a timer builder from aTimedannotation.static LongTaskTimer.Builderdefault doubleDeprecated.doubledoubleThe amount of time the longest running task has been runningdefault doubledefault Iterable<Measurement> measure()Get a set of measurements.default voidExecutes the runnablefand records the time taken.default booleanExecutes the supplierfand records the time taken.default voidExecutes the runnablefand records the time taken.default doubleExecutes the supplierfand records the time taken.default intExecutes the supplierfand records the time taken.default longExecutes the supplierfand records the time taken.default <T extends @Nullable Object>
TExecutes the supplierfand records the time taken.default <T extends @Nullable Object>
TrecordCallable(Callable<T> f) Executes the callablefand records the time taken.start()Start keeping time for a task.default longstop(long task) Deprecated.Methods inherited from interface io.micrometer.core.instrument.distribution.HistogramSupport
takeSnapshot, takeSnapshot
-
Method Details
-
builder
-
builder
Create a timer builder from aTimedannotation.- Parameters:
timed- The annotation instance to base a new timer on.- Returns:
- This builder.
-
recordCallable
Executes the callablefand records the time taken. -
record
Executes the supplierfand records the time taken.- Type Parameters:
T- The return type of theSupplier.- Parameters:
f- Function to execute and measure the execution time.- Returns:
- The return value of
f.
-
record
Executes the supplierfand records the time taken.- Parameters:
f- Function to execute and measure the execution time.- Returns:
- The return value of
f. - Since:
- 1.10.0
-
record
Executes the supplierfand records the time taken.- Parameters:
f- Function to execute and measure the execution time.- Returns:
- The return value of
f. - Since:
- 1.10.0
-
record
Executes the supplierfand records the time taken.- Parameters:
f- Function to execute and measure the execution time.- Returns:
- The return value of
f. - Since:
- 1.10.0
-
record
Executes the supplierfand records the time taken.- Parameters:
f- Function to execute and measure the execution time.- Returns:
- The return value of
f. - Since:
- 1.10.0
-
record
Executes the runnablefand records the time taken.- Parameters:
f- Function to execute and measure the execution time with a reference to the timer id useful for looking up current duration.
-
record
Executes the runnablefand records the time taken.- Parameters:
f- Function to execute and measure the execution time.
-
start
LongTaskTimer.Sample start()Start keeping time for a task.- Returns:
- A task id that can be used to look up how long the task has been running.
-
duration
- Parameters:
unit- The time unit to scale the duration to.- Returns:
- The cumulative duration of all current tasks.
-
activeTasks
int activeTasks()- Returns:
- The current number of tasks being executed.
-
mean
- Parameters:
unit- The base unit of time to scale the mean to.- Returns:
- The distribution average for all recorded events.
- Since:
- 1.5.1
-
max
The amount of time the longest running task has been running- Parameters:
unit- The time unit to scale the max to.- Returns:
- The maximum active task duration.
- Since:
- 1.5.0
-
baseTimeUnit
TimeUnit baseTimeUnit()- Returns:
- The base time unit of the long task timer to which all published metrics will be scaled
- Since:
- 1.5.0
-
stop
Deprecated.UseLongTaskTimer.Sample.stop(). As of 1.5.0, this always returns -1 as tasks no longer have IDs.Mark a given task as completed.- Parameters:
task- Id for the task to stop. This should be the value returned fromstart().- Returns:
- Duration for the task in nanoseconds. A -1 value will be returned for an unknown task.
-
duration
Deprecated.UseLongTaskTimer.Sample.duration(TimeUnit). As of 1.5.0, this always returns -1 as tasks no longer have IDs.The current duration for an active task.- Parameters:
task- Id for the task to stop. This should be the value returned fromstart().unit- The time unit to scale the duration to.- Returns:
- Duration for the task. A -1 value will be returned for an unknown task.
-
measure
Description copied from interface:MeterGet a set of measurements. Should always return the same number of measurements and in the same order, regardless of the level of activity or the lack thereof.
-
LongTaskTimer.Sample.duration(TimeUnit).