summaryrefslogtreecommitdiffstats
path: root/storperf
diff options
context:
space:
mode:
Diffstat (limited to 'storperf')
-rw-r--r--storperf/db/test_results_db.py10
-rw-r--r--storperf/utilities/data_handler.py71
2 files changed, 47 insertions, 34 deletions
diff --git a/storperf/db/test_results_db.py b/storperf/db/test_results_db.py
index 75cb05d..bb328db 100644
--- a/storperf/db/test_results_db.py
+++ b/storperf/db/test_results_db.py
@@ -9,7 +9,6 @@
import json
import os
-
import requests
@@ -29,17 +28,18 @@ def get_installer_type(logger=None):
def push_results_to_db(db_url, project, case_name,
test_start, test_stop, logger, pod_name,
- version, scenario, criteria, build_tag, payload):
+ version, scenario, criteria, build_tag, details):
"""
POST results to the Result target DB
"""
url = db_url + "/results"
installer = get_installer_type(logger)
+
params = {"project_name": project, "case_name": case_name,
- "start_date": test_start, "stop_date": test_stop,
"pod_name": pod_name, "installer": installer,
"version": version, "scenario": scenario, "criteria": criteria,
- "build_tag": build_tag, "details": payload}
+ "build_tag": build_tag, "start_date": test_start,
+ "stop_date": test_stop, "details": details}
headers = {'Content-Type': 'application/json'}
try:
@@ -56,5 +56,5 @@ def push_results_to_db(db_url, project, case_name,
logger.error("Error [push_results_to_db('%s', '%s', '%s', " +
"'%s', '%s', '%s', '%s', '%s', '%s')]:" %
(db_url, project, case_name, pod_name, version,
- scenario, criteria, build_tag, payload[:512]), e)
+ scenario, criteria, build_tag, details[:512]), e)
return False
diff --git a/storperf/utilities/data_handler.py b/storperf/utilities/data_handler.py
index 2d4194a..2f79054 100644
--- a/storperf/utilities/data_handler.py
+++ b/storperf/utilities/data_handler.py
@@ -124,42 +124,55 @@ class DataHandler(object):
return SteadyState.steady_state(data_series)
def _push_to_db(self, executor):
- test_db = os.environ.get('TEST_DB_URL')
- if test_db is not None:
- pod_name = dictionary.get_key_from_dict(executor.metadata,
- 'pod_name',
- 'Unknown')
- version = dictionary.get_key_from_dict(executor.metadata,
- 'version',
- 'Unknown')
- scenario = dictionary.get_key_from_dict(executor.metadata,
- 'scenario_name',
- 'Unknown')
- build_tag = dictionary.get_key_from_dict(executor.metadata,
- 'build_tag',
- 'Unknown')
- duration = executor.end_time - executor.start_time
+ pod_name = dictionary.get_key_from_dict(executor.metadata,
+ 'pod_name',
+ 'Unknown')
+ version = dictionary.get_key_from_dict(executor.metadata,
+ 'version',
+ 'Unknown')
+ scenario = dictionary.get_key_from_dict(executor.metadata,
+ 'scenario_name',
+ 'Unknown')
+ build_tag = dictionary.get_key_from_dict(executor.metadata,
+ 'build_tag',
+ 'Unknown')
+ test_case = dictionary.get_key_from_dict(executor.metadata,
+ 'test_case',
+ 'Unknown')
+ duration = executor.end_time - executor.start_time
+
+ payload = executor.metadata
+
+ steady_state = True
+ for _, value in executor.metadata['steady_state'].items():
+ steady_state = steady_state and value
+
+ 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:
+ criteria = 'FAIL'
- self.logger.info("Pushing results to %s" % (test_db))
+ start_time = time.strftime('%Y-%m-%d %H:%M:%S',
+ time.gmtime(executor.start_time))
- payload = executor.metadata
- payload['timestart'] = executor.start_time
- payload['duration'] = duration
- payload['status'] = 'OK'
- graphite_db = GraphiteDB()
- payload['metrics'] = graphite_db.fetch_averages(
- executor.job_db.job_id)
- criteria = {}
- criteria['block_sizes'] = executor.block_sizes
- criteria['queue_depths'] = executor.queue_depths
+ end_time = time.strftime('%Y-%m-%d %H:%M:%S',
+ time.gmtime(executor.end_time))
+ test_db = os.environ.get('TEST_DB_URL')
+ if test_db is not None:
+ self.logger.info("Pushing results to %s" % (test_db))
try:
test_results_db.push_results_to_db(test_db,
"storperf",
- "Latency Test",
- executor.start_time,
- executor.end_time,
+ test_case,
+ start_time,
+ end_time,
self.logger,
pod_name,
version,