Check in new benchmark results
[bluesky.git] / results / parse-sfsres.py
index 96de28a..7890715 100755 (executable)
@@ -13,6 +13,8 @@ def extract_re(lines, regexp):
         m = regexp.match(l)
         if m: return m
 
+OPERATIONS = ('read', 'write', 'create', 'setattr', 'lookup', 'getattr')
+
 def parse_run(lines, timestamp, outfp=sys.stdout):
     #print timestamp
     requested_load = extract_re(lines, r"\s*Requested Load.*= (\d+)")
@@ -25,14 +27,25 @@ def parse_run(lines, timestamp, outfp=sys.stdout):
     for l in lines:
         m = regexp.match(l)
         if m:
-            table[m.group(1)] = [float(m.group(i)) for i in range(2, 11)]
+            try:
+                table[m.group(1)] = [float(m.group(i)) for i in range(2, 11)]
+            except:
+                #sys.stderr.write("Error parsing line: " + l.strip() + "\n")
+                pass
 
     outfp.write("%d\t%s\t%s" % (load, results.group(1), results.group(2)))
-    for o in ('read', 'write', 'getattr'):
-        outfp.write("\t%s\t%s" % (table[o][5], table[o][6]))
+    for o in OPERATIONS:
+        val = '-'
+        try: val = table[o][5]
+        except: pass
+        outfp.write("\t%s" % (val,))
     outfp.write("\n")
 
 def parse_sfsres(fp):
+    sys.stdout.write("# target_ops actual_ops latency_avg")
+    for o in OPERATIONS:
+        sys.stdout.write(" " + o)
+    sys.stdout.write("\n")
     timestamp = None
     run_data = []
     for line in fp: