# analyze_metrics.py import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import os os.makedirs("output", exist_ok=True) def analyze(): CSV_FILE = "output/rtt_throughput_log.csv" df = pd.read_csv(CSV_FILE) df['sent_ms'] = df['sent_ms'].astype(int) df['received_ms'] = df['received_ms'].astype(int) df['rtt_ms'] = df['rtt_ms'].astype(int) df['throughput_msg_per_s'] = df['throughput_msg_per_s'].astype(float) mean_rtt = df['rtt_ms'].mean() p95_rtt = df['rtt_ms'].quantile(0.95) mean_throughput = df['throughput_msg_per_s'].mean() print(f"Średnie RTT: {mean_rtt:.2f} ms") print(f"RTT 95-percentyl: {p95_rtt:.2f} ms") print(f"Średni throughput: {mean_throughput:.2f} msg/s") plt.figure(figsize=(6,4)) sns.barplot(x=['Variant A'], y=[mean_rtt], palette="Set2") plt.title("Średnie RTT - wariant A") plt.ylabel("RTT [ms]") plt.tight_layout() plt.savefig("output/rtt_mean_a.png") plt.show() plt.figure(figsize=(6,4)) sns.barplot(x=['Variant A'], y=[p95_rtt], palette="Set3") plt.title("RTT 95-percentyl - wariant A") plt.ylabel("RTT [ms]") plt.tight_layout() plt.savefig("output/rtt_p95_a.png") plt.show() plt.figure(figsize=(6,4)) sns.barplot(x=['Variant A'], y=[mean_throughput], palette="Set1") plt.title("Średni throughput - wariant A") plt.ylabel("Messages per second") plt.tight_layout() plt.savefig("output/throughput_a.png") plt.show()