summaryrefslogtreecommitdiff
path: root/common/scripts/min_max_avg_parse.py
blob: 543fe40199d5ba3cfa6ffcee12b0d1a859515327 (plain)
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
#!/usr/bin/python

import re
import sys
from numpy import *

values = []

r = re.compile(sys.argv[2] + "\s+(?P<measurement>[0-9.]+)")
f = open(sys.argv[1], "r")
for line in f.readlines():
    search = r.search(line)
    if search:
        values.append(float(search.group('measurement')))

try:
    sys.argv[4]
except IndexError:
    cmd_options = ""
else:
    cmd_options = sys.argv[4]

np_array = array(values)

format = "%-16s%-16s%-16s%-16s"
print format % (sys.argv[1].split('.', 1)[0] + cmd_options + "_min:", str(min(np_array)), sys.argv[3], "pass")
print format % (sys.argv[1].split('.', 1)[0] + cmd_options + "_max:", str(max(np_array)), sys.argv[3], "pass")
print format % (sys.argv[1].split('.', 1)[0] + cmd_options + "_avg:", str(mean(np_array)), sys.argv[3], "pass")
print format % (sys.argv[1].split('.', 1)[0] + cmd_options + "_mdn:", str(median(np_array)), sys.argv[3], "pass")
print format % (sys.argv[1].split('.', 1)[0] + cmd_options + "_std:", str(std(np_array)), sys.argv[3], "pass")