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§
- Global
Observability - Global observability state for server integration
- Observability
Config - OpenTelemetry observability configuration
- Observability
Guard - Observability initialization guard
- Performance
Monitor - Performance monitoring utilities
- Performance
Span - Performance tracking span
- Sampling
Config - Trace sampling configuration (placeholder for future enhancement)
- Security
Audit Logger - Security audit logger using structured tracing events
Enums§
- Observability
Error - Observability errors
- Otlp
Protocol - OTLP protocol configuration (placeholder for future enhancement)
Functions§
- global_
observability - Get global observability instance