-
Notifications
You must be signed in to change notification settings - Fork 0
Specs Reference
The machine-readable name of the test
name: mytestThe human-readable title of the test
title: My TestOne or more notes to include on the final report. This has no effect on the test.
notes:
Author: Ioannis
Scope: Bandwidth measurementsWhich metrics is the test observing. These metrics will be included on the final report. You can specify various configuration options for each metric in order to properly format it's value.
While the test runs, roBob collects a series of values along with their timestamp that are later processed by an aggregator class in order to produce the final value of each metric. Refer to Aggregate Classes for more details regarding the possible values of the aggregate property.
By default roBob will calculate the average of the values.
metrics:
- name: metric1 # [Required] Metric name
prefix: si|iec # [Optional] Apply SI prefix (kilo,mega,...)
# or IEC (kibibyte,mibibyte,...)
units: "" # [Optional] The units of this metric
scale: 1.0 # [Optional] Multiply final result by this
initial: 0 # [Optional] The initial value of this metric
dec: 2 # [Optional] In case of float values, the number of decimals
showunits: false # [Optional] Set to 'true' to show units on every occurance
# of this metric rather than only in the title.
aggregate: [] # [Optional] One or more aggregation objects fo this metricDefines the test cases to run. The final test-cases will be calculated as the product of the individual test-cases specified in this entry. For example, the following will create 6 test cases: (1024,1), (1024,2), (2048,1), (2048,2) etc..
test-cases:
message_size: [ 1024, 2048, 4096 ]
interval: [ 1, 2 ]Defines the machines involved in the test:
Refer to Access Classes for more details regarding the possible values of the access property.
machines:
- name: machine1 # [Required] Machine name
host: 192.168.1.1 # [Required] Hostname or IP of the machine
access: [ ] # [Required] One or more access mechanismsDefines the applications being controlled by the test:
apps:
- name: app1 # [Required] App name
binary: /path/to # [Required] Path to application binary
args: [ ] # [Optional] An array of arguments to pass to the binary
parser: parser1 # [Optional] The name of the output parser to use
parsers: [ ] # [Optional] An array of output parsers to useDefines the parsers and configures them in order to parse the application output and update the metrics accordingly.
apps:
- name: app1 # [Required] App name
binary: /path/to # [Required] Path to application binary
args: [ ] # [Optional] An array of arguments to pass to the binary
parser: parser1 # [Optional] The name of the output parser to use
parsers: [ ] # [Optional] An array of multiple parsers to useDefines small scripts that runs in parallel with the monitored application and collects additional information that can be parsed with a separate parser. Each streamlet is a shell script that should run infinitely and will be interrupted when the main application exits.
There is already a collection of streamlets available
streamlets:
- name: streamlet1 # [Required] Streamlet name
script: | # [Required] The contents of the script to run
while true; do
uptime
sleep
done
title: Streamlet 1 # [Optional] Human-readable streamlet name
parser: parser1 # [Optional] The name of the output parser to use
parsers: [ ] # [Optional] An array of multiple parsers to use