Skip to content

Add per-connection RTT to the UI and exports - #515

Merged
domcyrus merged 1 commit into
mainfrom
feat/per-connection-rtt
Jul 30, 2026
Merged

Add per-connection RTT to the UI and exports#515
domcyrus merged 1 commit into
mainfrom
feat/per-connection-rtt

Conversation

@domcyrus

Copy link
Copy Markdown
Owner
  • Every TCP connection now carries a live round-trip estimate: outbound segments are timed until the ACK that covers them, Karn's algorithm discards samples around retransmissions, and samples feed an RFC 6298 style smoothed value. QUIC keeps its handshake RTT (ACKs are encrypted on the wire).
  • Overview gains a sortable RTT column (descending by default, slowest first), the Details Transport Health card shows Live RTT next to Initial RTT, and JSON event logs plus the PCAP sidecar gain rtt_ms.
  • Data round trips also feed the Graph tab's aggregate RTT, which previously only saw new-connection handshakes.
  • Docs updated (USAGE en/zh-CN sort table, README feature bullets en/zh-CN/ja, ROADMAP).

Validation

  • cargo fmt, cargo clippy --workspace --all-targets --all-features -- -D warnings, cargo test --workspace --all-targets on macOS
  • Same clippy and cargo test --workspace --all-targets --all-features on Linux (Arch ARM, eBPF built)
  • Live TUI check on macOS: RTT column populates and sorts, QUIC rows show handshake RTT, unmeasured flows show the placeholder

- Time outbound TCP segments to their covering ACK (Karn-filtered) into an RFC 6298 smoothed per-connection RTT
- Sortable RTT column, Live RTT in Details, rtt_ms in JSON logs and the PCAP sidecar
- Data round trips also feed the Graph tab's aggregate RTT
@domcyrus
domcyrus merged commit 7efbdcf into main Jul 30, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant