From edbced4cda35e63c9ddc4e40a67807cbfd6d6c20 Mon Sep 17 00:00:00 2001 From: Mark Beierl Date: Sun, 8 May 2016 10:09:47 -0400 Subject: 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 --- storperf/db/job_db.py | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) (limited to 'storperf/db/job_db.py') 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 -- cgit 1.2.3-korg