aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn B. Brandenburg <bbb@cs.unc.edu>2010-06-09 15:16:41 -0400
committerBjörn B. Brandenburg <bbb@cs.unc.edu>2010-06-09 15:16:41 -0400
commit05da44afb031ceefc3e6e97d3c34b5b3a05472a8 (patch)
tree950b0114c62d4a6e7d5100430f5a8b041fb30381
parent26778e546b294372f84433a5657334b1975e8ae6 (diff)
add --experiment option for override
-rwxr-xr-xplot.py46
1 files changed, 27 insertions, 19 deletions
diff --git a/plot.py b/plot.py
index f1b073c..baff939 100755
--- a/plot.py
+++ b/plot.py
@@ -15,6 +15,9 @@ options = [
15 choices=FORMATS, help='output format'), 15 choices=FORMATS, help='output format'),
16 o(None, '--save-script', action='store_true', dest='save_script'), 16 o(None, '--save-script', action='store_true', dest='save_script'),
17 17
18 o('-e', '--experiment', action='store', dest='experiment',
19 help="override auto-detection of experiment"),
20
18 # formatting options 21 # formatting options
19 # These may or may not be supported by a particular experiment plotter. 22 # These may or may not be supported by a particular experiment plotter.
20 o(None, '--paper', action='store_true', dest='paper'), 23 o(None, '--paper', action='store_true', dest='paper'),
@@ -27,6 +30,7 @@ options = [
27defaults = { 30defaults = {
28 # output options 31 # output options
29 'format' : 'show', 32 'format' : 'show',
33 'experiment' : None,
30 'save_script' : False, 34 'save_script' : False,
31 35
32 # formatting options 36 # formatting options
@@ -490,25 +494,29 @@ class SchedPlotter(defapp.App):
490 except IOError: 494 except IOError:
491 tmpfile = None 495 tmpfile = None
492 if tmpfile: 496 if tmpfile:
493 if 'spec' in conf: 497 plotters = {
494 self.plot_spec(tmpfile.name, name, conf) 498 'spec' : self.plot_spec,
495 elif 'spec2' in conf: 499 'spec2' : self.plot_spec2,
496 self.plot_spec2(tmpfile.name, name, conf) 500 'spec3' : self.plot_spec3,
497 elif 'spec3' in conf: 501 'spec4' : self.plot_spec4,
498 self.plot_spec3(tmpfile.name, name, conf) 502 'irq' : self.plot_irq,
499 elif 'spec4' in conf: 503 'rtss08' : self.plot_rtss08,
500 self.plot_spec4(tmpfile.name, name, conf) 504 'rtss09' : self.plot_rtss09_split if self.options.split else self.plot_rtss09,
501 elif 'irq' in conf: 505 'ospert10' : self.plot_ospert10,
502 self.plot_irq(tmpfile.name, name, conf) 506 }
503 elif 'rtss08' in conf: 507
504 self.plot_rtss08(tmpfile.name, name, conf) 508 if self.options.experiment:
505 elif 'rtss09' in conf: 509 # override provided
506 if self.options.split: 510 plot_type = self.options.experiment
507 self.plot_rtss09_split(tmpfile.name, name, conf) 511 else:
508 else: 512 # no type provided, try each plotter
509 self.plot_rtss09(tmpfile.name, name, conf) 513 for plot_type in plotters:
510 elif 'ospert10' in conf: 514 if plot_type in conf:
511 self.plot_ospert10(tmpfile.name, name, conf) 515 break
516 if not plot_type in conf:
517 plot_type = 'unknown'
518 if plot_type in plotters:
519 plotters[plot_type](tmpfile.name, name, conf)
512 else: 520 else:
513 self.err("Skipped '%s'; unkown experiment type." 521 self.err("Skipped '%s'; unkown experiment type."
514 % bname) 522 % bname)