public static void getWithPriorityExecutionDurationPercentilesTest(StatisticPriorityScheduler scheduler) { assertEquals(0, scheduler.getExecutionDurationPercentiles(TaskPriority.High, 50).get(50.), 0); scheduler.execute(new ClockUpdateRunnable(), TaskPriority.Low); scheduler.execute(new ClockUpdateRunnable(), TaskPriority.Low); scheduler.execute(new ClockUpdateRunnable(), TaskPriority.Low); scheduler.execute(new ClockUpdateRunnable(), TaskPriority.Low); scheduler.execute(new ClockUpdateRunnable(), TaskPriority.Low); scheduler.execute(new ClockUpdateRunnable(), TaskPriority.High); scheduler.execute(new ClockUpdateRunnable(), TaskPriority.High); scheduler.execute(new ClockUpdateRunnable(), TaskPriority.High); scheduler.execute(new ClockUpdateRunnable(), TaskPriority.High); scheduler.execute(new ClockUpdateRunnable(DELAY_TIME), TaskPriority.High); blockTillSchedulerIdle(scheduler, 10); assertEquals(1, scheduler.getExecutionDurationPercentiles(TaskPriority.High, 75).get(75.), 1); assertTrue(scheduler.getExecutionDurationPercentiles(TaskPriority.High, 90).get(90.) >= (DELAY_TIME-ALLOWED_VARIANCE)); assertEquals(1, scheduler.getExecutionDurationPercentiles(TaskPriority.Low, 90).get(90.), 1); }
public static void getExecutionDurationPercentilesTest(StatisticPriorityScheduler scheduler) { assertEquals(0, scheduler.getExecutionDurationPercentiles(50).get(50.), 0); scheduler.execute(new ClockUpdateRunnable()); blockTillSchedulerIdle(scheduler, 1); assertEquals(1, scheduler.getExecutionDurationPercentiles(50).get(50.), 1); scheduler.execute(new ClockUpdateRunnable()); scheduler.execute(new ClockUpdateRunnable()); scheduler.execute(new ClockUpdateRunnable()); scheduler.execute(new ClockUpdateRunnable(DELAY_TIME)); blockTillSchedulerIdle(scheduler, 5); assertEquals(1, scheduler.getExecutionDurationPercentiles(75).get(75.), 1); assertTrue(scheduler.getExecutionDurationPercentiles(90).get(90.) >= DELAY_TIME-ALLOWED_VARIANCE); }
@Test public void getWithPriorityExecutionDurationPercentilesTest() { NoThreadSchedulerStatisticTracker scheduler = new NoThreadSchedulerStatisticTracker(); assertEquals(0, scheduler.getExecutionDurationPercentiles(TaskPriority.High, 50).get(50.), 0); scheduler.execute(new ClockUpdateRunnable(), TaskPriority.Low); scheduler.execute(new ClockUpdateRunnable(), TaskPriority.Low); scheduler.execute(new ClockUpdateRunnable(), TaskPriority.Low); scheduler.execute(new ClockUpdateRunnable(), TaskPriority.Low); scheduler.execute(new ClockUpdateRunnable(), TaskPriority.Low); scheduler.execute(new ClockUpdateRunnable(), TaskPriority.High); scheduler.execute(new ClockUpdateRunnable(), TaskPriority.High); scheduler.execute(new ClockUpdateRunnable(), TaskPriority.High); scheduler.execute(new ClockUpdateRunnable(), TaskPriority.High); scheduler.execute(new ClockUpdateRunnable(DELAY_TIME), TaskPriority.High); scheduler.tick(null); assertEquals(1, scheduler.getExecutionDurationPercentiles(TaskPriority.High, 75).get(75.), 1); assertTrue(scheduler.getExecutionDurationPercentiles(TaskPriority.High, 90).get(90.) >= (DELAY_TIME-ALLOWED_VARIANCE)); assertEquals(1, scheduler.getExecutionDurationPercentiles(TaskPriority.Low, 90).get(90.), 1); }
@Test public void getExecutionDurationPercentilesTest() { NoThreadSchedulerStatisticTracker scheduler = new NoThreadSchedulerStatisticTracker(); assertEquals(0, scheduler.getExecutionDurationPercentiles(50).get(50.), 0); scheduler.execute(new ClockUpdateRunnable()); scheduler.tick(null); assertEquals(1, scheduler.getExecutionDurationPercentiles(50).get(50.), 1); scheduler.execute(new ClockUpdateRunnable()); scheduler.execute(new ClockUpdateRunnable()); scheduler.execute(new ClockUpdateRunnable()); scheduler.execute(new ClockUpdateRunnable(DELAY_TIME)); scheduler.tick(null); assertEquals(1, scheduler.getExecutionDurationPercentiles(75).get(75.), 1); assertTrue(scheduler.getExecutionDurationPercentiles(90).get(90.) >= (DELAY_TIME-ALLOWED_VARIANCE)); }
protected void getPriorityExecutionDelayPercentilesTest(TaskPriority priority) { NoThreadSchedulerStatisticTracker scheduler = new NoThreadSchedulerStatisticTracker(); assertEquals(0, scheduler.getExecutionDelayPercentiles(90).get(90.), 0); scheduler.execute(new ClockUpdateRunnable(), priority); TestUtils.blockTillClockAdvances(); scheduler.tick(null); assertEquals(1, scheduler.getExecutionDelayPercentiles(90).get(90.), SLOW_MACHINE ? 50 : 20); }
@Test public void getExecutionDelayPercentilesTest() { NoThreadSchedulerStatisticTracker scheduler = new NoThreadSchedulerStatisticTracker(); assertEquals(0, scheduler.getExecutionDelayPercentiles(90).get(90.), 0); scheduler.execute(new ClockUpdateRunnable()); TestUtils.blockTillClockAdvances(); scheduler.tick(null); assertEquals(1, scheduler.getExecutionDelayPercentiles(90).get(90.), SLOW_MACHINE ? 50 : 20); }
public static void getAverageExecutionDurationSimpleTest(StatisticPriorityScheduler scheduler) { assertEquals(-1, scheduler.getAverageExecutionDuration(), 0); scheduler.execute(new ClockUpdateRunnable()); blockTillSchedulerIdle(scheduler, 1); assertEquals(1, scheduler.getAverageExecutionDuration(), 1); scheduler.execute(new ClockUpdateRunnable(DELAY_TIME)); blockTillSchedulerIdle(scheduler, 2); assertTrue(scheduler.getAverageExecutionDuration() >= DELAY_TIME / 2); }
public static void getExecutionDelayPercentilesTest(StatisticPriorityScheduler scheduler) { BlockingTestRunnable btr = new BlockingTestRunnable(); try { assertEquals(0, scheduler.getExecutionDelayPercentiles(90).get(90.), 0); scheduler.execute(btr); scheduler.execute(new ClockUpdateRunnable()); TestUtils.blockTillClockAdvances(); btr.unblock(); assertEquals(2, scheduler.getExecutionDelayPercentiles(90).get(90.), SLOW_MACHINE ? 50 : 20); } finally { btr.unblock(); } }
public static void getPriorityExecutionDelayPercentilesTest(StatisticPriorityScheduler scheduler, TaskPriority priority) { BlockingTestRunnable btr = new BlockingTestRunnable(); try { assertEquals(0, scheduler.getExecutionDelayPercentiles(90).get(90.), 0); scheduler.execute(btr); scheduler.execute(new ClockUpdateRunnable(), priority); TestUtils.blockTillClockAdvances(); btr.unblock(); assertEquals(2, scheduler.getExecutionDelayPercentiles(90).get(90.), SLOW_MACHINE ? 50 : 20); } finally { btr.unblock(); } }
@Test public void getAverageExecutionDurationSimpleTest() { NoThreadSchedulerStatisticTracker scheduler = new NoThreadSchedulerStatisticTracker(); assertEquals(-1, scheduler.getAverageExecutionDuration(), 0); scheduler.execute(new ClockUpdateRunnable()); scheduler.tick(null); assertEquals(1, scheduler.getAverageExecutionDuration(), 1); scheduler.execute(new ClockUpdateRunnable(DELAY_TIME)); scheduler.tick(null); assertTrue(scheduler.getAverageExecutionDuration() >= DELAY_TIME / 2); }