@Override public Map<Double, Long> getExecutionDurationPercentiles(TaskPriority priority, double... percentiles) { return statisticTracker.getExecutionDurationPercentiles(priority, percentiles); }
@Override public Map<Double, Long> getExecutionDurationPercentiles(TaskPriority priority, double... percentiles) { return statisticTracker.getExecutionDurationPercentiles(priority, percentiles); }
@Override public Map<Double, Long> getExecutionDurationPercentiles(double... percentiles) { return statisticTracker.getExecutionDurationPercentiles(percentiles); }
@Override public Map<Double, Long> getExecutionDurationPercentiles(double... percentiles) { return statisticTracker.getExecutionDurationPercentiles(percentiles); }
@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)); }
@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); }