diff options
author | Volodymyr Mytnyk <volodymyrx.mytnyk@intel.com> | 2019-01-31 12:46:13 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2019-01-31 12:46:13 +0000 |
commit | 7968b9cd5e1c914cb27f00daf4bee671118f922d (patch) | |
tree | 096c65f6e045832affaf0236669d686ce4a3d63e /yardstick/benchmark/runners/base.py | |
parent | 426a7121ba500eaffcf43a7920ce312dc08316ee (diff) | |
parent | 56962db107f852a55101e8a9f3b93bd6982485de (diff) |
Merge "Add new scenario NSPerf-RFC2544"
Diffstat (limited to 'yardstick/benchmark/runners/base.py')
-rwxr-xr-x | yardstick/benchmark/runners/base.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/yardstick/benchmark/runners/base.py b/yardstick/benchmark/runners/base.py index 3878f20aa..94de45d1e 100755 --- a/yardstick/benchmark/runners/base.py +++ b/yardstick/benchmark/runners/base.py @@ -77,6 +77,33 @@ def _periodic_action(interval, command, queue): queue.put({'periodic-action-data': data}) +class ScenarioOutput(dict): + + QUEUE_PUT_TIMEOUT = 10 + + def __init__(self, queue, **kwargs): + super(ScenarioOutput, self).__init__() + self._queue = queue + self.result_ext = dict() + for key, val in kwargs.items(): + self.result_ext[key] = val + setattr(self, key, val) + + def push(self, data=None, add_timestamp=True): + if data is None: + data = dict(self) + + if add_timestamp: + result = {'timestamp': time.time(), 'data': data} + else: + result = data + + for key in self.result_ext.keys(): + result[key] = getattr(self, key) + + self._queue.put(result, True, self.QUEUE_PUT_TIMEOUT) + + class Runner(object): runners = [] |