You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aurora.apache.org by wf...@apache.org on 2017/09/26 23:42:17 UTC

aurora git commit: Restore scheduler benchmarks to working order

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 <wf...@apache.org>
Authored: Tue Sep 26 16:42:07 2017 -0700
Committer: Bill Farner <wf...@apache.org>
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()