From 31b0e130755cbd425b26f740e5701768d77f98f0 Mon Sep 17 00:00:00 2001 From: mbeierl Date: Tue, 17 Oct 2017 22:41:55 -0400 Subject: Improving Reporting Changes IOPS and BW to summation vs. average. Adds fixed 0 y axis to all graphs Change-Id: I3379597bda04b030424a25c7309a02c982fdb706 Signed-off-by: mbeierl --- docker/storperf-master/storperf/db/graphite_db.py | 7 ++++--- docker/storperf-master/storperf/storperf_master.py | 5 ----- docker/storperf-master/storperf/utilities/data_handler.py | 12 +++++++++--- docker/storperf-master/storperf/workloads/_base_workload.py | 2 +- docker/storperf-master/tests/db_tests/graphite_db_test.py | 5 +++-- .../tests/utilities_tests/data_handler_test.py | 3 ++- 6 files changed, 19 insertions(+), 15 deletions(-) (limited to 'docker/storperf-master') diff --git a/docker/storperf-master/storperf/db/graphite_db.py b/docker/storperf-master/storperf/db/graphite_db.py index aa71855..8ebd22e 100644 --- a/docker/storperf-master/storperf/db/graphite_db.py +++ b/docker/storperf-master/storperf/db/graphite_db.py @@ -33,19 +33,20 @@ class GraphiteDB(object): return result - def fetch_series(self, workload, metric, io_type, time, duration): + def fetch_series(self, function, workload, metric, + io_type, time, duration): series = [] end = time start = end - duration request = ("http://%s:%s/graphite/render/?target=" - "averageSeries(%s.*.jobs.1.%s.%s)" + "%s(%s.*.jobs.1.%s.%s)" "&format=json" "&from=%s" "&until=%s" % (self.graphite_host, self.graphite_port, - workload, io_type, metric, + function, workload, io_type, metric, start, end)) self.logger.debug("Calling %s" % (request)) diff --git a/docker/storperf-master/storperf/storperf_master.py b/docker/storperf-master/storperf/storperf_master.py index ef9ace3..c84a02c 100644 --- a/docker/storperf-master/storperf/storperf_master.py +++ b/docker/storperf-master/storperf/storperf_master.py @@ -422,11 +422,6 @@ class StorPerfMaster(object): metadata = self.fetch_metadata(job) if 'report' in metadata: metadata['report']['_id'] = job - metadata['report']['start_date'] = \ - metadata['report']['start_time'] - metadata['report']['end_date'] = \ - metadata['report']['end_time'] - metadata['report']['_id'] = job job_report['results'].append(metadata['report']) return job_report diff --git a/docker/storperf-master/storperf/utilities/data_handler.py b/docker/storperf-master/storperf/utilities/data_handler.py index 8a69180..b85517f 100644 --- a/docker/storperf-master/storperf/utilities/data_handler.py +++ b/docker/storperf-master/storperf/utilities/data_handler.py @@ -43,7 +43,12 @@ class DataHandler(object): for io_type in ('read', 'write'): metrics[metric][io_type] = {} - series = self._lookup_prior_data(executor, metric, io_type) + function = "sumSeries" + if 'mean' in metric: + function = "averageSeries" + + series = self._lookup_prior_data(executor, metric, io_type, + function) series = self._convert_timestamps_to_samples( executor, series) steady = self._evaluate_prior_data( @@ -85,7 +90,7 @@ class DataHandler(object): if steady_state and not workload_name.startswith('_'): executor.terminate_current_run() - def _lookup_prior_data(self, executor, metric, io_type): + def _lookup_prior_data(self, executor, metric, io_type, function): workload = executor.current_workload graphite_db = GraphiteDB() @@ -93,7 +98,8 @@ class DataHandler(object): # data we just sent to it now = int(time.time()) backtime = 60 * (executor.steady_state_samples + 1) - data_series = graphite_db.fetch_series(workload, + data_series = graphite_db.fetch_series(function, + workload, metric, io_type, now, diff --git a/docker/storperf-master/storperf/workloads/_base_workload.py b/docker/storperf-master/storperf/workloads/_base_workload.py index c045278..d5282d7 100644 --- a/docker/storperf-master/storperf/workloads/_base_workload.py +++ b/docker/storperf-master/storperf/workloads/_base_workload.py @@ -23,7 +23,7 @@ class _base_workload(object): 'bs': '64k', 'iodepth': '1', 'numjobs': '1', - 'loops': '20', + 'loops': '200', 'output-format': 'json', 'status-interval': '60' } diff --git a/docker/storperf-master/tests/db_tests/graphite_db_test.py b/docker/storperf-master/tests/db_tests/graphite_db_test.py index d4c6fb6..d5fbbfc 100644 --- a/docker/storperf-master/tests/db_tests/graphite_db_test.py +++ b/docker/storperf-master/tests/db_tests/graphite_db_test.py @@ -83,9 +83,10 @@ class GraphiteDBTest(unittest.TestCase): [1480456040, 219.28], [1480456050, 217.75]] - mock_requests.side_effect = (response, ) + mock_requests.side_effect = (response,) - actual = self.graphdb.fetch_series("workload", "iops", + actual = self.graphdb.fetch_series("averageSeries", + "workload", "iops", "write", 0, 600) self.assertEqual(expected, actual) diff --git a/docker/storperf-master/tests/utilities_tests/data_handler_test.py b/docker/storperf-master/tests/utilities_tests/data_handler_test.py index 8c7deb5..35150dd 100644 --- a/docker/storperf-master/tests/utilities_tests/data_handler_test.py +++ b/docker/storperf-master/tests/utilities_tests/data_handler_test.py @@ -85,7 +85,8 @@ class DataHandlerTest(unittest.TestCase): 8, 8192)) - actual = self.data_handler._lookup_prior_data(self, 'read', 'iops') + actual = self.data_handler._lookup_prior_data(self, "sumSeries", + 'read', 'iops') self.assertEqual(expected, actual) def test_short_sample(self): -- cgit 1.2.3-korg