Skip to content

moqtap-trace

Event model, trace I/O, derived metrics.

crates.io | API docs

moqtap-trace defines the TraceEvent struct and the .moqtrace file format. It also computes derived metrics from event streams.

pub struct TraceEvent {
pub timestamp_us: u64,
pub direction: Direction,
pub message: ControlMessage,
pub raw_bytes: Vec<u8>,
pub warnings: Vec<ParseWarning>,
pub quic_stats: Option<QuicStats>,
}
  • Control message RTT — request/response pairing by request ID
  • Object arrival rate — objects per second per track
  • Inter-object gap — time between consecutive objects
  • Subscribe-to-first-object latency
  • FETCH round-trip time
use moqtap_trace::{TraceWriter, TraceReader};
// Write events to a .moqtrace file
let mut writer = TraceWriter::new("session.moqtrace")?;
writer.write_event(&event)?;
// Read events from a file
let reader = TraceReader::open("session.moqtrace")?;
for event in reader {
println!("{:?}", event?);
}