tor_multipath_voip/scripts/boxplot.py

36 lines
1.1 KiB
Python
Raw Normal View History

2019-10-31 17:05:47 +00:00
#!/usr/bin/python3
import sys, re
current_run="none"
d = {}
input()
for line in sys.stdin:
packet_id,latency,flag,link_id,vanilla,way,run,conf = line.split(",")
conf = conf.rstrip()
if int(packet_id) > 7400 or int(packet_id) < 10: continue
latency = int(latency)
if conf not in d: d[conf] = {}
if (run,way,packet_id) not in d[conf]:
d[conf][(run,way,packet_id)] = latency
else:
d[conf][(run,way,packet_id)] = min(latency, d[conf][(run,way,packet_id)])
#print("strat,window,decile,latency")
print("links,strat,decile,latency")
for conf,value in d.items():
s = sorted(value.values())
szs = len(s)
#m = re.match(r".*tick_tock=(\d+).+window=(\d+)", conf)
m = re.match(r"^(\d+).*tick_tock=(\d+)", conf)
print(f"{m[1]},{m[2]},MIN,{s[0]}")
print(f"{m[1]},{m[2]},D0.1,{s[int(szs*0.001)]}")
print(f"{m[1]},{m[2]},D1,{s[int(szs*0.01)]}")
print(f"{m[1]},{m[2]},D25,{s[int(szs*0.25)]}")
print(f"{m[1]},{m[2]},D50,{s[int(szs*0.5)]}")
print(f"{m[1]},{m[2]},D75,{s[int(szs*0.75)]}")
print(f"{m[1]},{m[2]},D99,{s[int(szs*0.99)]}")
print(f"{m[1]},{m[2]},D99.9,{s[int(szs*0.999)]}")
print(f"{m[1]},{m[2]},MAX,{s[-1]}")