summaryrefslogtreecommitdiff
path: root/common/scripts/min_max_avg_parse.py
blob: 1735e34092324694d5b75c0d061cd1f9ddfbefd1 (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")