diff options
Diffstat (limited to 'yardstick/benchmark/runners')
-rw-r--r-- | yardstick/benchmark/runners/arithmetic.py | 24 | ||||
-rw-r--r-- | yardstick/benchmark/runners/base.py | 13 | ||||
-rw-r--r-- | yardstick/benchmark/runners/duration.py | 15 |
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): |