@Provides MeasurementCollectingVisitor provideMeasurementCollectingVisitor(Experiment experiment) { return experiment.instrumentation().getMeasurementCollectingVisitor(); }
Instrument instrument = instrumentation.instrument(); ImmutableList.Builder<String> parameterClassNames = ImmutableList.builder(); for (Class<?> parameterType : instrumentation.benchmarkMethod.getParameterTypes()) { instrumentation.workerClass().getName(), instrumentation.workerOptions(), benchmarkSpec, parameterClassNames.build(),
benchmarkClass.setUpBenchmark(benchmark); try { experiment.instrumentation().dryRun(benchmark); builder.add(experiment); } finally {
benchmarkClass.setUpBenchmark(benchmark); try { experiment.instrumentation().dryRun(benchmark); builder.add(experiment); } finally {
Instrument instrument = instrumentation.instrument(); WorkerSpec request = new WorkerSpec( trialId, instrumentation.workerClass(), instrumentation.workerOptions(), benchmarkSpec, ImmutableList.copyOf(instrumentation.benchmarkMethod.getParameterTypes()),
@Override public TrialResult newTrialResult( VmDataCollectingVisitor dataCollectingVisitor, MeasurementCollectingVisitor measurementCollectingVisitor) { checkState(measurementCollectingVisitor.isDoneCollecting()); // TODO(lukes): should the trial messages be part of the Trial datastructure? It seems like // the web UI could make use of them. return new TrialResult( new Trial.Builder(trialId) .run(run) .instrumentSpec(experiment.instrumentation().instrument().getSpec()) .scenario(new Scenario.Builder() .host(host) .vmSpec(dataCollectingVisitor.vmSpec()) .benchmarkSpec(benchmarkSpec)) .addAllMeasurements(measurementCollectingVisitor.getMeasurements()) .build(), experiment, measurementCollectingVisitor.getMessages()); } };
@Override public Trial newTrial(VmDataCollectingVisitor dataCollectingVisitor, MeasurementCollectingVisitor measurementCollectingVisitor) { checkState(measurementCollectingVisitor.isDoneCollecting()); return new Trial.Builder(trialId) .run(run) .instrumentSpec(experiment.instrumentation().instrument().getSpec()) .scenario(new Scenario.Builder() .host(host) .vmSpec(dataCollectingVisitor.vmSpec()) .benchmarkSpec(benchmarkSpec)) .addAllMeasurements(measurementCollectingVisitor.getMeasurements()) .build(); } };
@Override public Instrument apply(Instrumentation input) { return input.instrument(); } })
@Override public String apply(Experiment experiment) { return experiment.instrumentation().benchmarkMethod().getName(); } }).toSet());
@Override public Instrument apply(Instrumentation input) { return input.instrument(); } })
@Provides MeasurementCollectingVisitor provideMeasurementCollectingVisitor(Experiment experiment) { return experiment.instrumentation().getMeasurementCollectingVisitor(); }
@Override public String toString() { return MoreObjects.toStringHelper("") .add("instrument", instrumentation.instrument()) .add("benchmarkMethod", instrumentation.benchmarkMethod.getName()) .add("vm", vm.name) .add("parameters", userParameters) .toString(); } }
@Override public boolean equals(Object object) { if (object instanceof Experiment) { Experiment that = (Experiment) object; return this.instrumentation.equals(that.instrumentation) && this.vm.equals(that.vm) && this.userParameters.equals(that.userParameters); } return false; }
@Override public final boolean equals(Object obj) { if (obj == this) { return true; } else if (obj instanceof Instrumentation) { Instrumentation that = (Instrumentation) obj; return Instrument.this.equals(that.instrument()) && this.benchmarkMethod.equals(that.benchmarkMethod); } return super.equals(obj); }
public static ExperimentModule forExperiment(Experiment experiment) { Method benchmarkMethod = experiment.instrumentation().benchmarkMethod(); return new ExperimentModule(benchmarkMethod.getDeclaringClass(), benchmarkMethod, experiment.userParameters()); }
@Override public String toString() { return Objects.toStringHelper("") .add("instrument", instrumentation.instrument()) .add("benchmarkMethod", instrumentation.benchmarkMethod.getName()) .add("vm", vm.name) .add("parameters", userParameters) .toString(); } }
@TrialScoped @Provides BenchmarkSpec provideBenchmarkSpec(Experiment experiment) { return new BenchmarkSpec.Builder() .className(experiment.instrumentation().benchmarkMethod().getDeclaringClass().getName()) .methodName(experiment.instrumentation().benchmarkMethod().getName()) .addAllParameters(experiment.userParameters()) .build(); }
@TrialScoped @Provides BenchmarkSpec provideBenchmarkSpec(Experiment experiment) { return new BenchmarkSpec.Builder() .className(experiment.instrumentation().benchmarkMethod().getDeclaringClass().getName()) .methodName(experiment.instrumentation().benchmarkMethod().getName()) .addAllParameters(experiment.userParameters()) .build(); }
@Override public boolean equals(Object object) { if (object instanceof Experiment) { Experiment that = (Experiment) object; return this.instrumentation.equals(that.instrumentation) && this.vm.equals(that.vm) && this.userParameters.equals(that.userParameters); } return false; }
@Provides @TrialScoped TrialSchedulingPolicy provideTrialSchedulingPolicy(Experiment experiment) { return experiment.instrumentation().instrument().schedulingPolicy(); }