irtt-rs
irtt-rs is a Rust implementation of an IRTT-compatible client.
It is not the upstream IRTT project. For the original implementation, protocol background, and broader project documentation, see:
https://github.com/heistp/irtt
Status
This repository currently provides:
irtt-cli, a command-line IRTT-compatible clientirtt-client, a Rust library for running client sessions and consuming events- finite and continuous probe runs
- human, simple, machine-readable, and RTT-only output modes
- optional local summary statistics
Server support is not implemented.
Install
Requires Rust 1.75 or newer.
From a local checkout:
Or run it directly without installing:
CLI usage
Basic test:
Set duration and interval:
Run continuously:
Use a specific output mode:
For available options:
Machine output
Use --output machine for line-oriented key=value output intended for scripts, monitoring, and autorate consumers.
Example:
Each line represents one client event and starts with an event field, for example:
event=echo_reply seq=4 logical_seq=4 remote=203.0.113.10:2112 raw_rtt_us=12400 effective_rtt_us=12100 adjusted_rtt_us=12100 server_processing_us=300 dscp=0 ecn=0 kernel_rx_ns=none
Consumers should match on event=... and read the fields they need. Unknown fields should be ignored.
For consumers that only need RTT values, use:
Library usage
irtt-client can be used directly from Rust code.
Example Cargo.toml dependency from a local checkout:
[]
= { = "crates/irtt-client" }
Minimal managed-client example:
use Duration;
use ;