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
enabledoff (default) — all types compile to zero-cost no-op shims. No OTEL / Prometheus crates in the dep tree. Call sites use the sameMetrics::new()entry point as the real backend; every instrument method is a no-op.enabledon — real OTELMeterProvider+ Prometheus exporter.Metrics::new()registers all instruments;Metrics::renderreturns 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§
- Attempt
Outcome - Terminal attempt outcome label for
ff_attempt_outcome_total.