summaryrefslogtreecommitdiffstats
path: root/storperf/db/job_db.py
diff options
context:
space:
mode:
authorMark Beierl <mark.beierl@emc.com>2016-05-08 10:09:47 -0400
committerMark Beierl <mark.beierl@emc.com>2016-05-09 09:34:44 -0400
commitedbced4cda35e63c9ddc4e40a67807cbfd6d6c20 (patch)
tree3bbb5b35d093556414ba6c50876813c529ed45e9 /storperf/db/job_db.py
parentda56b4dac702713045aaeeedbab9234e1825ffe0 (diff)
Add plots
Adds matplotlib Adds support for generating graphs showing performance results Change-Id: Iba344baab89e35c0d5891a9d6b4c22c37666511e JIRA: STORPERF-44 JIRA: STORPERF-50 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
Diffstat (limited to 'storperf/db/job_db.py')
-rw-r--r--storperf/db/job_db.py54
1 files changed, 53 insertions, 1 deletions
diff --git a/storperf/db/job_db.py b/storperf/db/job_db.py
index d42568a..412c6bc 100644
--- a/storperf/db/job_db.py
+++ b/storperf/db/job_db.py
@@ -45,7 +45,17 @@ class JobDB(object):
except OperationalError:
self.logger.debug("Job table exists")
+ try:
+ cursor.execute('''CREATE TABLE job_params
+ (job_id text,
+ param text,
+ value text)''')
+ self.logger.debug("Created job_params table")
+ except OperationalError:
+ self.logger.debug("Job params table exists")
+
cursor.execute('SELECT * FROM jobs')
+ cursor.execute('SELECT * FROM job_params')
db.commit()
db.close()
@@ -177,7 +187,7 @@ class JobDB(object):
with db_mutex:
db = sqlite3.connect(JobDB.db_name)
cursor = db.cursor()
- cursor.execute("""select workload, start, end
+ cursor.execute("""select workload, start, end
from jobs where workload like ?""",
(workload_prefix,))
@@ -190,3 +200,45 @@ class JobDB(object):
db.close()
return workload_executions
+
+ def record_workload_params(self, job_id, params):
+ """
+ """
+ with db_mutex:
+
+ db = sqlite3.connect(JobDB.db_name)
+ cursor = db.cursor()
+ for param, value in params.iteritems():
+ cursor.execute(
+ """insert into job_params
+ (job_id,
+ param,
+ value)
+ values (?, ?, ?)""",
+ (job_id,
+ param,
+ value,))
+ db.commit()
+ db.close()
+
+ def fetch_workload_params(self, job_id):
+ """
+ """
+ params = {}
+ with db_mutex:
+
+ db = sqlite3.connect(JobDB.db_name)
+ cursor = db.cursor()
+
+ cursor.execute(
+ "select param, value from job_params where job_id = ?",
+ (job_id,))
+
+ while (True):
+ row = cursor.fetchone()
+ if (row is None):
+ break
+ params[row[0]] = row[1]
+
+ db.close()
+ return params