diff options
| author | Björn B. Brandenburg <bbb@cs.unc.edu> | 2010-06-08 21:40:18 -0400 |
|---|---|---|
| committer | Björn B. Brandenburg <bbb@cs.unc.edu> | 2010-06-08 21:40:18 -0400 |
| commit | 9c35a356c25ce5761925cdf0da621b0d9cb50e18 (patch) | |
| tree | aab5b74322dceabc3a55246b2c7a68f4e315a85e | |
| parent | 67ae8f6ec0ed6a727d73ad45806bfd50804c35b2 (diff) | |
Support plotting of RTSS'08 graphs.
| -rwxr-xr-x | plot.py | 47 |
1 files changed, 47 insertions, 0 deletions
| @@ -298,6 +298,51 @@ class SchedPlotter(defapp.App): | |||
| 298 | else: | 298 | else: |
| 299 | p.gnuplot_exec() | 299 | p.gnuplot_exec() |
| 300 | 300 | ||
| 301 | |||
| 302 | def plot_rtss08(self, tmpfile, name, conf): | ||
| 303 | p = self.make_plot(name) | ||
| 304 | |||
| 305 | #### Data. | ||
| 306 | |||
| 307 | titles = ['P-EDF', 'C-EDF', 'G-EDF', 'PFAIR', 'S-PFAIR', 'G-NP-EDF'] | ||
| 308 | if 'hard' in conf: | ||
| 309 | del titles[-1] | ||
| 310 | |||
| 311 | p.curves += [curve(fname=tmpfile, xcol=1, ycol=(y + 2), title=t) | ||
| 312 | for (y, t) in enumerate(titles)] | ||
| 313 | |||
| 314 | #### Styling. | ||
| 315 | |||
| 316 | if not self.setup_png(p): | ||
| 317 | # eps or pdf | ||
| 318 | p.rounded_caps = True | ||
| 319 | p.font = 'Helvetica' | ||
| 320 | |||
| 321 | p.font_size = '10' | ||
| 322 | p.size = ('20cm', '10cm') | ||
| 323 | p.monochrome = False | ||
| 324 | p.dashed_lines = False | ||
| 325 | p.key = 'below' | ||
| 326 | |||
| 327 | p.xticks = (0, 1) | ||
| 328 | p.yrange = (-0.05, 1.05) | ||
| 329 | p.yticks = (0, 0.1) | ||
| 330 | p.xlabel = "ucap (prior to inflation)" | ||
| 331 | p.default_style = 'linespoints lw 5' | ||
| 332 | |||
| 333 | p.ylabel = "schedulability " + (' [soft]' if 'soft' in conf else ' [hard]') | ||
| 334 | p.xrange = (0.5, 32.5) | ||
| 335 | |||
| 336 | p.title = scenario_heading(conf, True) | ||
| 337 | if not self.options.paper: | ||
| 338 | p.title = "RTSS'08 " + p.title | ||
| 339 | |||
| 340 | if self.options.save_script: | ||
| 341 | p.gnuplot_save(p.output + '.plot') | ||
| 342 | else: | ||
| 343 | p.gnuplot_exec() | ||
| 344 | |||
| 345 | |||
| 301 | def plot_rtss09(self, tmpfile, name, conf): | 346 | def plot_rtss09(self, tmpfile, name, conf): |
| 302 | title = scenario_heading(conf, want_period=True) | 347 | title = scenario_heading(conf, want_period=True) |
| 303 | graphs = [ | 348 | graphs = [ |
| @@ -426,6 +471,8 @@ class SchedPlotter(defapp.App): | |||
| 426 | self.plot_spec4(tmpfile.name, name, conf) | 471 | self.plot_spec4(tmpfile.name, name, conf) |
| 427 | elif 'irq' in conf: | 472 | elif 'irq' in conf: |
| 428 | self.plot_irq(tmpfile.name, name, conf) | 473 | self.plot_irq(tmpfile.name, name, conf) |
| 474 | elif 'rtss08' in conf: | ||
| 475 | self.plot_rtss08(tmpfile.name, name, conf) | ||
| 429 | elif 'rtss09' in conf: | 476 | elif 'rtss09' in conf: |
| 430 | if self.options.split: | 477 | if self.options.split: |
| 431 | self.plot_rtss09_split(tmpfile.name, name, conf) | 478 | self.plot_rtss09_split(tmpfile.name, name, conf) |
