fast-telemetry
High-performance, cache-friendly telemetry for Rust.
Thread-sharded counters, gauges, histograms, distributions, and lightweight spans with Prometheus, DogStatsD, OTLP, and optional first-party ClickHouse row export.
#[derive(ExportMetrics)] also generates visit_metrics, a structured
in-process export path for custom MetricVisitor implementations that need
typed cumulative observations instead of a wire-format string or protobuf.
Enable the runtime feature when a parent crate should own one shared telemetry
service for metric registration, span collection, and export setup while child
crates keep hot paths on direct metric handles.
Use CounterSet and CounterSetBuffer for production grouped counters when one
hot-path operation updates a fixed set of related counters. Resolve indexes once
and record by index on the hot path.
See the workspace README for full documentation, examples, runtime integration rules, and API reference.
Companion Crates
fast-telemetry-macros—#[derive(ExportMetrics)]and#[derive(LabelEnum)]fast-telemetry-export— DogStatsD, OTLP, ClickHouse, and span export adapters
Lineage
The Counter implementation originated from
JackThomson2/fast-counter.