wae-observability 0.0.2

WAE Observability - 可观测性服务抽象层,提供健康检查、指标、日志和追踪能力
Documentation

wae-observability

可观测性模块 - 提供统一的可观测性抽象层,包括健康检查、指标收集、日志记录和分布式追踪。

主要功能

  • 健康检查: 可插拔的健康检查接口
  • 指标收集: Prometheus 集成
  • 日志记录: JSON 格式化日志
  • 分布式追踪: OpenTelemetry OTLP 导出
  • 性能分析: pprof 集成
  • HTTP 集成: 内置 Axum 中间件和路由

技术栈

  • 异步运行时: Tokio
  • Web 框架: Axum
  • 指标: Prometheus (可选)
  • 追踪: OpenTelemetry (可选)
  • 日志: tracing-subscriber (可选)
  • 性能分析: pprof (可选)

使用示例

use wae_observability::{ObservabilityConfig, ObservabilityService, HealthCheck, HealthStatus};

#[tokio::main]
async fn main() {
    let config = ObservabilityConfig {
        service_name: "my-service".to_string(),
        service_version: "1.0.0".to_string(),
        ..Default::default()
    };
    
    let mut service = ObservabilityService::new(config);
    
    let report = service.health_check().await.unwrap();
    println!("Health status: {:?}", report.overall);
}

特性标志

  • default: 无默认特性
  • health: 启用健康检查功能
  • metrics: 启用 Prometheus 指标收集
  • json-log: 启用 JSON 格式化日志
  • otlp: 启用 OpenTelemetry OTLP 导出
  • profiling: 启用性能分析功能
  • full: 启用所有功能