katra-trace 0.1.0

Katra3D trace format: versioned, deterministic, correlated event capture.
Documentation
  • Coverage
  • 100%
    76 out of 76 items documented0 out of 25 items with examples
  • Size
  • Source code size: 25.49 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 826.04 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 10s Average build duration of successful builds.
  • all releases: 10s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • infinityabundance/Katra3D
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • infinityabundance

katra-trace — the Katra trace format.

A trace is a versioned, deterministic, append-only stream of records:

[magic: 8 bytes] [format_version: u32] [header_len: u32] [header: bincode]
[record_len: u32] [record: bincode(TraceRecord)] ... (repeat)

Records are Event, EpochMarker, Counter, or SessionSummary.

Determinism

  • seq is monotonic; events are written in seq order.
  • Timestamps are ns since profiler start (plus a wall-clock anchor in the header and in epoch markers).
  • Replay can therefore re-emit a trace at exact relative timing.

Versioning discipline

  • Enum layouts are serialized by variant index: append new variants at the end of any enum in katra-core.
  • Any layout-affecting change bumps [header::SCHEMA_HASH] (computed from [header::SCHEMA_STRING] at compile time).
  • Backward-incompatible changes bump [header::FORMAT_VERSION].