Commit | Line | Data |
---|---|---|
b3d73c46 FD |
1 | #! /usr/bin/python3 |
2 | from subprocess import call | |
3 | import sys | |
4 | import numpy as np | |
5 | import pandas as pd | |
6 | ||
7 | def test_case(df): | |
8 | df['nsecperiter']=(df['duration']*1000)/(df['nbiter']) | |
9 | stdev = pd.DataFrame({'perevent_stdev' : | |
10 | df.groupby(['nbthreads', 'tracer', 'testcase','sleeptime'])['nsecperiter'].std()}).reset_index() | |
11 | mean = pd.DataFrame({'perevent_mean' : | |
12 | df.groupby(['nbthreads', 'tracer', 'testcase','sleeptime'])['nsecperiter'].mean()}).reset_index() | |
13 | mem_mean = pd.DataFrame({'mem_mean' : | |
14 | df.groupby(['nbthreads','tracer','testcase','sleeptime'])['maxmem'].mean()}).reset_index() | |
15 | mem_stdev = pd.DataFrame({'mem_stdev' : | |
16 | df.groupby(['nbthreads','tracer','testcase','sleeptime'])['maxmem'].std()}).reset_index() | |
17 | tmp = mean.merge(stdev) | |
18 | tmp = tmp.merge(mem_mean) | |
19 | tmp = tmp.merge(mem_stdev) | |
20 | ||
21 | ||
22 | for i, row in tmp.iterrows(): | |
23 | testcase_name='_'.join([row['tracer'],str(row['nbthreads'])+'thr', 'pereventmean']) | |
24 | yield( {"name": testcase_name, "result": "pass", "units": "nsec/event", | |
25 | "measurement": str(row['perevent_mean'])}) | |
26 | ||
27 | testcase_name='_'.join([row['tracer'],str(row['nbthreads'])+'thr', 'pereventstdev']) | |
28 | yield( {"name": testcase_name, "result": "pass", "units": "nsec/event", | |
29 | "measurement": str(row['perevent_stdev'])}) | |
30 | ||
31 | testcase_name='_'.join([row['tracer'],str(row['nbthreads'])+'thr', 'memmean']) | |
32 | yield( {"name": testcase_name, "result": "pass", "units": "kB", | |
33 | "measurement": str(row['mem_mean'])}) | |
34 | ||
35 | testcase_name='_'.join([row['tracer'],str(row['nbthreads'])+'thr', 'memstdev']) | |
36 | yield( {"name": testcase_name, "result": "pass", "units": "kB", | |
37 | "measurement": str(row['mem_stdev'])}) | |
38 | ||
39 | ||
40 | def main(): | |
41 | results_file=sys.argv[1] | |
42 | df = pd.read_csv(results_file) | |
43 | data = test_case(df) | |
44 | for res in data: | |
45 | call( | |
46 | ['lava-test-case', | |
47 | res['name'], | |
48 | '--result', res['result'], | |
49 | '--measurement', res['measurement'], | |
50 | '--units', res['units']]) | |
51 | ||
52 | if __name__ == '__main__': | |
53 | main() |