public interface StatisticPriorityScheduler extends StatisticExecutor, PrioritySchedulerService
StatisticExecutor
, defining specific behavior when the statistic
tracker is implementing for a scheduler which has a concept of task priorities.Modifier and Type | Method and Description |
---|---|
double |
getAverageExecutionDelay()
This reports the rolling average delay from when a task was expected to run, till when the
executor actually started the task.
|
double |
getAverageExecutionDelay(TaskPriority priority)
Gets the average delay from when the task is ready, to when it is actually executed.
|
double |
getAverageExecutionDuration()
Get the average duration that tasks submitted through this executor have spent executing.
|
double |
getAverageExecutionDuration(TaskPriority priority)
Get the average duration that tasks submitted through this executor have spent executing.
|
java.util.Map<java.lang.Double,java.lang.Long> |
getExecutionDelayPercentiles(double... percentiles)
Gets percentile values for execution delays.
|
java.util.Map<java.lang.Double,java.lang.Long> |
getExecutionDelayPercentiles(TaskPriority priority,
double... percentiles)
Gets percentile values for execution delays.
|
java.util.List<java.lang.Long> |
getExecutionDelaySamples()
Get raw sample data for task execution delays.
|
java.util.List<java.lang.Long> |
getExecutionDelaySamples(TaskPriority priority)
Call to get a list of all currently recorded times for execution delays.
|
java.util.Map<java.lang.Double,java.lang.Long> |
getExecutionDurationPercentiles(double... percentiles)
Gets percentile values for execution duration.
|
java.util.Map<java.lang.Double,java.lang.Long> |
getExecutionDurationPercentiles(TaskPriority priority,
double... percentiles)
Gets percentile values for execution duration.
|
java.util.List<java.lang.Long> |
getExecutionDurationSamples()
Get raw sample data for task run durations.
|
java.util.List<java.lang.Long> |
getExecutionDurationSamples(TaskPriority priority)
Get raw sample data for task run durations.
|
long |
getTotalExecutionCount(TaskPriority priority)
Call to get the total quantity of tasks this executor has handled for a specific priority.
|
getLongRunningTasks, getLongRunningTasksQty, getQueuedTaskCount, getTotalExecutionCount, resetCollectedStats
execute, getDefaultPriority, getMaxWaitForLowPriority, getQueuedTaskCount, getWaitingForExecutionTaskCount, schedule, scheduleAtFixedRate, scheduleWithFixedDelay, submit, submit, submit, submitScheduled, submitScheduled, submitScheduled
getActiveTaskCount, getQueuedTaskCount, getWaitingForExecutionTaskCount, isShutdown, remove, remove
schedule, scheduleAtFixedRate, scheduleWithFixedDelay, submitScheduled, submitScheduled, submitScheduled
submit, submit, submit
java.util.List<java.lang.Long> getExecutionDelaySamples()
StatisticsUtils
for additional statistics.
The returned result set includes all priorities. If you want durations for a specific
priority use getExecutionDelaySamples(TaskPriority)
.
getExecutionDelaySamples
in interface StatisticExecutor
java.util.List<java.lang.Long> getExecutionDelaySamples(TaskPriority priority)
getAverageExecutionDelay(TaskPriority)
. This call
allows for more complex statistics (ie looking for outliers, etc).priority
- Task priority to provide samples fordouble getAverageExecutionDelay()
-1
if no samples have been
collected yet. This call averages over all priority types, if you want the delay for a
specific priority use getAverageExecutionDelay(TaskPriority)
.getAverageExecutionDelay
in interface StatisticExecutor
double getAverageExecutionDelay(TaskPriority priority)
priority
- Specific task priority which statistics should be calculated againstjava.util.Map<java.lang.Double,java.lang.Long> getExecutionDelayPercentiles(double... percentiles)
The returned map's keys correspond exactly to the percentiles provided. Iterating over the returned map will iterate in order of the requested percentiles as well.
These percentiles are across all priorities combined into the same data set. If you want
percentiles for a specific priority use
getExecutionDelayPercentiles(TaskPriority, double...)
.
getExecutionDelayPercentiles
in interface StatisticExecutor
percentiles
- Percentiles requested, any decimal values between 0 and 100 (inclusive)java.util.Map<java.lang.Double,java.lang.Long> getExecutionDelayPercentiles(TaskPriority priority, double... percentiles)
The returned map's keys correspond exactly to the percentiles provided. Iterating over the returned map will iterate in order of the requested percentiles as well.
priority
- Specific task priority which statistics should be calculated againstpercentiles
- Percentiles requested, any decimal values between 0 and 100 (inclusive)java.util.List<java.lang.Long> getExecutionDurationSamples()
StatisticsUtils
for additional statistics.
The returned result set includes all priorities. If you want durations for a specific
priority use getExecutionDurationSamples(TaskPriority)
.
getExecutionDurationSamples
in interface StatisticExecutor
java.util.List<java.lang.Long> getExecutionDurationSamples(TaskPriority priority)
StatisticsUtils
for additional statistics.
These result set includes all priorities. If you want durations for a specific priority use
getExecutionDurationSamples(TaskPriority)
.
priority
- Task priority to provide samples fordouble getAverageExecutionDuration()
This call averages over all priority types, if you want the duration for a specific priority
use getAverageExecutionDuration(TaskPriority)
.
getAverageExecutionDuration
in interface StatisticExecutor
double getAverageExecutionDuration(TaskPriority priority)
priority
- Specific task priority which statistics should be calculated againstjava.util.Map<java.lang.Double,java.lang.Long> getExecutionDurationPercentiles(double... percentiles)
The returned map's keys correspond exactly to the percentiles provided. Iterating over the returned map will iterate in order of the requested percentiles as well.
These percentiles are across all priorities combined into the same data set. If you want
percentiles for a specific priority use
getExecutionDurationPercentiles(TaskPriority, double...)
.
getExecutionDurationPercentiles
in interface StatisticExecutor
percentiles
- Percentiles requested, any decimal values between 0 and 100 (inclusive)java.util.Map<java.lang.Double,java.lang.Long> getExecutionDurationPercentiles(TaskPriority priority, double... percentiles)
The returned map's keys correspond exactly to the percentiles provided. Iterating over the returned map will iterate in order of the requested percentiles as well.
priority
- Specific task priority which statistics should be calculated againstpercentiles
- Percentiles requested, any decimal values between 0 and 100 (inclusive)long getTotalExecutionCount(TaskPriority priority)
priority
- Specific task priority which statistics should be calculated against