public List<Long> getExecutionDurationSamples(TaskPriority priority) { if (priority == null) { return getExecutionDurationSamples(); } return new ArrayList<>(getExecutionDurationSamplesInternal(priority)); }
public List<Long> getExecutionDurationSamples(TaskPriority priority) { if (priority == null) { return getExecutionDurationSamples(); } return new ArrayList<>(getExecutionDurationSamplesInternal(priority)); }
public void resetCollectedStats() { for (TaskPriority p : TaskPriority.values()) { getExecutionDelaySamplesInternal(p).clear(); getExecutionDurationSamplesInternal(p).clear(); } }
public void resetCollectedStats() { for (TaskPriority p : TaskPriority.values()) { getExecutionDelaySamplesInternal(p).clear(); getExecutionDurationSamplesInternal(p).clear(); } }
/** * Used to track how long tasks are tacking to complete. * * @param taskPair wrapper for task that completed */ protected void trackTaskFinish(Pair<Thread, TaskStatWrapper> taskPair) { long finishTime = accurateTime ? Clock.accurateForwardProgressingMillis() : Clock.lastKnownForwardProgressingMillis(); ConcurrentArrayList<Long> runDurations = getExecutionDurationSamplesInternal(taskPair.getRight().priority); Long startTime = runningTasks.remove(taskPair); synchronized (runDurations.getModificationLock()) { runDurations.add(finishTime - startTime); trimWindow(runDurations); } }
/** * Used to track how long tasks are tacking to complete. * * @param taskPair wrapper for task that completed */ protected void trackTaskFinish(Pair<Thread, TaskStatWrapper> taskPair) { long finishTime = accurateTime ? Clock.accurateForwardProgressingMillis() : Clock.lastKnownForwardProgressingMillis(); ConcurrentArrayList<Long> runDurations = getExecutionDurationSamplesInternal(taskPair.getRight().priority); Long startTime = runningTasks.remove(taskPair); synchronized (runDurations.getModificationLock()) { runDurations.add(finishTime - startTime); trimWindow(runDurations); } }