summaryrefslogtreecommitdiffstats
path: root/storperf/db/job_db.py
diff options
context:
space:
mode:
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