Add Jenkins and job results parsing scripts
[lttng-ci.git] / scripts / lttng-baremetal-tests / parse-results.py
CommitLineData
b3d73c46
FD
1#! /usr/bin/python3
2from subprocess import call
3import sys
4import numpy as np
5import pandas as pd
6
7def 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
40def 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
52if __name__ == '__main__':
53 main()
This page took 0.025768 seconds and 4 git commands to generate.