| #print(transmission_df) | #print(transmission_df) | ||||
| # srtt to [s] | |||||
| transmission_df["srtt"] = transmission_df["srtt"].apply(lambda x: x / 10 ** 6) | |||||
| # key for columns and level for index | # key for columns and level for index | ||||
| transmission_df["goodput"] = transmission_df["payload_size"].groupby(pd.Grouper(level="datetime", freq="{}s".format(args.interval))).transform("sum") | transmission_df["goodput"] = transmission_df["payload_size"].groupby(pd.Grouper(level="datetime", freq="{}s".format(args.interval))).transform("sum") | ||||
| transmission_df["goodput"] = transmission_df["goodput"].apply( | transmission_df["goodput"] = transmission_df["goodput"].apply( | ||||
| p1, = ax.plot(transmission_df["goodput_rolling"], "-", color="blue", label="goodput") | p1, = ax.plot(transmission_df["goodput_rolling"], "-", color="blue", label="goodput") | ||||
| p2, = twin1.plot(transmission_df["downlink_cqi"], "--", color="green", label="CQI") | p2, = twin1.plot(transmission_df["downlink_cqi"], "--", color="green", label="CQI") | ||||
| p3, = twin2.plot(transmission_df["ack_rtt"], "-.", color="red", label="ACK RTT") | |||||
| p3, = twin2.plot(transmission_df["srtt"], "-.", color="red", label="sRTT") | |||||
| ax.set_xlim(transmission_df["index"].min(), transmission_df["index"].max()) | ax.set_xlim(transmission_df["index"].min(), transmission_df["index"].max()) | ||||
| ax.set_ylim(0, 500) | ax.set_ylim(0, 500) | ||||
| ax.set_xlabel("Time") | ax.set_xlabel("Time") | ||||
| ax.set_ylabel("Goodput") | ax.set_ylabel("Goodput") | ||||
| twin1.set_ylabel("CQI") | twin1.set_ylabel("CQI") | ||||
| twin2.set_ylabel("ACK RTT") | |||||
| twin2.set_ylabel("sRTT") | |||||
| ax.yaxis.label.set_color(p1.get_color()) | ax.yaxis.label.set_color(p1.get_color()) | ||||
| twin1.yaxis.label.set_color(p2.get_color()) | twin1.yaxis.label.set_color(p2.get_color()) | ||||
| # rtt cdf | # rtt cdf | ||||
| plt.clf() | plt.clf() | ||||
| print(transmission_df["ack_rtt"]) | |||||
| print("Calculate and polt rtt CDF...") | print("Calculate and polt rtt CDF...") | ||||
| plot_cdf(transmission_df, "ack_rtt") | |||||
| plt.xlabel("ACK RTT [s]") | |||||
| plot_cdf(transmission_df, "srtt") | |||||
| plt.xlabel("sRTT [s]") | |||||
| plt.ylabel("CDF") | plt.ylabel("CDF") | ||||
| plt.xscale("log") | plt.xscale("log") | ||||
| plt.legend([cc_algo]) | plt.legend([cc_algo]) | ||||
| plt.title("{} with {}".format(transmission_direction, cc_algo)) | plt.title("{} with {}".format(transmission_direction, cc_algo)) | ||||
| if args.save: | if args.save: | ||||
| plt.savefig("{}{}_cdf_plot.pdf".format(args.save, "ack_rtt")) | |||||
| plt.savefig("{}{}_cdf_plot.pdf".format(args.save, "srtt")) | |||||
| else: | else: | ||||
| plt.show() | plt.show() |