Module observability

Module observability 

Source
Expand description

§Observability Module

Production-grade observability for the Guts node including:

  • Structured Logging: JSON-formatted logs with request IDs and context
  • Prometheus Metrics: HTTP, P2P, storage, and business metrics
  • Request Tracing: Request ID propagation across all operations

§Usage

use axum::Router;
use guts_node::observability::{init_logging, MetricsState, request_id_layer};

// Initialize logging
init_logging("info", true);

// Create metrics state
let metrics = MetricsState::new();

// Add request ID layer to router
let app: Router<()> = Router::new()
    .layer(request_id_layer());

Re-exports§

pub use middleware::metrics_layer;
pub use middleware::request_id_layer;
pub use middleware::MiddlewareLayer;
pub use middleware::REQUEST_ID_HEADER;

Modules§

middleware
Observability middleware for request tracking and metrics.

Structs§

MetricsState
Metrics state container.
Uuid
Re-export commonly used types A Universally Unique Identifier (UUID).

Enums§

LogFormat
Log output format.

Functions§

init_logging
Initialize the logging system.