//! Observability primitives: tracing subscriber, metrics, OTLP export. //! //! Call `observability::init_tracing_subscriber(level)` once at startup. //! All services then use `tracing::info!`, `tracing::warn!`, etc. directly. pub mod business_metrics; pub mod metrics_middleware; pub mod msg_json_fmt; pub mod otlp; pub mod prometheus_exporter; pub mod push; pub mod tracing_fmt; pub mod tracing_init; pub mod tracing_middleware; pub use metrics_middleware::{HttpMetrics, MetricsMiddleware}; pub use msg_json_fmt::set_span_msg; pub use prometheus_exporter::{ HttpMetricsSnapshot, HttpSnapshotGuard, install_recorder, prometheus_handler, render_to_hashmap, spawn_http_metrics_poller, }; pub use tracing_fmt::{init_tracing_subscriber, instance_id}; pub type PrometheusHandle = metrics_exporter_prometheus::PrometheusHandle; pub use business_metrics::*; pub use otlp::{OtelGuard, init_otlp}; pub use tracing_middleware::TracingSpanMiddleware;