Module observability

Module observability 

Source
Expand description

Observability Infrastructure

This module provides production-grade observability for RustKernels:

  • Metrics: Prometheus-compatible metrics for kernel performance
  • Tracing: Distributed tracing with OpenTelemetry support
  • Logging: Structured logging with context propagation
  • Alerting: Alert rules and routing

§Feature Flags

  • metrics: Enable Prometheus metrics export
  • otlp: Enable OpenTelemetry Protocol export
  • structured-logging: Enable JSON structured logging
  • alerting: Enable alert rule engine

§Example

use rustkernel_core::observability::{MetricsConfig, ObservabilityConfig};

let config = ObservabilityConfig::builder()
    .with_metrics(MetricsConfig::prometheus(9090))
    .with_tracing(TracingConfig::otlp("http://jaeger:4317"))
    .build();

// Initialize observability
config.init().await?;

Re-exports§

pub use alerting::AlertConfig;
pub use alerting::AlertRule;
pub use alerting::AlertSeverity;
pub use alerting::AlertState;
pub use logging::LogConfig;
pub use logging::LogLevel;
pub use logging::StructuredLogger;
pub use metrics::KernelMetrics;
pub use metrics::MetricsConfig;
pub use metrics::MetricsExporter;
pub use tracing::KernelSpan;
pub use tracing::SpanContext;
pub use tracing::TracingConfig;

Modules§

alerting
Alert Rules and Routing
logging
Structured Logging
metrics
Kernel Metrics
tracing
Distributed Tracing

Structs§

MetricLabels
Common labels for all metrics
ObservabilityConfig
Unified observability configuration
ObservabilityConfigBuilder
Builder for observability configuration