From 3bd890facc1546fcc1dea2e372937675236af4e8 Mon Sep 17 00:00:00 2001 From: saksham115 Date: Mon, 28 Aug 2017 17:37:32 +0530 Subject: Handling multiple data scenario JIRA: STORPERF-163 Change-Id: Id86774df42461088c7773d36ad5db6c15d2c9585 Signed-off-by: saksham115 --- docker/storperf-reporting/src/app.py | 26 +- .../src/templates/plot_multi_data.html | 279 +++++++++++++++++++++ 2 files changed, 297 insertions(+), 8 deletions(-) create mode 100644 docker/storperf-reporting/src/templates/plot_multi_data.html diff --git a/docker/storperf-reporting/src/app.py b/docker/storperf-reporting/src/app.py index 330edf9..39ea259 100644 --- a/docker/storperf-reporting/src/app.py +++ b/docker/storperf-reporting/src/app.py @@ -19,15 +19,20 @@ app.secret_key = 'storperf_graphing_module' def get_data(data): metrics = {} report_data = {} - temp = data.get("results") or data.get("report") + temp = data.get("results") or data.get("report") or data.get("details") if type(temp) is list: - details = temp[0].get('details') - metrics = details.get('metrics') - report_data = details.get('report_data') + length = len(temp) + if length == 1: + details = temp[0].get('details') + metrics = details.get('metrics') + report_data = details.get('report_data') + return "single", metrics, report_data + else: + return "multi", temp else: metrics = temp.get('metrics') report_data = temp.get('report_data') - return metrics, report_data + return "single", metrics, report_data @app.route('/reporting/success/') @@ -39,9 +44,14 @@ def success(): else: data = open("./static/testdata/" + URL).read() data = json.loads(data) - metrics, report_data = get_data(data) - return render_template('plot_tables.html', - metrics=metrics, report_data=report_data) + response = get_data(data) + if response[0] == "single": + metrics, report_data = response[1], response[2] + return render_template('plot_tables.html', + metrics=metrics, report_data=report_data) + else: + return render_template('plot_multi_data.html', + results=response[1]) except Exception as e: session['server_error'] = e.message + ' ' + repr(e.args) return redirect(url_for('file_not_found')) diff --git a/docker/storperf-reporting/src/templates/plot_multi_data.html b/docker/storperf-reporting/src/templates/plot_multi_data.html new file mode 100644 index 0000000..2edae9e --- /dev/null +++ b/docker/storperf-reporting/src/templates/plot_multi_data.html @@ -0,0 +1,279 @@ + + + + + + Chart | Storperf + + + + + + + + + + +
+ {% include 'header.html' %} +
Loading... +
+ +
+
+
+
+ + + + \ No newline at end of file -- cgit 1.2.3-korg