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](../../README.md) for full documentation, examples,
runtime integration rules, and API reference.

## Companion Crates

- [`fast-telemetry-macros`]../fast-telemetry-macros`#[derive(ExportMetrics)]` and `#[derive(LabelEnum)]`
- [`fast-telemetry-export`]../fast-telemetry-export — DogStatsD, OTLP, ClickHouse, and span export adapters

## Lineage

The `Counter` implementation originated from
[`JackThomson2/fast-counter`](https://github.com/JackThomson2/fast-counter).