Package io.trino.execution.executor
Class TaskExecutor
- java.lang.Object
-
- io.trino.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, VersionEmbedder versionEmbedder, MultilevelSplitQueue splitQueue, com.google.common.base.Ticker ticker)TaskExecutor(TaskManagerConfig config, VersionEmbedder versionEmbedder, MultilevelSplitQueue splitQueue)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TaskHandleaddTask(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.TimeStatgetBlockedQuantaWallTime()intgetBlockedSplits()longgetCompletedSplitsLevel0()longgetCompletedSplitsLevel1()longgetCompletedSplitsLevel2()longgetCompletedSplitsLevel3()longgetCompletedSplitsLevel4()longgetCompletedTasksLevel0()longgetCompletedTasksLevel1()longgetCompletedTasksLevel2()longgetCompletedTasksLevel3()longgetCompletedTasksLevel4()io.airlift.stats.CounterStatgetGlobalCpuTimeMicros()io.airlift.stats.CounterStatgetGlobalScheduledTimeMicros()io.airlift.stats.TimeDistributiongetIntermediateSplitCpuTime()intgetIntermediateSplits()io.airlift.stats.TimeDistributiongetIntermediateSplitScheduledTime()io.airlift.stats.TimeDistributiongetIntermediateSplitWaitTime()io.airlift.stats.TimeDistributiongetIntermediateSplitWallTime()io.airlift.stats.TimeDistributiongetLeafSplitCpuTime()io.airlift.stats.TimeDistributiongetLeafSplitScheduledTime()io.airlift.stats.TimeDistributiongetLeafSplitWaitTime()io.airlift.stats.TimeDistributiongetLeafSplitWallTime()StringgetMaxActiveSplitsInfo()intgetMinimumNumberOfDrivers()io.airlift.concurrent.ThreadPoolExecutorMBeangetProcessorExecutor()longgetRunAwaySplitCount()intgetRunnerThreads()intgetRunningSplits()longgetRunningTasksLevel0()longgetRunningTasksLevel1()longgetRunningTasksLevel2()longgetRunningTasksLevel3()longgetRunningTasksLevel4()io.airlift.stats.TimeStatgetSplitQueuedTime()io.airlift.stats.TimeStatgetSplitWallTime()intgetTasks()intgetTotalSplits()io.airlift.stats.TimeStatgetUnblockedQuantaWallTime()intgetWaitingSplits()voidremoveTask(TaskHandle taskHandle)voidstart()voidstop()StringtoString()
-
-
-
Constructor Detail
-
TaskExecutor
@Inject public TaskExecutor(TaskManagerConfig config, VersionEmbedder versionEmbedder, 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, VersionEmbedder versionEmbedder, 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()
-
-