From d7d3f58716e69d77a9bf024ebfcb19f3dff8ac01 Mon Sep 17 00:00:00 2001 From: Nils Andreas Svee Date: Wed, 21 Oct 2026 12:07:41 +0700 Subject: [PATCH] fix(stats): restore directional IPDV for midpoint timestamps --- crates/irtt-stats/src/normalization.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/crates/irtt-stats/src/normalization.rs b/crates/irtt-stats/src/normalization.rs index bc016d1..27fa92c 100644 --- a/crates/irtt-stats/src/normalization.rs +++ b/crates/irtt-stats/src/normalization.rs @@ -191,10 +191,15 @@ impl ReplySample { client_receive_mono: received_at.mono, client_send_wall_ns: system_time_ns(sent_at.wall), client_receive_wall_ns: system_time_ns(received_at.wall), - server_receive_mono_ns: server_timing.and_then(|timing| timing.receive_mono_ns), - server_send_mono_ns: server_timing.and_then(|timing| timing.send_mono_ns), - server_receive_wall_ns: server_timing.and_then(|timing| timing.receive_wall_ns), - server_send_wall_ns: server_timing.and_then(|timing| timing.send_wall_ns), + // Midpoint timestamps serve as both directional endpoints. + server_receive_mono_ns: server_timing + .and_then(|timing| timing.receive_mono_ns.or(timing.midpoint_mono_ns)), + server_send_mono_ns: server_timing + .and_then(|timing| timing.send_mono_ns.or(timing.midpoint_mono_ns)), + server_receive_wall_ns: server_timing + .and_then(|timing| timing.receive_wall_ns.or(timing.midpoint_wall_ns)), + server_send_wall_ns: server_timing + .and_then(|timing| timing.send_wall_ns.or(timing.midpoint_wall_ns)), }, } }