Class QueueResizingEsThreadPoolExecutor

java.lang.Object
java.util.concurrent.AbstractExecutorService
java.util.concurrent.ThreadPoolExecutor
org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor
org.elasticsearch.common.util.concurrent.QueueResizingEsThreadPoolExecutor
All Implemented Interfaces:
java.util.concurrent.Executor, java.util.concurrent.ExecutorService

public final class QueueResizingEsThreadPoolExecutor
extends EsThreadPoolExecutor
An extension to thread pool executor, which automatically adjusts the queue size of the ResizableBlockingQueue according to Little's Law.
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor

    EsThreadPoolExecutor.ShutdownListener

    Nested classes/interfaces inherited from class java.util.concurrent.ThreadPoolExecutor

    java.util.concurrent.ThreadPoolExecutor.AbortPolicy, java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy, java.util.concurrent.ThreadPoolExecutor.DiscardOldestPolicy, java.util.concurrent.ThreadPoolExecutor.DiscardPolicy
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static double EWMA_ALPHA  
  • Method Summary

    Modifier and Type Method Description
    protected void afterExecute​(java.lang.Runnable r, java.lang.Throwable t)  
    protected void appendThreadPoolExecutorDetails​(java.lang.StringBuilder sb)
    Append details about this thread pool to the specified StringBuilder.
    int getCurrentQueueSize()
    Returns the current queue size (operations that are queued)
    double getTaskExecutionEWMA()
    Returns the exponentially weighted moving average of the task execution time
    protected java.lang.Runnable unwrap​(java.lang.Runnable runnable)  
    protected java.lang.Runnable wrapRunnable​(java.lang.Runnable command)  

    Methods inherited from class org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor

    execute, getTasks, terminated, toString

    Methods inherited from class java.util.concurrent.ThreadPoolExecutor

    allowCoreThreadTimeOut, allowsCoreThreadTimeOut, awaitTermination, beforeExecute, finalize, getActiveCount, getCompletedTaskCount, getCorePoolSize, getKeepAliveTime, getLargestPoolSize, getMaximumPoolSize, getPoolSize, getQueue, getRejectedExecutionHandler, getTaskCount, getThreadFactory, isShutdown, isTerminated, isTerminating, prestartAllCoreThreads, prestartCoreThread, purge, remove, setCorePoolSize, setKeepAliveTime, setMaximumPoolSize, setRejectedExecutionHandler, setThreadFactory, shutdown, shutdownNow

    Methods inherited from class java.util.concurrent.AbstractExecutorService

    invokeAll, invokeAll, invokeAny, invokeAny, newTaskFor, newTaskFor, submit, submit, submit

    Methods inherited from class java.lang.Object

    clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait