com.sun.faban.driver
Annotation Type BenchmarkDefinition


@Retention(value=RUNTIME)
@Target(value=TYPE)
public @interface BenchmarkDefinition

The BenchmarkDefinition annotation defines the benchmark. Only one driver will need to provide a benchmark definition, this is usually the first driver and the defining driver of the benchmark. This is where global information about the benchmark is defined.


Required Element Summary
 String name
          The name of this benchmark.
 String version
          The version of this benchmark.
 
Optional Element Summary
 boolean configPrecedence
          If set to true, this benchmark allows pass/fail checks to be done against config parameters in the config file, if they exist.
 Class<?>[] drivers
          The driver classes.
 int maxRunTime
          The maximum run time of the benchmark, in hours.
 String metric
          The name of the resulting metric.
 RunControl runControl
          Specifies whether this benchmark uses time or cycles to control the phases in the benchmark run.
 String scaleName
          The name of the benchmark scale.
 String scaleUnit
          The unit of the benchmark scale.
 

Element Detail

name

public abstract String name
The name of this benchmark.


version

public abstract String version
The version of this benchmark.

drivers

public abstract Class<?>[] drivers
The driver classes. Defaults to the defining driver class which is the class providing the BenchmarkDefinition. The defining driver does not need to be listed and is automatically treated as the first driver. If it is in the list of driver classes, it will assume the number according to it's index in the array.

Default:
java.lang.Object.class

runControl

public abstract RunControl runControl
Specifies whether this benchmark uses time or cycles to control the phases in the benchmark run.

Default:
com.sun.faban.driver.RunControl.TIME

metric

public abstract String metric
The name of the resulting metric.

Default:
"ops/sec"

scaleName

public abstract String scaleName
The name of the benchmark scale.

Default:
"Scale"

scaleUnit

public abstract String scaleUnit
The unit of the benchmark scale.

Default:
""

maxRunTime

public abstract int maxRunTime
The maximum run time of the benchmark, in hours. Can be overridden by the same parameter in the @BenchmarkDriver annotation. Defaults to 6 hrs. This is only used if runControl is CYCLES. Otherwise the benchmark configuration is a better indicator.

Default:
-1

configPrecedence

public abstract boolean configPrecedence
If set to true, this benchmark allows pass/fail checks to be done against config parameters in the config file, if they exist. In other words, the config file precedes the annotations for pass/fail check criteria. Default is false which means only the annotations are followed for such checks.

Default:
false