Skip to main content

Crate ff_observability

Crate ff_observability 

Source
Expand description

FlowFabric observability — OTEL metrics registry + typed handles.

This crate is the single place that touches OpenTelemetry / Prometheus. Consumers (ff-server, ff-engine, ff-scheduler) take an optional dep on ff-observability behind their own observability feature; enabling the consumer-feature transitively enables ff-observability/enabled.

§Feature model

  • enabled off (default) — all types compile to zero-cost no-op shims. No OTEL / Prometheus crates in the dep tree. Call sites use the same Metrics::new() entry point as the real backend; every instrument method is a no-op.
  • enabled on — real OTEL MeterProvider + Prometheus exporter. Metrics::new() registers all instruments; Metrics::render returns the text-exposition body for /metrics.

Call sites under both features use identical call shape — that’s the whole point of the indirection. If the shim ever grew a feature skew we’d lose the “same source compiles both ways” guarantee.

Structs§

Metrics
Zero-sized no-op registry. Identical public shape to the real implementation (see real.rs) so call sites don’t know which backend they’re hitting.

Enums§

AttemptOutcome
Terminal attempt outcome label for ff_attempt_outcome_total.