@Override public List<Long> getExecutionDurationSamples() { return statisticTracker.getExecutionDurationSamples(); }
@Override public List<Long> getExecutionDurationSamples(TaskPriority priority) { return statisticTracker.getExecutionDurationSamples(priority); }
@Override public List<Long> getExecutionDurationSamples() { return statisticTracker.getExecutionDurationSamples(); }
@Override public List<Long> getExecutionDurationSamples(TaskPriority priority) { return statisticTracker.getExecutionDurationSamples(priority); }
@Test public void getWithPriorityAverageExecutionDurationTest() { int lowPriorityCount = TEST_QTY; int highPriorityCount = TEST_QTY * 2; NoThreadSchedulerStatisticTracker scheduler = new NoThreadSchedulerStatisticTracker(); for (int i = 0; i < lowPriorityCount; i++) { scheduler.execute(DoNothingRunnable.instance(), TaskPriority.Low); } for (int i = 0; i < highPriorityCount; i++) { scheduler.execute(DoNothingRunnable.instance(), TaskPriority.High); } // block till all are finished scheduler.tick(null); List<Long> runTimes = scheduler.getExecutionDurationSamples(TaskPriority.High); assertEquals(highPriorityCount, runTimes.size()); double totalRunTime = 0; Iterator<Long> it = runTimes.iterator(); while (it.hasNext()) { totalRunTime += it.next(); } double avgRunTime = totalRunTime / runTimes.size(); assertEquals(avgRunTime, scheduler.getAverageExecutionDuration(TaskPriority.High), 0); }
@Test public void getAverageExecutionDurationTest() { int lowPriorityCount = TEST_QTY; int highPriorityCount = TEST_QTY * 2; NoThreadSchedulerStatisticTracker scheduler = new NoThreadSchedulerStatisticTracker(); for (int i = 0; i < lowPriorityCount; i++) { scheduler.execute(DoNothingRunnable.instance(), TaskPriority.Low); } for (int i = 0; i < highPriorityCount; i++) { scheduler.execute(DoNothingRunnable.instance(), TaskPriority.High); } // block till all are finished scheduler.tick(null); List<Long> runTimes = scheduler.getExecutionDurationSamples(); assertEquals(lowPriorityCount + highPriorityCount, runTimes.size()); double totalRunTime = 0; Iterator<Long> it = runTimes.iterator(); while (it.hasNext()) { totalRunTime += it.next(); } double avgRunTime = totalRunTime / runTimes.size(); assertEquals(avgRunTime, scheduler.getAverageExecutionDuration(), 0); }