summaryrefslogtreecommitdiffstats
path: root/storperf/utilities
diff options
context:
space:
mode:
authormbeierl <mark.beierl@dell.com>2017-02-17 17:43:39 -0500
committermbeierl <mark.beierl@dell.com>2017-02-17 17:43:54 -0500
commit2994748e8112feccf870ff9db923040346dfee60 (patch)
treeb3bc0bfe0b353eac514c6c0668b1511473ef5698 /storperf/utilities
parentac7b5490cb305468b0bd961fc5caad9c51b8b77b (diff)
Steady State Metrics
Changes the overall value of all metrics to be based on the calculated steady state values instead of the average for the entire run. Change-Id: I121929d5fe2dd43df7f289b82e9f5291c9ea9aab JIRA: STORPERF-107 Signed-off-by: mbeierl <mark.beierl@dell.com>
Diffstat (limited to 'storperf/utilities')
-rw-r--r--storperf/utilities/data_handler.py17
1 files changed, 10 insertions, 7 deletions
diff --git a/storperf/utilities/data_handler.py b/storperf/utilities/data_handler.py
index a4c9ae4..d95d6fa 100644
--- a/storperf/utilities/data_handler.py
+++ b/storperf/utilities/data_handler.py
@@ -37,6 +37,10 @@ class DataHandler(object):
if executor.terminated:
self._push_to_db(executor)
else:
+ workload = '.'.join(executor.current_workload.split('.')[1:6])
+ if 'metrics' not in executor.metadata:
+ executor.metadata['metrics'] = {}
+
steady_state = True
metrics = {}
for metric in ('lat.mean', 'iops', 'bw'):
@@ -60,14 +64,15 @@ class DataHandler(object):
math.slope(treated_data['slope_data'])
metrics[metric][io_type]['range'] = \
math.range_value(treated_data['range_data'])
- metrics[metric][io_type]['average'] = \
- math.average(treated_data['average_data'])
+ average = math.average(treated_data['average_data'])
+ metrics[metric][io_type]['average'] = average
+
+ metrics_key = '%s.%s.%s' % (workload, io_type, metric)
+ executor.metadata['metrics'][metrics_key] = average
if not steady:
steady_state = False
- workload = '.'.join(executor.current_workload.split('.')[1:6])
-
if 'report_data' not in executor.metadata:
executor.metadata['report_data'] = {}
@@ -168,9 +173,7 @@ class DataHandler(object):
payload['timestart'] = executor.start_time
payload['duration'] = duration
- graphite_db = GraphiteDB()
- payload['metrics'] = graphite_db.fetch_averages(
- executor.job_db.job_id)
+
if steady_state:
criteria = 'PASS'
else: