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§
- Pool
Acquire Span Guard - 连接获取 span 守卫
- Query
Span Guard - 查询 span 守卫 — drop 时自动记录指标
- Telemetry
- 遥测上下文 — 持有配置和指标
- Telemetry
Config - 遥测配置
- Telemetry
Metrics - 遥测指标计数器(无锁原子操作)
- Telemetry
Metrics Snapshot - 指标快照