Repository: aurora Updated Branches: refs/heads/master 0606369e2 -> 79ff364bc
Restore scheduler benchmarks to working order Reviewed at https://reviews.apache.org/r/62558/ Project: http://git-wip-us.apache.org/repos/asf/aurora/repo Commit: http://git-wip-us.apache.org/repos/asf/aurora/commit/79ff364b Tree: http://git-wip-us.apache.org/repos/asf/aurora/tree/79ff364b Diff: http://git-wip-us.apache.org/repos/asf/aurora/diff/79ff364b Branch: refs/heads/master Commit: 79ff364bc1366f0def140258e4caea7eb706a701 Parents: 0606369 Author: Bill Farner <[email protected]> Authored: Tue Sep 26 16:42:07 2017 -0700 Committer: Bill Farner <[email protected]> Committed: Tue Sep 26 16:42:07 2017 -0700 ---------------------------------------------------------------------- build.gradle | 2 +- .../aurora/benchmark/SchedulingBenchmarks.java | 19 ++++++++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/aurora/blob/79ff364b/build.gradle ---------------------------------------------------------------------- diff --git a/build.gradle b/build.gradle index 851bab5..460500a 100644 --- a/build.gradle +++ b/build.gradle @@ -16,7 +16,7 @@ plugins { id 'com.github.ben-manes.versions' version '0.11.3' id 'com.github.hierynomus.license' version '0.11.0' id 'com.moowork.node' version '1.1.1' - id 'me.champeau.gradle.jmh' version '0.2.0' + id 'me.champeau.gradle.jmh' version '0.4.4' } apply plugin: 'application' http://git-wip-us.apache.org/repos/asf/aurora/blob/79ff364b/src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java ---------------------------------------------------------------------- diff --git a/src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java b/src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java index ddbfd37..cb783ce 100644 --- a/src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java +++ b/src/jmh/java/org/apache/aurora/benchmark/SchedulingBenchmarks.java @@ -28,6 +28,7 @@ import com.google.common.eventbus.EventBus; import com.google.inject.AbstractModule; import com.google.inject.Guice; import com.google.inject.Injector; +import com.google.inject.Key; import com.google.inject.PrivateModule; import com.google.inject.TypeLiteral; @@ -58,7 +59,6 @@ import org.apache.aurora.scheduler.offers.OfferSettings; import org.apache.aurora.scheduler.offers.OffersModule; import org.apache.aurora.scheduler.preemptor.BiCache; import org.apache.aurora.scheduler.preemptor.ClusterStateImpl; -import org.apache.aurora.scheduler.preemptor.PendingTaskProcessor; import org.apache.aurora.scheduler.preemptor.PreemptorModule; import org.apache.aurora.scheduler.scheduling.RescheduleCalculator; import org.apache.aurora.scheduler.scheduling.TaskScheduler; @@ -103,7 +103,6 @@ public class SchedulingBenchmarks { private static final Amount<Long, Time> DELAY_FOREVER = Amount.of(30L, Time.DAYS); private static final Integer BATCH_SIZE = 5; protected Storage storage; - protected PendingTaskProcessor pendingTaskProcessor; private TaskScheduler taskScheduler; private OfferManager offerManager; private EventBus eventBus; @@ -184,9 +183,10 @@ public class SchedulingBenchmarks { taskScheduler = injector.getInstance(TaskScheduler.class); offerManager = injector.getInstance(OfferManager.class); - pendingTaskProcessor = injector.getInstance(PendingTaskProcessor.class); eventBus.register(injector.getInstance(ClusterStateImpl.class)); + withInjector(injector); + settings = getSettings(); saveHostAttributes(settings.getHostAttributes()); @@ -197,6 +197,11 @@ public class SchedulingBenchmarks { saveTasks(settings.getTasks()); } + protected void withInjector(Injector injector) { + // No-op by default. Subclasses may use this to retrieve bindings from the injector for use + // in their test. + } + private Set<IScheduledTask> buildClusterTasks(int numOffers) { int numSiblingTasks = (int) Math.round(numOffers * settings.getSiblingClusterUtilization()); int numVictimTasks = (int) Math.round(numOffers * settings.getVictimClusterUtilization()); @@ -354,6 +359,14 @@ public class SchedulingBenchmarks { @Param({"1", "10", "100", "1000"}) public int numPendingTasks; + private Runnable pendingTaskProcessor; + + @Override + protected void withInjector(Injector injector) { + pendingTaskProcessor = + injector.getInstance(Key.get(Runnable.class, PreemptorModule.PreemptionSlotFinder.class)); + } + @Override protected BenchmarkSettings getSettings() { return new BenchmarkSettings.Builder()
