Skip to main content

auths_telemetry/
lib.rs

1//! Auths Telemetry
2//!
3//! Centralized security event API for SIEM ingestion. Provides a unified,
4//! deterministic telemetry standard consumed by auths-auth-server,
5//! auths-registry-server, and auths-chat-server.
6
7pub mod config;
8pub mod emitter;
9pub mod event;
10pub mod logging;
11pub mod metrics;
12pub mod ports;
13pub mod sinks;
14
15pub use emitter::{
16    DROPPED_AUDIT_EVENTS, TelemetryShutdown, emit_telemetry, init_telemetry_with_sink,
17};
18pub use event::{AuditEvent, build_audit_event};
19pub use logging::{init_json_tracing, init_tracing};
20pub use metrics::{PrometheusHandle, init_prometheus};
21pub use ports::EventSink;
22
23#[cfg(any(test, feature = "test-utils"))]
24#[allow(clippy::unwrap_used, clippy::expect_used)]
25pub mod testing;
26
27/// Initialises JSON tracing and the Prometheus metrics recorder.
28///
29/// Call once at process startup before any metrics or tracing macros are invoked.
30/// Returns the Prometheus render handle used by the `/metrics` HTTP handler.
31///
32/// Args:
33/// * `log_level`: Fallback log level (e.g. `"info"`). Overridden by `RUST_LOG`.
34///
35/// Usage:
36/// ```ignore
37/// let handle = std::sync::Arc::new(auths_telemetry::init_observability("info"));
38/// ```
39pub fn init_observability(log_level: &str) -> PrometheusHandle {
40    init_json_tracing(log_level);
41    init_prometheus()
42}