aboutsummaryrefslogtreecommitdiffstats
path: root/plot_ohead.py
blob: 974832b4a76d38c2359cb9240922136917a6e099 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/env python
from gnuplot import gnuplot, FORMATS


plugins = ['GSN-EDF', 'G-EDF', 'GQ-EDF', 'GHQ-EDF']
master  = ['NO_CPU', '3']
events  = ['SCHED', 'SCHED2', 'TICK', 'CXS', 'RELEASE', 'SEND_RESCHED']

def graph(plugin, master, event, wc):
    return ['%s.R-%s.%s.csv' % (plugin, master, event), 1, 3 if wc else 2,
            '%s %s %s %s' % (plugin, event, 'RM' if master != 'NO_CPU' else '',
                             'WC' if wc else 'AVG')]

def by_event(wc):
    for e in events:
        gs = []
        for p in plugins:
            for m in master:
                if (p != 'GHQ-EDF' or m == 'NO_CPU') and \
                        (p != 'GQ-EDF' or e != 'SEND_RESCHED'):
                    gs += [graph(p, m, e, wc)]
        gnuplot(gs, title='%s %s' % (e, 'WC' if wc else 'AVG'))

def by_plugin(wc):
    for p in plugins:
        gs = []
        for e in events:
            for m in master:
                if (p != 'GHQ-EDF' or m == 'NO_CPU') and \
                        (p != 'GQ-EDF' or e != 'SEND_RESCHED'):
                    gs += [graph(p, m, e, wc)]
        gnuplot(gs, title='%s %s' % (p, 'WC' if wc else 'AVG'))

#by_event(True)
#by_event(False)

by_plugin(True)
by_plugin(False)