Package com.codahale.metrics
Class InstrumentedScheduledExecutorService
java.lang.Object
com.codahale.metrics.InstrumentedScheduledExecutorService
- All Implemented Interfaces:
Executor
,ExecutorService
,ScheduledExecutorService
public class InstrumentedScheduledExecutorService
extends Object
implements ScheduledExecutorService
An
ScheduledExecutorService
that monitors the number of tasks submitted, running,
completed and also keeps a Timer
for the task duration.
It will register the metrics using the given (or auto-generated) name as classifier, e.g: "your-executor-service.submitted", "your-executor-service.running", etc.
-
Constructor Summary
ConstructorsConstructorDescriptionInstrumentedScheduledExecutorService
(ScheduledExecutorService delegate, MetricRegistry registry) Wraps anScheduledExecutorService
uses an auto-generated default name.InstrumentedScheduledExecutorService
(ScheduledExecutorService delegate, MetricRegistry registry, String name) Wraps anScheduledExecutorService
with an explicit name. -
Method Summary
Modifier and TypeMethodDescriptionboolean
awaitTermination
(long timeout, TimeUnit unit) void
invokeAll
(Collection<? extends Callable<T>> tasks) invokeAll
(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) <T> T
invokeAny
(Collection<? extends Callable<T>> tasks) <T> T
invokeAny
(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) boolean
boolean
<V> ScheduledFuture<V>
scheduleAtFixedRate
(Runnable command, long initialDelay, long period, TimeUnit unit) scheduleWithFixedDelay
(Runnable command, long initialDelay, long delay, TimeUnit unit) void
shutdown()
Future<?>
<T> Future<T>
<T> Future<T>
-
Constructor Details
-
InstrumentedScheduledExecutorService
public InstrumentedScheduledExecutorService(ScheduledExecutorService delegate, MetricRegistry registry) Wraps anScheduledExecutorService
uses an auto-generated default name.- Parameters:
delegate
-ScheduledExecutorService
to wrap.registry
-MetricRegistry
that will contain the metrics.
-
InstrumentedScheduledExecutorService
public InstrumentedScheduledExecutorService(ScheduledExecutorService delegate, MetricRegistry registry, String name) Wraps anScheduledExecutorService
with an explicit name.- Parameters:
delegate
-ScheduledExecutorService
to wrap.registry
-MetricRegistry
that will contain the metrics.name
- name for this executor service.
-
-
Method Details
-
schedule
- Specified by:
schedule
in interfaceScheduledExecutorService
-
schedule
- Specified by:
schedule
in interfaceScheduledExecutorService
-
scheduleAtFixedRate
public ScheduledFuture<?> scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit) - Specified by:
scheduleAtFixedRate
in interfaceScheduledExecutorService
-
scheduleWithFixedDelay
public ScheduledFuture<?> scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit) - Specified by:
scheduleWithFixedDelay
in interfaceScheduledExecutorService
-
shutdown
public void shutdown()- Specified by:
shutdown
in interfaceExecutorService
-
shutdownNow
- Specified by:
shutdownNow
in interfaceExecutorService
-
isShutdown
public boolean isShutdown()- Specified by:
isShutdown
in interfaceExecutorService
-
isTerminated
public boolean isTerminated()- Specified by:
isTerminated
in interfaceExecutorService
-
awaitTermination
- Specified by:
awaitTermination
in interfaceExecutorService
- Throws:
InterruptedException
-
submit
- Specified by:
submit
in interfaceExecutorService
-
submit
- Specified by:
submit
in interfaceExecutorService
-
submit
- Specified by:
submit
in interfaceExecutorService
-
invokeAll
public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks) throws InterruptedException - Specified by:
invokeAll
in interfaceExecutorService
- Throws:
InterruptedException
-
invokeAll
public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedException - Specified by:
invokeAll
in interfaceExecutorService
- Throws:
InterruptedException
-
invokeAny
public <T> T invokeAny(Collection<? extends Callable<T>> tasks) throws InterruptedException, ExecutionException - Specified by:
invokeAny
in interfaceExecutorService
- Throws:
InterruptedException
ExecutionException
-
invokeAny
public <T> T invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException - Specified by:
invokeAny
in interfaceExecutorService
- Throws:
InterruptedException
ExecutionException
TimeoutException
-
execute
-