用途:为生产系统提供语言无关的可观测性插桩方法论,围绕追踪、指标、日志三大支柱,回答请求过程、系统现状与单次事件原因三类问题。仅对值得告警的事项插桩,避免虚荣指标。
主要能力:统一服务命名(<product>-<component>,小写 kebab-case);追踪采用 <noun>.<verb> 命名与 W3C TraceContext 传播,强调基数控制与采样策略(开发 100%、生产基于父级加比例);指标遵循 Prometheus 命名 <namespace><subsystem><name>_<unit>,区分 counter、gauge、histogram,标签组合控制在约 1,000 以内;结构化日志使用类型化字段,错误在处理点只记录一次,并排除敏感数据。
使用方式:按需选用探针类型——liveness 只检查进程存活,readiness 检查依赖,startup 用于慢初始化;健康响应健康返回 200、不健康返回 503。前端 RUM 区分自动与手动插桩,需要配置 CORS 传播头,SSR 可通过 Server-Timing 头或 meta 标签关联浏览器追踪,Web Vitals 可作为 span 或指标上报,生产建议按会话采样 1-5%,错误始终 100% 采集。SDK 应动态 import 懒加载,避免阻塞首屏,并逐项导入而非全量引入。
适用场景与限制:适用于多语言微服务、前端与 SSR 混合系统。浏览器 OTEL 仍在演进,语义约定可能变化;开发环境可开关,CI 关闭,生产常开。源码映射与内部路径不应发往外部采集端。项目特定配置需查阅项目规则。