
This adds a plugin to collect the avg time duration for each atomic action. With this, SLAs setting time maximums can be applied to individual atomic actions that are part of a run. For example: NeutronNetworks.create_and_list_ports: - sla: max_avg_duration_per_atomic: neutron.list_ports: 5.5 This would put a 5.5 second limit on the average amount of time spent listing ports. During the create_and_list_ports test run. This allows projects to put more fine-grained restrictions on different types of operations (e.g. GET vs POST). Change-Id: I752a53ae3b2f47a05057ad8d4688f3f74d75ecf0
Tasks Configuration Samples
To specify your tasks, use configuration files in json or yaml format.
JSON schema of input task format:
:
{
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema",
"patternProperties": {
".*": {
"type": "array",
"items": {
"type": "object",
"properties": {
"args": {
"type": "object"
},
"runner": {
"type": "object",
"properties": {
"type": {"type": "string"}
},
"required": ["type"]
},
"context": {
"type": "object"
},
"sla": {
"type": "object"
},
},
"additionalProperties": False
}
}
}
}
For humans:
- ::
-
- {
-
- "ScenarioClass.scenario_method": [
-
- {
-
- "args": {
-
...
}, "runner": { ... }, "context": { ... }, "sla": { ... }
}
]
}
ScanarioClass should be a subclass of the base Scenario class and scenario_method specifies what benchmark task should be run. Section "args" is also related to scenario. To learn more about scenarios configuration, see samples in samples/tasks/scenarios.
Section "runners" specifies the way, how task should be run. To learn more about runners configurations, see samples in samples/tasks/runners.
Section "context" defines different types of environments in which task can be launched. Look at samples/tasks/contexts for samples.
Section "sla" defines details for determining compliance with contracted values such as maximum error rate or minimum response time. Look at samples/tasks/sla for samples.
See a detailed description of benchmark scenarios, contexts & runners.