OpenTelemetry 提供自动与手动两种插桩(Instrumentation)方式,二者在侵入性与灵活度上互补。
- 自动埋点(Zero-code / Auto-instrumentation):通过预置的 agent 或插桩库,在不修改业务源代码的前提下,自动为常见框架(如 HTTP 服务、数据库客户端、消息队列)生成遥测数据。其优势是接入快、侵入性低,适合快速覆盖标准框架调用。
- 手动埋点(Manual instrumentation):由开发者在业务代码中显式调用 OpenTelemetry API,创建自定义 Span、Metric 或事件。它适用于自动埋点无法覆盖的业务逻辑,能够记录更贴合业务语义的数据。
- 组合策略:实践中通常以自动埋点覆盖框架层调用,再用手动埋点补充关键业务路径,二者结合可在低接入成本与高业务可读性之间取得平衡。