diff options
author | mbeierl <mark.beierl@dell.com> | 2017-01-20 16:05:24 -0500 |
---|---|---|
committer | mbeierl <mark.beierl@dell.com> | 2017-01-20 16:05:24 -0500 |
commit | 29cab6cd9d6e669c74a1dd6960aba8250f539c2f (patch) | |
tree | 2f45b65cb23ea50aca6543df1c7cf6fa9eec0fd6 /storperf/utilities/data_handler.py | |
parent | 37773383c0ea27a934b9e97788e07276cbaaadcf (diff) |
Fix multiple workload runs
Change reporting so that multiple workloads in one job execution can
be reported instead of overwriting the previous value.
Change the daily job to use a single, multiple workload run.
Change-Id: I8e350350ae13d2272b584af7a60ad269de160587
JIRA: STORPERF-98
Signed-off-by: mbeierl <mark.beierl@dell.com>
Diffstat (limited to 'storperf/utilities/data_handler.py')
-rw-r--r-- | storperf/utilities/data_handler.py | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/storperf/utilities/data_handler.py b/storperf/utilities/data_handler.py index ebc1bfd..0aae3b1 100644 --- a/storperf/utilities/data_handler.py +++ b/storperf/utilities/data_handler.py @@ -17,6 +17,7 @@ from storperf.utilities import math as math from storperf.utilities import steady_state as SteadyState from time import sleep import time +import json class DataHandler(object): @@ -61,13 +62,21 @@ class DataHandler(object): if not steady: steady_state = False - executor.metadata['report_data'] = metrics - executor.metadata['steady_state'] = steady_state + workload = '.'.join(executor.current_workload.split('.')[1:6]) + + if 'report_data' not in executor.metadata: + executor.metadata['report_data'] = {} + + if 'steady_state' not in executor.metadata: + executor.metadata['steady_state'] = {} + + executor.metadata['report_data'][workload] = metrics + executor.metadata['steady_state'][workload] = steady_state workload_name = executor.current_workload.split('.')[1] if steady_state and not workload_name.startswith('_'): - executor.terminate() + executor.terminate_current_run() def _lookup_prior_data(self, executor, metric, io_type): workload = executor.current_workload @@ -112,7 +121,7 @@ class DataHandler(object): duration = latest_timestamp - earliest_timestamp if (duration < 60 * self.samples): self.logger.debug("Only %s minutes of samples, ignoring" % - (duration / 60,)) + ((duration / 60 + 1),)) return False return SteadyState.steady_state(data_series) @@ -160,6 +169,6 @@ class DataHandler(object): scenario, criteria, build_tag, - payload) + json.dumps(payload)) except: self.logger.exception("Error pushing results into Database") |