Package org.eclipse.jetty.util.thread
Class MonitoredQueuedThreadPool
- java.lang.Object
-
- org.eclipse.jetty.util.component.AbstractLifeCycle
-
- org.eclipse.jetty.util.component.ContainerLifeCycle
-
- org.eclipse.jetty.util.thread.QueuedThreadPool
-
- org.eclipse.jetty.util.thread.MonitoredQueuedThreadPool
-
- All Implemented Interfaces:
java.util.concurrent.Executor
,java.util.concurrent.ThreadFactory
,Container
,Destroyable
,Dumpable
,Dumpable.DumpableContainer
,LifeCycle
,ThreadPool
,ThreadPool.SizedThreadPool
,TryExecutor
@ManagedObject public class MonitoredQueuedThreadPool extends QueuedThreadPool
A
QueuedThreadPool
subclass that monitors its own activity by recording queue and task statistics.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
Container.InheritedListener, Container.Listener
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
Dumpable.DumpableContainer
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.thread.ThreadPool
ThreadPool.SizedThreadPool
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.thread.TryExecutor
TryExecutor.NoTryExecutor
-
-
Field Summary
-
Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPING
-
Fields inherited from interface org.eclipse.jetty.util.thread.TryExecutor
NO_TRY
-
-
Constructor Summary
Constructors Constructor Description MonitoredQueuedThreadPool()
MonitoredQueuedThreadPool(int maxThreads)
MonitoredQueuedThreadPool(int maxThreads, int minThreads, int idleTimeOut, java.util.concurrent.BlockingQueue<java.lang.Runnable> queue)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
execute(java.lang.Runnable job)
long
getAverageQueueLatency()
long
getAverageTaskLatency()
int
getMaxBusyThreads()
long
getMaxQueueLatency()
int
getMaxQueueSize()
long
getMaxTaskLatency()
long
getTasks()
void
reset()
Resets the statistics.-
Methods inherited from class org.eclipse.jetty.util.thread.QueuedThreadPool
doStart, doStop, dump, dumpThread, getAvailableReservedThreads, getBusyThreads, getIdleThreads, getIdleTimeout, getLeasedThreads, getLowThreadsThreshold, getMaxAvailableThreads, getMaxLeasedThreads, getMaxReservedThreads, getMaxThreads, getMinThreads, getName, getQueue, getQueueSize, getReadyThreads, getReservedThreads, getThreadPoolBudget, getThreads, getThreadsPriority, getUtilizationRate, getUtilizedThreads, interruptThread, isDaemon, isDetailedDump, isLowOnThreads, join, newThread, removeThread, runJob, setDaemon, setDetailedDump, setIdleTimeout, setLowThreadsThreshold, setMaxThreads, setMinThreads, setName, setQueue, setReservedThreads, setThreadPoolBudget, setThreadsPriority, startThread, toString, tryExecute
-
Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, destroy, dump, dump, dump, dump, dumpBeans, dumpObject, dumpObjects, dumpStdErr, dumpThis, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeans
-
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer
isDumpable
-
-
-
-
Constructor Detail
-
MonitoredQueuedThreadPool
public MonitoredQueuedThreadPool()
-
MonitoredQueuedThreadPool
public MonitoredQueuedThreadPool(int maxThreads)
-
MonitoredQueuedThreadPool
public MonitoredQueuedThreadPool(int maxThreads, int minThreads, int idleTimeOut, java.util.concurrent.BlockingQueue<java.lang.Runnable> queue)
-
-
Method Detail
-
execute
public void execute(java.lang.Runnable job)
- Specified by:
execute
in interfacejava.util.concurrent.Executor
- Specified by:
execute
in interfaceTryExecutor
- Overrides:
execute
in classQueuedThreadPool
-
reset
@ManagedOperation(value="resets the statistics", impact="ACTION") public void reset()
Resets the statistics.
-
getTasks
@ManagedAttribute("the number of tasks executed") public long getTasks()
- Returns:
- the number of tasks executed
-
getMaxBusyThreads
@ManagedAttribute("the maximum number of busy threads") public int getMaxBusyThreads()
- Returns:
- the maximum number of busy threads
-
getMaxQueueSize
@ManagedAttribute("the maximum task queue size") public int getMaxQueueSize()
- Returns:
- the maximum task queue size
-
getAverageQueueLatency
@ManagedAttribute("the average time a task remains in the queue, in nanoseconds") public long getAverageQueueLatency()
- Returns:
- the average time a task remains in the queue, in nanoseconds
-
getMaxQueueLatency
@ManagedAttribute("the maximum time a task remains in the queue, in nanoseconds") public long getMaxQueueLatency()
- Returns:
- the maximum time a task remains in the queue, in nanoseconds
-
getAverageTaskLatency
@ManagedAttribute("the average task execution time, in nanoseconds") public long getAverageTaskLatency()
- Returns:
- the average task execution time, in nanoseconds
-
getMaxTaskLatency
@ManagedAttribute("the maximum task execution time, in nanoseconds") public long getMaxTaskLatency()
- Returns:
- the maximum task execution time, in nanoseconds
-
-