Skip to main content

Crate zlayer_observability

Crate zlayer_observability 

Source
Expand description

ZLayer Observability - Logging, Tracing, and Metrics

Provides unified observability infrastructure:

  • Structured logging with JSON/pretty formats
  • OpenTelemetry distributed tracing
  • Prometheus metrics exposition

§Quick Start

use zlayer_observability::{init_observability, ObservabilityConfig};

#[tokio::main]
async fn main() {
    let config = ObservabilityConfig::default();
    let _guards = init_observability(&config).expect("Failed to init observability");

    tracing::info!("Application started");
}

Re-exports§

pub use error::ObservabilityError;
pub use error::Result;
pub use logging::init_logging;
pub use logging::LogGuard;
pub use metrics::init_metrics;
pub use metrics::metrics;
pub use metrics::HealthStatus;
pub use metrics::ZLayerMetrics;
pub use tracing_otel::init_otlp_in_runtime;
pub use tracing_otel::otlp_is_enabled;
pub use tracing_otel::set_telemetry_provider;
pub use tracing_otel::DefaultOtlpProvider;
pub use tracing_otel::OtlpGuard;
pub use tracing_otel::TelemetryProvider;
pub use config::*;
pub use container_spans::*;

Modules§

config
Configuration types for observability
container_spans
Container operation span helpers
error
Error types for observability
log_reader
Log reader implementations for structured and legacy log files.
logging
Structured logging with JSON/pretty output and file rotation
logs
Structured container and execution log types.
metrics
Prometheus metrics exposition
propagation
Context propagation utilities for distributed tracing
tracing_otel
Overridable OTLP telemetry seam.

Structs§

CommonLoggingOptions
Options for init_common_logging.
ObservabilityGuards
Combined guards for all observability components

Functions§

init_common_logging
Shared logging entry point for the satellite binaries (overlayd, web, manager, desktop).
init_observability
Initialize all observability components