Skip to main content

Module telemetry

Module telemetry 

Source
Expand description

§可观测性遥测(Telemetry)

提供结构化链路追踪 span + 指标记录,基于 tracing crate。

§OpenTelemetry 桥接

本模块仅创建 tracing span,不直接依赖 opentelemetry SDK。 用户可通过 tracing-opentelemetry 桥接器将 span 导出为 OpenTelemetry 格式:

use tracing_subscriber::layer::SubscriberExt;
use tracing_opentelemetry::OpenTelemetryLayer;

let tracer = opentelemetry::global::tracer("sz-orm");
let telemetry_layer = OpenTelemetryLayer::new(tracer);
let subscriber = tracing_subscriber::fmt::layer()
    .with_subscriber(tracing_subscriber::registry().with(telemetry_layer));
tracing::subscriber::set_global_default(subscriber).unwrap();

§指标

  • sz_orm_query_duration — 查询耗时(毫秒)
  • sz_orm_query_rows — 查询返回行数
  • sz_orm_pool_acquire_duration — 连接获取耗时(毫秒)
  • sz_orm_pool_size — 当前连接池大小

Structs§

PoolAcquireSpanGuard
连接获取 span 守卫
QuerySpanGuard
查询 span 守卫 — drop 时自动记录指标
Telemetry
遥测上下文 — 持有配置和指标
TelemetryConfig
遥测配置
TelemetryMetrics
遥测指标计数器(无锁原子操作)
TelemetryMetricsSnapshot
指标快照