Package io.hyperfoil.api.config
Class PhaseBuilder<PB extends PhaseBuilder<PB>>
- java.lang.Object
-
- io.hyperfoil.api.config.PhaseBuilder<PB>
-
- Direct Known Subclasses:
PhaseBuilder.Always,PhaseBuilder.AtOnce,PhaseBuilder.Noop,PhaseBuilder.OpenModel,PhaseBuilder.Sequentially
public abstract class PhaseBuilder<PB extends PhaseBuilder<PB>> extends java.lang.ObjectThe builder creates a matrix of phases (not just single phase); we allow multiple iterations of a phase (with increasing number of users) and multiple forks (different scenarios, but same configuration).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPhaseBuilder.Alwaysstatic classPhaseBuilder.AtOncestatic classPhaseBuilder.Catalogstatic classPhaseBuilder.ConstantRatestatic classPhaseBuilder.Noopstatic classPhaseBuilder.OpenModel<P extends PhaseBuilder<P>>static classPhaseBuilder.RampRatestatic classPhaseBuilder.Sequentially
-
Field Summary
Fields Modifier and Type Field Description protected longdurationprotected booleanforceIterationsprotected java.util.List<PhaseForkBuilder>forksprotected booleanisWarmupprotected longmaxDurationprotected intmaxIterationsprotected java.lang.Stringnameprotected BenchmarkBuilderparentprotected java.util.Collection<PhaseReference>startAfterprotected java.util.Collection<PhaseReference>startAfterStrictprotected longstartTimeprotected java.util.Collection<PhaseReference>terminateAfterStrict
-
Constructor Summary
Constructors Modifier Constructor Description protectedPhaseBuilder(BenchmarkBuilder parent, java.lang.String name)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description java.util.Collection<Phase>build(SerializableSupplier<Benchmark> benchmark, java.util.concurrent.atomic.AtomicInteger idCounter)protected PhasebuildPhase(SerializableSupplier<Benchmark> benchmark, int phaseId, int iteration, PhaseForkBuilder f)protected abstract ModelcreateModel(int iteration, double weight)PBduration(long duration)BenchmarkBuilderendPhase()PBforceIterations(boolean force)PhaseForkBuilderfork(java.lang.String name)PBisWarmup(boolean isWarmup)PBmaxDuration(long maxDuration)PBmaxIterations(int iterations)java.lang.Stringname()static Phasenoop(SerializableSupplier<Benchmark> benchmark, int id, int iteration, java.lang.String iterationName, long duration, java.util.Collection<java.lang.String> startAfter, java.util.Collection<java.lang.String> startAfterStrict, java.util.Collection<java.lang.String> terminateAfterStrict)voidprepareBuild()voidreadForksFrom(PhaseBuilder<?> other)ScenarioBuilderscenario()PBstartAfter(PhaseReference phase)PBstartAfter(java.lang.String phase)PBstartAfterStrict(PhaseReference phase)PBstartAfterStrict(java.lang.String phase)PBstartTime(long startTime)
-
-
-
Field Detail
-
name
protected final java.lang.String name
-
parent
protected final BenchmarkBuilder parent
-
startTime
protected long startTime
-
startAfter
protected java.util.Collection<PhaseReference> startAfter
-
startAfterStrict
protected java.util.Collection<PhaseReference> startAfterStrict
-
terminateAfterStrict
protected java.util.Collection<PhaseReference> terminateAfterStrict
-
duration
protected long duration
-
maxDuration
protected long maxDuration
-
maxIterations
protected int maxIterations
-
forceIterations
protected boolean forceIterations
-
forks
protected java.util.List<PhaseForkBuilder> forks
-
isWarmup
protected boolean isWarmup
-
-
Constructor Detail
-
PhaseBuilder
protected PhaseBuilder(BenchmarkBuilder parent, java.lang.String name)
-
-
Method Detail
-
noop
public static Phase noop(SerializableSupplier<Benchmark> benchmark, int id, int iteration, java.lang.String iterationName, long duration, java.util.Collection<java.lang.String> startAfter, java.util.Collection<java.lang.String> startAfterStrict, java.util.Collection<java.lang.String> terminateAfterStrict)
-
endPhase
public BenchmarkBuilder endPhase()
-
name
public java.lang.String name()
-
scenario
public ScenarioBuilder scenario()
-
fork
public PhaseForkBuilder fork(java.lang.String name)
-
startTime
public PB startTime(long startTime)
-
startAfter
public PB startAfter(java.lang.String phase)
-
startAfter
public PB startAfter(PhaseReference phase)
-
startAfterStrict
public PB startAfterStrict(java.lang.String phase)
-
startAfterStrict
public PB startAfterStrict(PhaseReference phase)
-
duration
public PB duration(long duration)
-
maxDuration
public PB maxDuration(long maxDuration)
-
maxIterations
public PB maxIterations(int iterations)
-
prepareBuild
public void prepareBuild()
-
build
public java.util.Collection<Phase> build(SerializableSupplier<Benchmark> benchmark, java.util.concurrent.atomic.AtomicInteger idCounter)
-
buildPhase
protected Phase buildPhase(SerializableSupplier<Benchmark> benchmark, int phaseId, int iteration, PhaseForkBuilder f)
-
readForksFrom
public void readForksFrom(PhaseBuilder<?> other)
-
forceIterations
public PB forceIterations(boolean force)
-
isWarmup
public PB isWarmup(boolean isWarmup)
-
createModel
protected abstract Model createModel(int iteration, double weight)
-
-