aboutsummaryrefslogtreecommitdiffstats
path: root/yardstick/benchmark/runners
diff options
context:
space:
mode:
Diffstat (limited to 'yardstick/benchmark/runners')
-rw-r--r--yardstick/benchmark/runners/arithmetic.py24
-rw-r--r--yardstick/benchmark/runners/base.py13
-rw-r--r--yardstick/benchmark/runners/duration.py15
3 files changed, 49 insertions, 3 deletions
diff --git a/yardstick/benchmark/runners/arithmetic.py b/yardstick/benchmark/runners/arithmetic.py
index acf14d08a..9efafffec 100644
--- a/yardstick/benchmark/runners/arithmetic.py
+++ b/yardstick/benchmark/runners/arithmetic.py
@@ -97,6 +97,30 @@ def _worker_process(queue, cls, method_name, context, scenario_args):
class ArithmeticRunner(base.Runner):
+ '''Run a scenario arithmetically stepping an input value
+
+ Parameters
+ interval - time to wait between each scenario invocation
+ type: int
+ unit: seconds
+ default: 1 sec
+ name - name of scenario option that will be increased for each invocation
+ type: string
+ unit: na
+ default: none
+ start - value to use in first invocation of scenario
+ type: int
+ unit: na
+ default: none
+ step - value added to start value in next invocation of scenario
+ type: int
+ unit: na
+ default: none
+ stop - value indicating end of invocation
+ type: int
+ unit: na
+ default: none
+ '''
__execution_type__ = 'Arithmetic'
diff --git a/yardstick/benchmark/runners/base.py b/yardstick/benchmark/runners/base.py
index 38ca34f4b..08117c625 100644
--- a/yardstick/benchmark/runners/base.py
+++ b/yardstick/benchmark/runners/base.py
@@ -41,13 +41,22 @@ class Runner(object):
runners = []
@staticmethod
- def _get_cls(runner_type):
+ def get_cls(runner_type):
+ '''return class of specified type'''
for runner in utils.itersubclasses(Runner):
if runner_type == runner.__execution_type__:
return runner
raise RuntimeError("No such runner_type %s" % runner_type)
@staticmethod
+ def get_types():
+ '''return a list of known runner type (class) names'''
+ types = []
+ for runner in utils.itersubclasses(Runner):
+ types.append(runner)
+ return types
+
+ @staticmethod
def get(config):
"""Returns instance of a scenario runner for execution type.
"""
@@ -62,7 +71,7 @@ class Runner(object):
args=(config["output_filename"], Runner.queue))
Runner.dump_process.start()
- return Runner._get_cls(config["type"])(config, Runner.queue)
+ return Runner.get_cls(config["type"])(config, Runner.queue)
@staticmethod
def release(runner):
diff --git a/yardstick/benchmark/runners/duration.py b/yardstick/benchmark/runners/duration.py
index 61d498f02..363320a6d 100644
--- a/yardstick/benchmark/runners/duration.py
+++ b/yardstick/benchmark/runners/duration.py
@@ -89,7 +89,20 @@ def _worker_process(queue, cls, method_name, context, scenario_args):
class DurationRunner(base.Runner):
-
+ '''Run a scenario for a certain amount of time
+
+If the scenario ends before the time has elapsed, it will be started again.
+
+ Parameters
+ duration - amount of time the scenario will be run for
+ type: int
+ unit: seconds
+ default: 1 sec
+ interval - time to wait between each scenario invocation
+ type: int
+ unit: seconds
+ default: 1 sec
+ '''
__execution_type__ = 'Duration'
def _run_benchmark(self, cls, method, scenario_args):