Add HA Test Cases in Test Suite
[yardstick.git] / yardstick / plot / plotter.py
index f3fb75d..4cbbdfe 100644 (file)
@@ -36,6 +36,7 @@ class Parser(object):
             'fio': []
         }
         self.default_input_loc = "/tmp/yardstick.out"
+        self.scenarios = {}
 
     def _get_parser(self):
         '''get a command-line parser'''
@@ -59,7 +60,11 @@ class Parser(object):
 
     def _add_record(self, record):
         '''add record to the relevant scenario'''
-        runner_object = record['sargs']['runner']['object']
+        if "runner_id" in record and "benchmark" not in record:
+            obj_name = record["scenario_cfg"]["runner"]["object"]
+            self.scenarios[record["runner_id"]] = obj_name
+            return
+        runner_object = self.scenarios[record["runner_id"]]
         for test_type in self.data.keys():
             if test_type in runner_object:
                 self.data[test_type].append(record)
@@ -125,7 +130,7 @@ class Plotter(object):
 
     def _plot_ping(self, records):
         '''ping test result interpretation and visualization on the graph'''
-        rtts = [r['benchmark']['data'] for r in records]
+        rtts = [r['benchmark']['data']['rtt'] for r in records]
         seqs = [r['benchmark']['sequence'] for r in records]
 
         for i in range(0, len(rtts)):
@@ -213,16 +218,16 @@ class Plotter(object):
             is_rw_type = rw_types[i] == "rw" or rw_types[i] == "randrw"
 
             if is_r_type or is_rw_type:
-                # Remove trailing 'usec' and convert to float
+                # Convert to float
                 data['read_lat'] = \
-                    [r['benchmark']['data']['read_lat'][:-4] for r in records]
+                    [r['benchmark']['data']['read_lat'] for r in records]
                 data['read_lat'] = \
                     [float(i) for i in data['read_lat']]
-                # Remove trailing 'KB/s' and convert to float
+                # Convert to int
                 data['read_bw'] = \
-                    [r['benchmark']['data']['read_bw'][:-4] for r in records]
+                    [r['benchmark']['data']['read_bw'] for r in records]
                 data['read_bw'] =  \
-                    [float(i) for i in data['read_bw']]
+                    [int(i) for i in data['read_bw']]
                 # Convert to int
                 data['read_iops'] = \
                     [r['benchmark']['data']['read_iops'] for r in records]
@@ -231,14 +236,14 @@ class Plotter(object):
 
             if is_w_type or is_rw_type:
                 data['write_lat'] = \
-                    [r['benchmark']['data']['write_lat'][:-4] for r in records]
+                    [r['benchmark']['data']['write_lat'] for r in records]
                 data['write_lat'] = \
                     [float(i) for i in data['write_lat']]
 
                 data['write_bw'] = \
-                    [r['benchmark']['data']['write_bw'][:-4] for r in records]
+                    [r['benchmark']['data']['write_bw'] for r in records]
                 data['write_bw'] = \
-                    [float(i) for i in data['write_bw']]
+                    [int(i) for i in data['write_bw']]
 
                 data['write_iops'] = \
                     [r['benchmark']['data']['write_iops'] for r in records]