public class OptionsBuilder extends java.lang.Object implements Options, ChainedOptionsBuilder
Modifier and Type | Field and Description |
---|---|
private java.util.EnumSet<Mode> |
benchModes |
private java.util.List<java.lang.String> |
excludes |
private Optional<java.lang.Integer> |
forks |
private Optional<java.lang.Integer> |
iterations |
private Optional<java.util.Collection<java.lang.String>> |
jvmArgs |
private Optional<java.util.Collection<java.lang.String>> |
jvmArgsAppend |
private Optional<java.util.Collection<java.lang.String>> |
jvmArgsPrepend |
private Optional<java.lang.String> |
jvmBinary |
private Optional<java.lang.Integer> |
measurementBatchSize |
private Optional<TimeValue> |
measurementTime |
private Optional<java.lang.Integer> |
opsPerInvocation |
private Options |
otherOptions |
private Optional<java.lang.String> |
output |
private Multimap<java.lang.String,java.lang.String> |
params |
private java.util.List<ProfilerConfig> |
profilers |
private java.util.List<java.lang.String> |
regexps |
private Optional<java.lang.String> |
result |
private Optional<ResultFormatType> |
rfType |
private static long |
serialVersionUID |
private Optional<java.lang.Boolean> |
shouldDoGC |
private Optional<java.lang.Boolean> |
shouldFailOnError |
private Optional<java.lang.Boolean> |
syncIterations |
private Optional<int[]> |
threadGroups |
private Optional<java.lang.Integer> |
threads |
private Optional<TimeValue> |
timeout |
private Optional<java.util.concurrent.TimeUnit> |
timeUnit |
private Optional<VerboseMode> |
verbosity |
private Optional<java.lang.Integer> |
warmupBatchSize |
private Optional<java.lang.Integer> |
warmupForks |
private Optional<java.lang.Integer> |
warmupIterations |
private java.util.List<java.lang.String> |
warmupMicros |
private Optional<WarmupMode> |
warmupMode |
private Optional<TimeValue> |
warmupTime |
Constructor and Description |
---|
OptionsBuilder() |
Modifier and Type | Method and Description |
---|---|
ChainedOptionsBuilder |
addProfiler(java.lang.Class<? extends Profiler> prof)
Add the profiler in the run
|
ChainedOptionsBuilder |
addProfiler(java.lang.Class<? extends Profiler> prof,
java.lang.String initLine)
Add the profiler in the run
|
ChainedOptionsBuilder |
addProfiler(java.lang.String prof)
Add the profiler in the run
|
ChainedOptionsBuilder |
addProfiler(java.lang.String prof,
java.lang.String initLine)
Add the profiler in the run
|
Options |
build()
Produce the final Options
|
private static void |
checkGreaterOrEqual(int value,
int minValue,
java.lang.String s) |
ChainedOptionsBuilder |
detectJvmArgs()
Autodetect forked JVM arguments from the parent VM.
|
ChainedOptionsBuilder |
exclude(java.lang.String regexp)
Exclude benchmarks from the run
(Can be used multiple times)
|
ChainedOptionsBuilder |
forks(int value)
Number of forks to use in the run
|
java.util.Collection<Mode> |
getBenchModes()
Benchmarks modes to execute.
|
java.util.List<java.lang.String> |
getExcludes()
Which benchmarks to omit?
|
Optional<java.lang.Integer> |
getForkCount()
Fork count
|
java.util.List<java.lang.String> |
getIncludes()
Which benchmarks to execute?
|
Optional<java.lang.String> |
getJvm()
JVM executable to use for forks
|
Optional<java.util.Collection<java.lang.String>> |
getJvmArgs()
JVM parameters to use with forks
|
Optional<java.util.Collection<java.lang.String>> |
getJvmArgsAppend()
JVM parameters to use with forks (these options will be appended
after any other JVM option)
|
Optional<java.util.Collection<java.lang.String>> |
getJvmArgsPrepend()
JVM parameters to use with forks (these options will be prepended
before any other JVM option)
|
Optional<java.lang.Integer> |
getMeasurementBatchSize()
Number of batch size for measurement
|
Optional<java.lang.Integer> |
getMeasurementIterations()
Number of measurement iterations
|
Optional<TimeValue> |
getMeasurementTime()
The duration for measurement iterations
|
Optional<java.lang.Integer> |
getOperationsPerInvocation()
Operations per invocation.
|
Optional<java.lang.String> |
getOutput()
Which file to use for dumping the output
|
Optional<java.util.Collection<java.lang.String>> |
getParameter(java.lang.String name)
The overridden value of the parameter.
|
java.util.List<ProfilerConfig> |
getProfilers()
Profilers to use for the run.
|
Optional<java.lang.String> |
getResult()
Which file to use for dumping the result
|
Optional<ResultFormatType> |
getResultFormat()
Result format to use
|
Optional<int[]> |
getThreadGroups()
Thread subgroups distribution.
|
Optional<java.lang.Integer> |
getThreads()
Number of threads to run
|
Optional<TimeValue> |
getTimeout()
Timeout: how long to wait for an iteration to complete.
|
Optional<java.util.concurrent.TimeUnit> |
getTimeUnit()
Timeunit to use in units.
|
Optional<java.lang.Integer> |
getWarmupBatchSize()
Number of batch size for warmup
|
Optional<java.lang.Integer> |
getWarmupForkCount()
Number of initial forks to ignore the results for
|
java.util.List<java.lang.String> |
getWarmupIncludes()
Which benchmarks to warmup before doing the run.
|
Optional<java.lang.Integer> |
getWarmupIterations()
Number of warmup iterations
|
Optional<WarmupMode> |
getWarmupMode()
Warmup mode.
|
Optional<TimeValue> |
getWarmupTime()
The duration for warmup iterations
|
ChainedOptionsBuilder |
include(java.lang.String regexp)
Include benchmark in the run
(Can be used multiple times)
|
ChainedOptionsBuilder |
includeWarmup(java.lang.String regexp)
What other benchmarks to warmup along the way
|
ChainedOptionsBuilder |
jvm(java.lang.String path)
Forked JVM to use.
|
ChainedOptionsBuilder |
jvmArgs(java.lang.String... value)
Forked JVM arguments.
|
ChainedOptionsBuilder |
jvmArgsAppend(java.lang.String... value)
Append forked JVM arguments:
These options go after other options.
|
ChainedOptionsBuilder |
jvmArgsPrepend(java.lang.String... value)
Prepend forked JVM arguments:
These options go before any other options.
|
ChainedOptionsBuilder |
measurementBatchSize(int value)
How large measurement batchSize should be?
|
ChainedOptionsBuilder |
measurementIterations(int count)
How many measurement measurementIterations to do
|
ChainedOptionsBuilder |
measurementTime(TimeValue value)
How long each measurement iteration should take?
|
ChainedOptionsBuilder |
mode(Mode mode)
Benchmark mode.
|
ChainedOptionsBuilder |
operationsPerInvocation(int opsPerInv)
Operations per invocation.
|
ChainedOptionsBuilder |
output(java.lang.String filename)
Output filename to write the run log to
|
ChainedOptionsBuilder |
param(java.lang.String name,
java.lang.String... values)
Set benchmark parameter values.
|
ChainedOptionsBuilder |
parent(Options other)
Override the defaults from the given option.
|
ChainedOptionsBuilder |
result(java.lang.String filename)
Output filename to write the result to
|
ChainedOptionsBuilder |
resultFormat(ResultFormatType type)
ResultFormatType to use in the run
|
Optional<java.lang.Boolean> |
shouldDoGC()
Should force GC between iterations?
|
ChainedOptionsBuilder |
shouldDoGC(boolean value)
Should do GC between measurementIterations?
|
Optional<java.lang.Boolean> |
shouldFailOnError()
Should harness terminate on first error encountered?
|
ChainedOptionsBuilder |
shouldFailOnError(boolean value)
Should fail on first benchmark error?
|
Optional<java.lang.Boolean> |
shouldSyncIterations()
Should synchronize iterations?
|
ChainedOptionsBuilder |
syncIterations(boolean value)
Should synchronize measurementIterations?
|
ChainedOptionsBuilder |
threadGroups(int... groups)
Subgroups thread distribution.
|
ChainedOptionsBuilder |
threads(int count)
Number of threads to run the benchmark in
|
ChainedOptionsBuilder |
timeout(TimeValue value)
How long to wait for iteration execution?
|
ChainedOptionsBuilder |
timeUnit(java.util.concurrent.TimeUnit tu)
Timeunit to use in results
|
Optional<VerboseMode> |
verbosity()
How verbose should we be?
|
ChainedOptionsBuilder |
verbosity(VerboseMode mode)
Control verbosity level.
|
ChainedOptionsBuilder |
warmupBatchSize(int value)
How large warmup batchSize should be?
|
ChainedOptionsBuilder |
warmupForks(int value)
Number of ignored forks
|
ChainedOptionsBuilder |
warmupIterations(int value)
How many warmup iterations to do?
|
ChainedOptionsBuilder |
warmupMode(WarmupMode mode)
Warmup mode to use
|
ChainedOptionsBuilder |
warmupTime(TimeValue value)
How long each warmup iteration should take?
|
private static final long serialVersionUID
private Options otherOptions
private final java.util.List<java.lang.String> regexps
private final java.util.List<java.lang.String> excludes
private Optional<java.lang.String> output
private Optional<ResultFormatType> rfType
private Optional<java.lang.String> result
private Optional<java.lang.Boolean> shouldDoGC
private java.util.List<ProfilerConfig> profilers
private Optional<VerboseMode> verbosity
private Optional<java.lang.Boolean> shouldFailOnError
private Optional<java.lang.Integer> threads
private Optional<int[]> threadGroups
private Optional<java.lang.Boolean> syncIterations
private Optional<java.lang.Integer> warmupIterations
private Optional<java.lang.Integer> warmupBatchSize
private Optional<WarmupMode> warmupMode
private final java.util.List<java.lang.String> warmupMicros
private Optional<java.lang.Integer> iterations
private Optional<java.lang.Integer> measurementBatchSize
private java.util.EnumSet<Mode> benchModes
private Optional<java.util.concurrent.TimeUnit> timeUnit
private Optional<java.lang.Integer> opsPerInvocation
private Optional<java.lang.Integer> forks
private Optional<java.lang.Integer> warmupForks
private Optional<java.lang.String> jvmBinary
private Optional<java.util.Collection<java.lang.String>> jvmArgs
private Optional<java.util.Collection<java.lang.String>> jvmArgsAppend
private Optional<java.util.Collection<java.lang.String>> jvmArgsPrepend
private Multimap<java.lang.String,java.lang.String> params
public Options build()
ChainedOptionsBuilder
build
in interface ChainedOptionsBuilder
public ChainedOptionsBuilder parent(Options other)
ChainedOptionsBuilder
parent
in interface ChainedOptionsBuilder
other
- options to base onprivate static void checkGreaterOrEqual(int value, int minValue, java.lang.String s)
public ChainedOptionsBuilder include(java.lang.String regexp)
ChainedOptionsBuilder
include
in interface ChainedOptionsBuilder
regexp
- to match benchmarks againstpublic java.util.List<java.lang.String> getIncludes()
Options
getIncludes
in interface Options
public ChainedOptionsBuilder exclude(java.lang.String regexp)
ChainedOptionsBuilder
exclude
in interface ChainedOptionsBuilder
regexp
- to match benchmark againstpublic java.util.List<java.lang.String> getExcludes()
Options
getExcludes
in interface Options
public ChainedOptionsBuilder output(java.lang.String filename)
ChainedOptionsBuilder
output
in interface ChainedOptionsBuilder
filename
- file namepublic Optional<java.lang.String> getOutput()
Options
public ChainedOptionsBuilder resultFormat(ResultFormatType type)
ChainedOptionsBuilder
resultFormat
in interface ChainedOptionsBuilder
type
- resultformat typepublic Optional<ResultFormatType> getResultFormat()
Options
getResultFormat
in interface Options
public ChainedOptionsBuilder result(java.lang.String filename)
ChainedOptionsBuilder
result
in interface ChainedOptionsBuilder
filename
- file namepublic Optional<java.lang.String> getResult()
Options
public ChainedOptionsBuilder shouldDoGC(boolean value)
ChainedOptionsBuilder
shouldDoGC
in interface ChainedOptionsBuilder
value
- flagpublic Optional<java.lang.Boolean> shouldDoGC()
Options
shouldDoGC
in interface Options
public ChainedOptionsBuilder addProfiler(java.lang.Class<? extends Profiler> prof)
ChainedOptionsBuilder
addProfiler
in interface ChainedOptionsBuilder
prof
- profiler classpublic ChainedOptionsBuilder addProfiler(java.lang.Class<? extends Profiler> prof, java.lang.String initLine)
ChainedOptionsBuilder
addProfiler
in interface ChainedOptionsBuilder
prof
- profiler classinitLine
- profiler options initialization linepublic ChainedOptionsBuilder addProfiler(java.lang.String prof)
ChainedOptionsBuilder
addProfiler
in interface ChainedOptionsBuilder
prof
- profiler class name, or profiler aliaspublic ChainedOptionsBuilder addProfiler(java.lang.String prof, java.lang.String initLine)
ChainedOptionsBuilder
addProfiler
in interface ChainedOptionsBuilder
prof
- profiler class name, or profiler aliasinitLine
- profiler options initialization linepublic java.util.List<ProfilerConfig> getProfilers()
Options
getProfilers
in interface Options
public ChainedOptionsBuilder verbosity(VerboseMode mode)
ChainedOptionsBuilder
verbosity
in interface ChainedOptionsBuilder
mode
- flagpublic Optional<VerboseMode> verbosity()
Options
public ChainedOptionsBuilder shouldFailOnError(boolean value)
ChainedOptionsBuilder
shouldFailOnError
in interface ChainedOptionsBuilder
value
- flagpublic Optional<java.lang.Boolean> shouldFailOnError()
Options
shouldFailOnError
in interface Options
public ChainedOptionsBuilder threads(int count)
ChainedOptionsBuilder
threads
in interface ChainedOptionsBuilder
count
- number of threadsThreads
public Optional<java.lang.Integer> getThreads()
Options
getThreads
in interface Options
Threads
public ChainedOptionsBuilder threadGroups(int... groups)
ChainedOptionsBuilder
threadGroups
in interface ChainedOptionsBuilder
groups
- thread distributionGroup
,
GroupThreads
public Optional<int[]> getThreadGroups()
Options
getThreadGroups
in interface Options
Group
,
GroupThreads
public ChainedOptionsBuilder syncIterations(boolean value)
ChainedOptionsBuilder
syncIterations
in interface ChainedOptionsBuilder
value
- flagpublic Optional<java.lang.Boolean> shouldSyncIterations()
Options
shouldSyncIterations
in interface Options
public ChainedOptionsBuilder warmupIterations(int value)
ChainedOptionsBuilder
warmupIterations
in interface ChainedOptionsBuilder
value
- flagWarmup
public Optional<java.lang.Integer> getWarmupIterations()
Options
getWarmupIterations
in interface Options
Warmup
public ChainedOptionsBuilder warmupBatchSize(int value)
ChainedOptionsBuilder
warmupBatchSize
in interface ChainedOptionsBuilder
value
- batch sizeWarmup
public Optional<java.lang.Integer> getWarmupBatchSize()
Options
getWarmupBatchSize
in interface Options
Warmup
public ChainedOptionsBuilder warmupTime(TimeValue value)
ChainedOptionsBuilder
warmupTime
in interface ChainedOptionsBuilder
value
- timeWarmup
public Optional<TimeValue> getWarmupTime()
Options
getWarmupTime
in interface Options
Warmup
public ChainedOptionsBuilder warmupMode(WarmupMode mode)
ChainedOptionsBuilder
warmupMode
in interface ChainedOptionsBuilder
mode
- to usepublic Optional<WarmupMode> getWarmupMode()
Options
getWarmupMode
in interface Options
WarmupMode
public ChainedOptionsBuilder includeWarmup(java.lang.String regexp)
ChainedOptionsBuilder
includeWarmup
in interface ChainedOptionsBuilder
regexp
- to match benchmarks againstpublic java.util.List<java.lang.String> getWarmupIncludes()
Options
getWarmupIncludes
in interface Options
public ChainedOptionsBuilder measurementIterations(int count)
ChainedOptionsBuilder
measurementIterations
in interface ChainedOptionsBuilder
count
- number of iterationsMeasurement
public Optional<java.lang.Integer> getMeasurementIterations()
Options
getMeasurementIterations
in interface Options
Measurement
public ChainedOptionsBuilder measurementTime(TimeValue value)
ChainedOptionsBuilder
measurementTime
in interface ChainedOptionsBuilder
value
- timeMeasurement
public Optional<TimeValue> getMeasurementTime()
Options
getMeasurementTime
in interface Options
Measurement
public ChainedOptionsBuilder measurementBatchSize(int value)
ChainedOptionsBuilder
measurementBatchSize
in interface ChainedOptionsBuilder
value
- batch sizeMeasurement
public Optional<java.lang.Integer> getMeasurementBatchSize()
Options
getMeasurementBatchSize
in interface Options
Measurement
public ChainedOptionsBuilder mode(Mode mode)
ChainedOptionsBuilder
mode
in interface ChainedOptionsBuilder
mode
- benchmark modeBenchmarkMode
public java.util.Collection<Mode> getBenchModes()
Options
getBenchModes
in interface Options
BenchmarkMode
public ChainedOptionsBuilder timeUnit(java.util.concurrent.TimeUnit tu)
ChainedOptionsBuilder
timeUnit
in interface ChainedOptionsBuilder
tu
- time unitOutputTimeUnit
public Optional<java.util.concurrent.TimeUnit> getTimeUnit()
Options
getTimeUnit
in interface Options
OutputTimeUnit
public ChainedOptionsBuilder operationsPerInvocation(int opsPerInv)
ChainedOptionsBuilder
operationsPerInvocation
in interface ChainedOptionsBuilder
opsPerInv
- operations per invocation.OperationsPerInvocation
public Optional<java.lang.Integer> getOperationsPerInvocation()
Options
getOperationsPerInvocation
in interface Options
OperationsPerInvocation
public ChainedOptionsBuilder forks(int value)
ChainedOptionsBuilder
forks
in interface ChainedOptionsBuilder
value
- number of forksFork
public Optional<java.lang.Integer> getForkCount()
Options
getForkCount
in interface Options
Fork
public ChainedOptionsBuilder warmupForks(int value)
ChainedOptionsBuilder
warmupForks
in interface ChainedOptionsBuilder
value
- number of ignored forksFork
public Optional<java.lang.Integer> getWarmupForkCount()
Options
getWarmupForkCount
in interface Options
Fork
public ChainedOptionsBuilder jvm(java.lang.String path)
ChainedOptionsBuilder
jvm
in interface ChainedOptionsBuilder
path
- path to /bin/javapublic Optional<java.lang.String> getJvm()
Options
public ChainedOptionsBuilder jvmArgs(java.lang.String... value)
ChainedOptionsBuilder
jvmArgs
in interface ChainedOptionsBuilder
value
- arguments to add to the runFork
public Optional<java.util.Collection<java.lang.String>> getJvmArgs()
Options
getJvmArgs
in interface Options
Fork
public ChainedOptionsBuilder jvmArgsAppend(java.lang.String... value)
ChainedOptionsBuilder
jvmArgsAppend
in interface ChainedOptionsBuilder
value
- arguments to add to the runFork
public Optional<java.util.Collection<java.lang.String>> getJvmArgsAppend()
Options
getJvmArgsAppend
in interface Options
Fork
public ChainedOptionsBuilder jvmArgsPrepend(java.lang.String... value)
ChainedOptionsBuilder
jvmArgsPrepend
in interface ChainedOptionsBuilder
value
- arguments to add to the runFork
public Optional<java.util.Collection<java.lang.String>> getJvmArgsPrepend()
Options
getJvmArgsPrepend
in interface Options
Fork
public ChainedOptionsBuilder detectJvmArgs()
ChainedOptionsBuilder
detectJvmArgs
in interface ChainedOptionsBuilder
public Optional<java.util.Collection<java.lang.String>> getParameter(java.lang.String name)
Options
getParameter
in interface Options
name
- parameter nameParam
public ChainedOptionsBuilder param(java.lang.String name, java.lang.String... values)
ChainedOptionsBuilder
param
in interface ChainedOptionsBuilder
name
- parametervalues
- sequence of values to setParam
public ChainedOptionsBuilder timeout(TimeValue value)
ChainedOptionsBuilder
timeout
in interface ChainedOptionsBuilder
value
- timepublic Optional<TimeValue> getTimeout()
Options
getTimeout
in interface Options