diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/saved/qlogdir/cquiche-client-retransmitts-crypto-data-if-server-does-not-answer.sqlog b/pq-tls-benchmark-framework/emulation-exp/code/kex/saved/qlogdir/cquiche-client-retransmitts-crypto-data-if-server-does-not-answer.sqlog
new file mode 100644
index 0000000000000000000000000000000000000000..4b2971bb47a87007542420c2fef1ca90d8e6eacc
--- /dev/null
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/saved/qlogdir/cquiche-client-retransmitts-crypto-data-if-server-does-not-answer.sqlog
@@ -0,0 +1,35 @@
+{"qlog_version":"0.3","qlog_format":"JSON-SEQ","title":"cquiche_s_timer qlog","description":"cquiche_s_timer qlog id=03a53f7432b4b68e28850a9fd3ac307daedcff4c","trace":{"vantage_point":{"type":"client"},"title":"cquiche_s_timer qlog","description":"cquiche_s_timer qlog id=03a53f7432b4b68e28850a9fd3ac307daedcff4c","configuration":{"time_offset":0.0}}}
+{"time":0.0,"name":"transport:parameters_set","data":{"owner":"local","tls_cipher":"None","disable_active_migration":false,"max_idle_timeout":30000,"max_udp_payload_size":1200,"ack_delay_exponent":3,"max_ack_delay":25,"active_connection_id_limit":2,"initial_max_data":10000000,"initial_max_stream_data_bidi_local":1000000,"initial_max_stream_data_bidi_remote":1000000,"initial_max_stream_data_uni":1000000,"initial_max_streams_bidi":100,"initial_max_streams_uni":100}}
+{"time":0.016152,"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":0,"version":"1","scil":20,"dcil":16,"scid":"03a53f7432b4b68e28850a9fd3ac307daedcff4c","dcid":"30b61430dc4a7d3d9e8b7eb59b3d1d1d"},"raw":{"length":1200,"payload_length":1137},"send_at_time":0.016152,"frames":[{"frame_type":"crypto","offset":0,"length":1133}]}}
+{"time":0.016152,"name":"recovery:metrics_updated","data":{"smoothed_rtt":333.0,"rtt_variance":166.5,"congestion_window":12000,"bytes_in_flight":1200,"ssthresh":18446744073709551615}}
+{"time":7.741624,"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":1,"version":"1","scil":20,"dcil":16,"scid":"03a53f7432b4b68e28850a9fd3ac307daedcff4c","dcid":"30b61430dc4a7d3d9e8b7eb59b3d1d1d"},"raw":{"length":1200,"payload_length":1137},"send_at_time":7.741624,"frames":[{"frame_type":"crypto","offset":1133,"length":1132}]}}
+{"time":7.741624,"name":"recovery:metrics_updated","data":{"bytes_in_flight":2400}}
+{"time":7.7863994,"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":2,"version":"1","scil":20,"dcil":16,"scid":"03a53f7432b4b68e28850a9fd3ac307daedcff4c","dcid":"30b61430dc4a7d3d9e8b7eb59b3d1d1d"},"raw":{"length":1200,"payload_length":1137},"send_at_time":7.7863994,"frames":[{"frame_type":"crypto","offset":2265,"length":1132}]}}
+{"time":7.7863994,"name":"recovery:metrics_updated","data":{"bytes_in_flight":3600}}
+{"time":7.800403,"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":3,"version":"1","scil":20,"dcil":16,"scid":"03a53f7432b4b68e28850a9fd3ac307daedcff4c","dcid":"30b61430dc4a7d3d9e8b7eb59b3d1d1d"},"raw":{"length":1200,"payload_length":1137},"send_at_time":7.800403,"frames":[{"frame_type":"crypto","offset":3397,"length":1132}]}}
+{"time":7.800403,"name":"recovery:metrics_updated","data":{"bytes_in_flight":4800}}
+{"time":7.812057,"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":4,"version":"1","scil":20,"dcil":16,"scid":"03a53f7432b4b68e28850a9fd3ac307daedcff4c","dcid":"30b61430dc4a7d3d9e8b7eb59b3d1d1d"},"raw":{"length":1200,"payload_length":1137},"send_at_time":7.812057,"frames":[{"frame_type":"crypto","offset":4529,"length":1132}]}}
+{"time":7.812057,"name":"recovery:metrics_updated","data":{"bytes_in_flight":6000}}
+{"time":7.823609,"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":5,"version":"1","scil":20,"dcil":16,"scid":"03a53f7432b4b68e28850a9fd3ac307daedcff4c","dcid":"30b61430dc4a7d3d9e8b7eb59b3d1d1d"},"raw":{"length":1200,"payload_length":1137},"send_at_time":7.823609,"frames":[{"frame_type":"crypto","offset":5661,"length":1132}]}}
+{"time":7.823609,"name":"recovery:metrics_updated","data":{"bytes_in_flight":7200}}
+{"time":7.841089,"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":6,"version":"1","scil":20,"dcil":16,"scid":"03a53f7432b4b68e28850a9fd3ac307daedcff4c","dcid":"30b61430dc4a7d3d9e8b7eb59b3d1d1d"},"raw":{"length":1200,"payload_length":1137},"send_at_time":7.841089,"frames":[{"frame_type":"crypto","offset":6793,"length":1132}]}}
+{"time":7.841089,"name":"recovery:metrics_updated","data":{"bytes_in_flight":8400}}
+{"time":7.8525376,"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":7,"version":"1","scil":20,"dcil":16,"scid":"03a53f7432b4b68e28850a9fd3ac307daedcff4c","dcid":"30b61430dc4a7d3d9e8b7eb59b3d1d1d"},"raw":{"length":1200,"payload_length":1137},"send_at_time":7.8525376,"frames":[{"frame_type":"crypto","offset":7925,"length":1132}]}}
+{"time":7.8525376,"name":"recovery:metrics_updated","data":{"bytes_in_flight":9600}}
+{"time":7.863272,"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":8,"version":"1","scil":20,"dcil":16,"scid":"03a53f7432b4b68e28850a9fd3ac307daedcff4c","dcid":"30b61430dc4a7d3d9e8b7eb59b3d1d1d"},"raw":{"length":858,"payload_length":795},"send_at_time":7.863272,"frames":[{"frame_type":"crypto","offset":9057,"length":790}]}}
+{"time":7.863272,"name":"recovery:metrics_updated","data":{"bytes_in_flight":10458}}
+{"time":1007.59674,"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":9,"version":"1","scil":20,"dcil":16,"scid":"03a53f7432b4b68e28850a9fd3ac307daedcff4c","dcid":"30b61430dc4a7d3d9e8b7eb59b3d1d1d"},"raw":{"length":1200,"payload_length":1137},"send_at_time":1007.59674,"frames":[{"frame_type":"crypto","offset":0,"length":1133}]}}
+{"time":1007.59674,"name":"recovery:metrics_updated","data":{"bytes_in_flight":11658}}
+{"time":3010.6992,"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":10,"version":"1","scil":20,"dcil":16,"scid":"03a53f7432b4b68e28850a9fd3ac307daedcff4c","dcid":"30b61430dc4a7d3d9e8b7eb59b3d1d1d"},"raw":{"length":1200,"payload_length":1137},"send_at_time":3010.6992,"frames":[{"frame_type":"crypto","offset":0,"length":1133}]}}
+{"time":3010.6992,"name":"recovery:metrics_updated","data":{"bytes_in_flight":12858}}
+{"time":3010.757,"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":11,"version":"1","scil":20,"dcil":16,"scid":"03a53f7432b4b68e28850a9fd3ac307daedcff4c","dcid":"30b61430dc4a7d3d9e8b7eb59b3d1d1d"},"raw":{"length":1200,"payload_length":1137},"send_at_time":3010.757,"frames":[{"frame_type":"crypto","offset":1133,"length":1132}]}}
+{"time":3010.757,"name":"recovery:metrics_updated","data":{"bytes_in_flight":14058}}
+{"time":7010.944,"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":12,"version":"1","scil":20,"dcil":16,"scid":"03a53f7432b4b68e28850a9fd3ac307daedcff4c","dcid":"30b61430dc4a7d3d9e8b7eb59b3d1d1d"},"raw":{"length":1200,"payload_length":1137},"send_at_time":7010.944,"frames":[{"frame_type":"crypto","offset":0,"length":1133}]}}
+{"time":7010.944,"name":"recovery:metrics_updated","data":{"bytes_in_flight":15258}}
+{"time":7011.1675,"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":13,"version":"1","scil":20,"dcil":16,"scid":"03a53f7432b4b68e28850a9fd3ac307daedcff4c","dcid":"30b61430dc4a7d3d9e8b7eb59b3d1d1d"},"raw":{"length":1200,"payload_length":1137},"send_at_time":7011.1675,"frames":[{"frame_type":"crypto","offset":1133,"length":1132}]}}
+{"time":7011.1675,"name":"recovery:metrics_updated","data":{"bytes_in_flight":16458}}
+{"time":15022.2295,"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":14,"version":"1","scil":20,"dcil":16,"scid":"03a53f7432b4b68e28850a9fd3ac307daedcff4c","dcid":"30b61430dc4a7d3d9e8b7eb59b3d1d1d"},"raw":{"length":1200,"payload_length":1137},"send_at_time":15022.2295,"frames":[{"frame_type":"crypto","offset":0,"length":1133}]}}
+{"time":15022.2295,"name":"recovery:metrics_updated","data":{"bytes_in_flight":17658}}
+{"time":15022.411,"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":15,"version":"1","scil":20,"dcil":16,"scid":"03a53f7432b4b68e28850a9fd3ac307daedcff4c","dcid":"30b61430dc4a7d3d9e8b7eb59b3d1d1d"},"raw":{"length":1200,"payload_length":1137},"send_at_time":15022.411,"frames":[{"frame_type":"crypto","offset":1133,"length":1132}]}}
+{"time":15022.411,"name":"recovery:metrics_updated","data":{"bytes_in_flight":18858}}
+{"time":30017.71,"name":"connectivity:connection_closed","data":{"owner":"local","reason":"Failed to establish connection","trigger":"handshake_timeout"}}
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/saved/qlogdir/quic_s_timer-retransmitts-ping-on-pto-if-server-does-not-answer.sqlog b/pq-tls-benchmark-framework/emulation-exp/code/kex/saved/qlogdir/quic_s_timer-retransmitts-ping-on-pto-if-server-does-not-answer.sqlog
new file mode 100644
index 0000000000000000000000000000000000000000..c64416bc4ac3e50b287a041a4c9de2abdb394f3a
--- /dev/null
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/saved/qlogdir/quic_s_timer-retransmitts-ping-on-pto-if-server-does-not-answer.sqlog
@@ -0,0 +1,18 @@
+{"qlog_version":"0.3","qlog_format":"JSON-SEQ","trace":{"common_fields":{"time_format":"delta","protocol_type":["QUIC"],"system_info":{"process_id":105068}},"vantage_point":{"type":"client","name":"OpenSSL/3.4.0 (linux-x86_64)"}}}
+{"name":"transport:parameters_set","data":{"owner":"local","disable_active_migration":true,"initial_source_connection_id":"","max_idle_timeout":30000,"max_udp_payload_size":1200,"active_connection_id_limit":2,"max_ack_delay":25,"initial_max_data":786432,"initial_max_stream_data_bidi_local":524288,"initial_max_stream_data_bidi_remote":524288,"initial_max_stream_data_uni":524288,"initial_max_streams_bidi":100,"initial_max_streams_uni":100},"time":1739804607100}
+{"name":"connectivity:connection_state_updated","data":{"state":"attempted"},"time":0}
+{"name":"connectivity:connection_started","data":{"protocol":"quic","dst_cid":"6a4ef45c1df3cd0a"},"time":0}
+{"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":0,"dcid":"6a4ef45c1df3cd0a","scid":""},"datagram_id":0,"frames":[{"frame_type":"crypto","offset":0,"payload_length":1158,"length":4}]},"time":4}
+{"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":1,"dcid":"6a4ef45c1df3cd0a","scid":""},"datagram_id":1,"frames":[{"frame_type":"crypto","offset":1158,"payload_length":1157,"length":5}]},"time":0}
+{"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":2,"dcid":"6a4ef45c1df3cd0a","scid":""},"datagram_id":2,"frames":[{"frame_type":"crypto","offset":2315,"payload_length":1157,"length":5}]},"time":0}
+{"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":3,"dcid":"6a4ef45c1df3cd0a","scid":""},"datagram_id":3,"frames":[{"frame_type":"crypto","offset":3472,"payload_length":1157,"length":5}]},"time":0}
+{"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":4,"dcid":"6a4ef45c1df3cd0a","scid":""},"datagram_id":4,"frames":[{"frame_type":"crypto","offset":4629,"payload_length":1157,"length":5}]},"time":0}
+{"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":5,"dcid":"6a4ef45c1df3cd0a","scid":""},"datagram_id":5,"frames":[{"frame_type":"crypto","offset":5786,"payload_length":1157,"length":5}]},"time":0}
+{"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":6,"dcid":"6a4ef45c1df3cd0a","scid":""},"datagram_id":6,"frames":[{"frame_type":"crypto","offset":6943,"payload_length":1157,"length":5}]},"time":0}
+{"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":7,"dcid":"6a4ef45c1df3cd0a","scid":""},"datagram_id":7,"frames":[{"frame_type":"crypto","offset":8100,"payload_length":1157,"length":5}]},"time":0}
+{"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":8,"dcid":"6a4ef45c1df3cd0a","scid":""},"datagram_id":8,"frames":[{"frame_type":"crypto","offset":9257,"payload_length":683,"length":5},{"frame_type":"padding","payload_length":474,"length":474}]},"time":0}
+{"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":9,"dcid":"6a4ef45c1df3cd0a","scid":""},"datagram_id":9,"frames":[{"frame_type":"ping","length":1},{"frame_type":"padding","payload_length":1161,"length":1161}]},"time":999}
+{"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":10,"dcid":"6a4ef45c1df3cd0a","scid":""},"datagram_id":10,"frames":[{"frame_type":"ping","length":1},{"frame_type":"padding","payload_length":1161,"length":1161}]},"time":2001}
+{"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":11,"dcid":"6a4ef45c1df3cd0a","scid":""},"datagram_id":11,"frames":[{"frame_type":"ping","length":1},{"frame_type":"padding","payload_length":1161,"length":1161}]},"time":3998}
+{"name":"transport:packet_sent","data":{"header":{"packet_type":"initial","packet_number":12,"dcid":"6a4ef45c1df3cd0a","scid":""},"datagram_id":12,"frames":[{"frame_type":"ping","length":1},{"frame_type":"padding","payload_length":1161,"length":1161}]},"time":7999}
+{"name":"connectivity:connection_state_updated","data":{"state":"closed"},"time":15001}
diff --git a/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/generate_graphs.py b/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/generate_graphs.py
index c74988d55e63b6d68514ddff715bd7e9bbaceb79..545f5b30515e719d2b280d350e2dcd2df0f819c3 100755
--- a/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/generate_graphs.py
+++ b/pq-tls-benchmark-framework/emulation-exp/code/kex/scripts/generate_graphs.py
@@ -833,21 +833,27 @@ def plot_lines(data):
             )
             plt.close()
 
