fast-telemetry 0.8.0

High-performance, cache-friendly telemetry primitives and export formats for Rust
Documentation

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.

Use DynamicCounterSet when that grouped-counter pattern needs runtime labels. Resolve the dynamic series and counter indexes once, then record related counters by index on the hot path.

See the workspace README for full documentation, examples, runtime integration rules, and API reference.

Companion Crates

Lineage

The Counter implementation originated from JackThomson2/fast-counter.