32 lines
859 B
Python
32 lines
859 B
Python
|
#!/usr/bin/python3
|
||
|
import sys,re
|
||
|
|
||
|
owd = f"./out/{sys.argv[1]}/log/server-udpecho-stdout.log"
|
||
|
rtt = f"./out/{sys.argv[1]}/res/{sys.argv[2]}.csv"
|
||
|
|
||
|
agg = {}
|
||
|
last_pkt = 0
|
||
|
|
||
|
with open(owd, 'r') as f:
|
||
|
for line in f:
|
||
|
res = re.match(r".*Packet (\d+) latency (\d+)µs", line)
|
||
|
if not res: continue
|
||
|
pkt_id,lat = res.groups()
|
||
|
pkt_id,lat = int(pkt_id), int(lat)
|
||
|
agg[pkt_id] = {"owd": lat }
|
||
|
|
||
|
with open(rtt, 'r') as f:
|
||
|
for line in f:
|
||
|
res = re.match(r".*Packet (\d+) latency (\d+)µs", line)
|
||
|
if not res: continue
|
||
|
pkt_id,lat = res.groups()
|
||
|
pkt_id,lat = int(pkt_id), int(lat)
|
||
|
agg[pkt_id]["rtt"] = lat
|
||
|
last_pkt = pkt_id
|
||
|
|
||
|
for i in range(last_pkt):
|
||
|
if i not in agg: continue
|
||
|
if "rtt" not in agg[i]: continue
|
||
|
|
||
|
print(abs((agg[i]["rtt"] - 2*agg[i]["owd"]) / 1000), agg[i]["owd"] / 1000, (agg[i]["rtt"] - agg[i]["owd"]) / 1000, i)
|