research/rln-delay-simulations/analyze.py

27 lines
984 B
Python
Raw Normal View History

2023-10-20 07:57:43 +00:00
import numpy as np
import sys
def load(file_name, field):
latencies = []
with open(file_name, "r") as file:
for line in file.readlines():
if field in line:
# first message bias the latency due to tcp flow control
if "seq=" in line:
seq = int(line.strip().split("seq=")[1].split(" ")[0])
if seq in [0]:
continue
x = line.strip().split(field)[1].split(" ")[0]
latencies.append(int(x))
return np.array(latencies)
if __name__ == "__main__":
file = sys.argv[1]
field = sys.argv[2]
array = load(file, field)
print("Data file:", file, "field:", field)
print(f"number_samples={array.size}")
print(f"Percentiles. P75={np.percentile(array, 75)} P95={np.percentile(array, 95)}")
2023-10-25 09:10:42 +00:00
print(f"Statistics. mean={np.mean(array)} max={array.max()} min={array.min()}")
print(f"Statistics. var={np.var(array)}")