import pandas as pd FEATHERS_DIR = "feathers" import generate_graphs as gg import helper_scripts.helper_functions as hf def main(): data = pd.read_feather(f"{FEATHERS_DIR}/data.feather") # print_kem_ids() # stats_of_qtl95_of_packetloss(data) error_count_and_rate(data) def stats_of_qtl95_of_packetloss(data): ldata = data print("Stats of qtl95") ldata = gg.filter_data(ldata, scenario="packetloss", protocol="quic") ldata = ldata.query("kem_alg == 'x25519' or kem_alg == 'frodo640aes'") # ldata = ldata.query("kem_alg == 'mlkem1024' or kem_alg == 'frodo1344aes'") # ldata = ldata.query print("Showing data of packetloss quic") ldata = ldata.drop( columns=[ "scenario", "protocol", "sec_level", "cli_pkt_loss", "cli_delay", "cli_rate", "measurements", ] ) print(ldata) def error_count_and_rate(data): print("Error count and rate") ldata = data print("Total index length") print(len(ldata.index)) print("Total error count") print( ldata["error_count"].sum() ) # Grep tells there are 83996 CRYPTO_BUFFER_EXCEEDEDs, while total error count is just a bit above it 84186 ldata = ldata.query("error_count > 0") print("Total index length with error count > 0") print(len(ldata.index)) ldata = ldata[~ldata["kem_alg"].str.contains("frodo")] print("Total index length with error count > 0 and without frodo") print(len(ldata.index)) print( ldata[ [ "scenario", "protocol", "sec_level", "kem_alg", "error_count", "error_rate", ] ] ) # print(ldata["scenario"].unique()) # all 10 scenarios print("With error count > 1") ldata = ldata.query("error_count > 1") print( ldata[ [ "scenario", "protocol", "sec_level", "kem_alg", "error_count", "error_rate", ] ] ) def print_kem_ids(): data = hf.get_kem_ids() print(data) main()