gitdataai/libs/observability/src/lib.rs

27 lines
951 B
Rust

//! 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;