Module observability

Module observability 

Source
Expand description

Production-grade OpenTelemetry observability integration

This module provides comprehensive distributed tracing, structured logging, and observability configuration for TurboMCP server applications.

§Features

  • Structured Tracing: Rich span attributes with user context propagation
  • Security Audit Logging: Structured events for security-relevant actions
  • Performance Monitoring: Request timing and tool execution metrics
  • Production Ready: Proper initialization and cleanup

§Example

use turbomcp_server::observability::{ObservabilityConfig, ObservabilityGuard};
use turbomcp_server::ServerBuilder;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Initialize observability
    let config = ObservabilityConfig::default()
        .with_service_name("my-mcp-server")
        .enable_security_auditing()
        .enable_performance_monitoring();

    let _guard = config.init()?;

    // Build server with observability
    let server = ServerBuilder::new().build();
    server.run_stdio().await?;
    Ok(())
}

Structs§

GlobalObservability
Global observability state for server integration
ObservabilityConfig
OpenTelemetry observability configuration
ObservabilityGuard
Observability initialization guard
PerformanceMonitor
Performance monitoring utilities
PerformanceSpan
Performance tracking span
SamplingConfig
Trace sampling configuration (placeholder for future enhancement)
SecurityAuditLogger
Security audit logger using structured tracing events

Enums§

ObservabilityError
Observability errors
OtlpProtocol
OTLP protocol configuration (placeholder for future enhancement)

Functions§

global_observability
Get global observability instance