rs_zero/observability/
mod.rs1pub mod cache;
4pub mod config;
5pub mod correlation;
6pub mod metrics;
7pub mod otel;
8pub mod otlp;
9#[cfg(feature = "observability-prometheus-client")]
10pub mod prometheus_client;
11pub mod redis;
12pub mod resilience;
13pub mod rest;
14#[cfg(feature = "rpc")]
15pub mod rpc;
16pub mod sql;
17pub mod trace;
18
19pub use config::{MetricsConfig, ObservabilityConfig, OpenTelemetryConfig, TraceExporter};
20pub use correlation::CorrelationContext;
21pub use metrics::{
22 CacheMetricLabels, HttpMetricLabels, MetricsRegistry, RedisDegradationLabels, RedisEventLabels,
23 RedisMetricLabels, ResilienceMetricLabels, RpcMetricLabels, SqlMetricLabels,
24};
25pub use otel::{
26 ObservabilityError, ObservabilityResult, init_opentelemetry_tracing,
27 init_opentelemetry_tracing_with_handle,
28};
29#[cfg(feature = "otlp")]
30pub use otlp::install_otlp_tracing;
31pub use otlp::{OtlpProtocol, OtlpTraceConfig, TraceShutdownHandle, build_otlp_trace_config};
32#[cfg(feature = "observability-prometheus-client")]
33pub use prometheus_client::PrometheusClientMetricsRegistry;
34pub use redis::{record_redis_command, record_redis_degradation, record_redis_event};
35pub use resilience::record_resilience_decision;
36pub use rest::{metrics_router, record_metrics_middleware};
37#[cfg(feature = "rpc")]
38pub use rpc::{
39 observe_rpc_unary, observe_rpc_unary_with_context, observe_rpc_unary_with_metadata,
40 record_rpc_streaming_snapshot,
41};
42pub use sql::observe_sql_query;
43pub use trace::{
44 CurrentRequestId, REQUEST_ID_HEADER, TRACEPARENT_HEADER, current_span_id, current_trace_id,
45 current_traceparent, insert_traceparent_header, request_id_from_headers,
46 span_id_from_traceparent, trace_id_from_traceparent, traceparent_from_headers,
47};
48#[cfg(all(feature = "otlp", feature = "rpc"))]
49pub use trace::{
50 inject_current_context_metadata, opentelemetry_context_from_metadata,
51 set_span_parent_from_metadata,
52};
53#[cfg(feature = "rpc")]
54pub use trace::{insert_traceparent_metadata, request_id_from_metadata, traceparent_from_metadata};
55#[cfg(feature = "otlp")]
56pub use trace::{
57 opentelemetry_context_from_headers, opentelemetry_context_from_traceparent,
58 set_span_parent_from_headers,
59};