Package io.prestosql.execution.executor
Class TaskExecutor
- java.lang.Object
-
- io.prestosql.execution.executor.TaskExecutor
-
@ThreadSafe public class TaskExecutor extends Object
-
-
Constructor Summary
Constructors Constructor Description TaskExecutor(int runnerThreads, int minDrivers, int guaranteedNumberOfDriversPerTask, int maximumNumberOfDriversPerTask, com.google.common.base.Ticker ticker)
TaskExecutor(int runnerThreads, int minDrivers, int guaranteedNumberOfDriversPerTask, int maximumNumberOfDriversPerTask, MultilevelSplitQueue splitQueue, com.google.common.base.Ticker ticker)
TaskExecutor(int runnerThreads, int minDrivers, int guaranteedNumberOfDriversPerTask, int maximumNumberOfDriversPerTask, EmbedVersion embedVersion, MultilevelSplitQueue splitQueue, com.google.common.base.Ticker ticker)
TaskExecutor(TaskManagerConfig config, EmbedVersion embedVersion, MultilevelSplitQueue splitQueue)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TaskHandle
addTask(TaskId taskId, DoubleSupplier utilizationSupplier, int initialSplitConcurrency, io.airlift.units.Duration splitConcurrencyAdjustFrequency, OptionalInt maxDriversPerTask)
List<com.google.common.util.concurrent.ListenableFuture<?>>
enqueueSplits(TaskHandle taskHandle, boolean intermediate, List<? extends SplitRunner> taskSplits)
io.airlift.stats.TimeStat
getBlockedQuantaWallTime()
int
getBlockedSplits()
long
getCompletedSplitsLevel0()
long
getCompletedSplitsLevel1()
long
getCompletedSplitsLevel2()
long
getCompletedSplitsLevel3()
long
getCompletedSplitsLevel4()
long
getCompletedTasksLevel0()
long
getCompletedTasksLevel1()
long
getCompletedTasksLevel2()
long
getCompletedTasksLevel3()
long
getCompletedTasksLevel4()
io.airlift.stats.CounterStat
getGlobalCpuTimeMicros()
io.airlift.stats.CounterStat
getGlobalScheduledTimeMicros()
io.airlift.stats.TimeDistribution
getIntermediateSplitCpuTime()
int
getIntermediateSplits()
io.airlift.stats.TimeDistribution
getIntermediateSplitScheduledTime()
io.airlift.stats.TimeDistribution
getIntermediateSplitWaitTime()
io.airlift.stats.TimeDistribution
getIntermediateSplitWallTime()
io.airlift.stats.TimeDistribution
getLeafSplitCpuTime()
io.airlift.stats.TimeDistribution
getLeafSplitScheduledTime()
io.airlift.stats.TimeDistribution
getLeafSplitWaitTime()
io.airlift.stats.TimeDistribution
getLeafSplitWallTime()
String
getMaxActiveSplitsInfo()
int
getMinimumNumberOfDrivers()
io.airlift.concurrent.ThreadPoolExecutorMBean
getProcessorExecutor()
long
getRunAwaySplitCount()
int
getRunnerThreads()
int
getRunningSplits()
long
getRunningTasksLevel0()
long
getRunningTasksLevel1()
long
getRunningTasksLevel2()
long
getRunningTasksLevel3()
long
getRunningTasksLevel4()
io.airlift.stats.TimeStat
getSplitQueuedTime()
io.airlift.stats.TimeStat
getSplitWallTime()
int
getTasks()
int
getTotalSplits()
io.airlift.stats.TimeStat
getUnblockedQuantaWallTime()
int
getWaitingSplits()
void
removeTask(TaskHandle taskHandle)
void
start()
void
stop()
String
toString()
-
-
-
Constructor Detail
-
TaskExecutor
@Inject public TaskExecutor(TaskManagerConfig config, EmbedVersion embedVersion, MultilevelSplitQueue splitQueue)
-
TaskExecutor
public TaskExecutor(int runnerThreads, int minDrivers, int guaranteedNumberOfDriversPerTask, int maximumNumberOfDriversPerTask, com.google.common.base.Ticker ticker)
-
TaskExecutor
public TaskExecutor(int runnerThreads, int minDrivers, int guaranteedNumberOfDriversPerTask, int maximumNumberOfDriversPerTask, MultilevelSplitQueue splitQueue, com.google.common.base.Ticker ticker)
-
TaskExecutor
public TaskExecutor(int runnerThreads, int minDrivers, int guaranteedNumberOfDriversPerTask, int maximumNumberOfDriversPerTask, EmbedVersion embedVersion, MultilevelSplitQueue splitQueue, com.google.common.base.Ticker ticker)
-
-
Method Detail
-
start
@PostConstruct public void start()
-
stop
@PreDestroy public void stop()
-
addTask
public TaskHandle addTask(TaskId taskId, DoubleSupplier utilizationSupplier, int initialSplitConcurrency, io.airlift.units.Duration splitConcurrencyAdjustFrequency, OptionalInt maxDriversPerTask)
-
removeTask
public void removeTask(TaskHandle taskHandle)
-
enqueueSplits
public List<com.google.common.util.concurrent.ListenableFuture<?>> enqueueSplits(TaskHandle taskHandle, boolean intermediate, List<? extends SplitRunner> taskSplits)
-
getTasks
public int getTasks()
-
getRunnerThreads
public int getRunnerThreads()
-
getMinimumNumberOfDrivers
public int getMinimumNumberOfDrivers()
-
getTotalSplits
public int getTotalSplits()
-
getIntermediateSplits
public int getIntermediateSplits()
-
getWaitingSplits
public int getWaitingSplits()
-
getRunningSplits
public int getRunningSplits()
-
getBlockedSplits
public int getBlockedSplits()
-
getCompletedTasksLevel0
public long getCompletedTasksLevel0()
-
getCompletedTasksLevel1
public long getCompletedTasksLevel1()
-
getCompletedTasksLevel2
public long getCompletedTasksLevel2()
-
getCompletedTasksLevel3
public long getCompletedTasksLevel3()
-
getCompletedTasksLevel4
public long getCompletedTasksLevel4()
-
getCompletedSplitsLevel0
public long getCompletedSplitsLevel0()
-
getCompletedSplitsLevel1
public long getCompletedSplitsLevel1()
-
getCompletedSplitsLevel2
public long getCompletedSplitsLevel2()
-
getCompletedSplitsLevel3
public long getCompletedSplitsLevel3()
-
getCompletedSplitsLevel4
public long getCompletedSplitsLevel4()
-
getRunningTasksLevel0
public long getRunningTasksLevel0()
-
getRunningTasksLevel1
public long getRunningTasksLevel1()
-
getRunningTasksLevel2
public long getRunningTasksLevel2()
-
getRunningTasksLevel3
public long getRunningTasksLevel3()
-
getRunningTasksLevel4
public long getRunningTasksLevel4()
-
getSplitQueuedTime
public io.airlift.stats.TimeStat getSplitQueuedTime()
-
getSplitWallTime
public io.airlift.stats.TimeStat getSplitWallTime()
-
getBlockedQuantaWallTime
public io.airlift.stats.TimeStat getBlockedQuantaWallTime()
-
getUnblockedQuantaWallTime
public io.airlift.stats.TimeStat getUnblockedQuantaWallTime()
-
getLeafSplitScheduledTime
public io.airlift.stats.TimeDistribution getLeafSplitScheduledTime()
-
getIntermediateSplitScheduledTime
public io.airlift.stats.TimeDistribution getIntermediateSplitScheduledTime()
-
getLeafSplitWallTime
public io.airlift.stats.TimeDistribution getLeafSplitWallTime()
-
getIntermediateSplitWallTime
public io.airlift.stats.TimeDistribution getIntermediateSplitWallTime()
-
getLeafSplitWaitTime
public io.airlift.stats.TimeDistribution getLeafSplitWaitTime()
-
getIntermediateSplitWaitTime
public io.airlift.stats.TimeDistribution getIntermediateSplitWaitTime()
-
getLeafSplitCpuTime
public io.airlift.stats.TimeDistribution getLeafSplitCpuTime()
-
getIntermediateSplitCpuTime
public io.airlift.stats.TimeDistribution getIntermediateSplitCpuTime()
-
getGlobalScheduledTimeMicros
public io.airlift.stats.CounterStat getGlobalScheduledTimeMicros()
-
getGlobalCpuTimeMicros
public io.airlift.stats.CounterStat getGlobalCpuTimeMicros()
-
getMaxActiveSplitsInfo
public String getMaxActiveSplitsInfo()
-
getRunAwaySplitCount
public long getRunAwaySplitCount()
-
getProcessorExecutor
public io.airlift.concurrent.ThreadPoolExecutorMBean getProcessorExecutor()
-
-