-    def plot_lines_for_comparisons_between_protocols(data, line_type="median"):
+    def plot_lines_for_comparisons_between_protocols(
+        data, line_type="median", only_cquiche=False
+    ):
         os.makedirs(
-            f"{PLOTS_DIR}/lines/between-protocols/comparison-of-{line_type}s",
+            f"{PLOTS_DIR}/lines/between-protocols/comparison-of-{line_type}s/only-cquiche-clients",
             mode=0o777,
             exist_ok=True,
         )
 
+        ldata = data
+        if only_cquiche:
+            ldata = ldata[ldata["protocol"].str.startswith("cquiche")]
+
         # sec_level is only needed for the filename
-        unique_combinations = data[
+        unique_combinations = ldata[
             ["scenario", "kem_alg", "sec_level"]
         ].drop_duplicates()
 
         for _, row in unique_combinations.iterrows():
             filtered_data = filter_data(
-                data,
+                ldata,
                 scenario=row["scenario"],
                 kem_alg=row["kem_alg"],
             )
@@ -878,6 +884,9 @@ def plot_lines(data):
 
             subdir = ""
             appendix = ""
+            if only_cquiche:
+                subdir = "only-cquiche-clients/"
+                appendix = "-only-cquiche-clients"
             plt.savefig(
                 f"{PLOTS_DIR}/lines/between-protocols/comparison-of-{line_type}s/{subdir}{line_type}-{row['scenario']}-{row['sec_level']}-{row['kem_alg']}{appendix}.pdf"
             )
@@ -961,7 +970,10 @@ def plot_lines(data):
             data, line_type=statistical_measurement, combined_with_hybrids=True
         )
         plot_lines_for_comparisons_between_protocols(
-            data, line_type=statistical_measurement
+            data, line_type=statistical_measurement, only_cquiche=False
+        )
+        plot_lines_for_comparisons_between_protocols(
+            data, line_type=statistical_measurement, only_cquiche=True
         )
         plot_lines_for_tcp_and_cquiche_cubic_for_a_sec_level(
             data, line_type=statistical_measurement
@@ -1210,6 +1222,7 @@ def plot_distributions(data):
 
     plot_cdf_of_sec_level(data, cutoff=None)
     plot_cdf_of_sec_level(data, cutoff=2000)
+    plot_cdf_of_sec_level(data, cutoff=5000)
 
 
 # TODO make a violinplot/eventplot for many algos in static scenario