Go 可观测的三种路径是互补而非竞争关系,选型建议如下:
- 编译时插桩:前提是能重新编译源码,代码侵入零、运行时开销极低、覆盖函数级(含三方依赖),但仅支持 Go。最适合平台工程团队统一加观测。
- eBPF (OBI):前提是 Linux 内核 ≥ 4.x 且有特权,零代码侵入、协议级覆盖(HTTP/gRPC/SQL)、支持多语言。最适合存量服务、多语言集群。
- 手动埋点 (Go API):需要修改源码,可实现任意粒度的自定义 span。最适合需要业务语义 span 的场景(如“用户下单”)。
三者可组合:新服务用编译时插桩 + 少量手动埋点,存量服务先用 eBPF 兜底再逐步在 CI 中切换到编译时插桩。




