使用插桩库
当你开发应用时,可能会使用第三方库和框架来加快开发进度。如果你随后使用 OpenTelemetry 对应用进行插桩,你可能希望避免额外花时间为所用的第三方库和框架手动添加链路、日志和指标。
许多库和框架已经原生支持 OpenTelemetry,或者通过 OpenTelemetry 的插桩获得支持, 因此它们能够生成可导出到可观测性后端的遥测数据。
如果你正在为使用第三方库或框架的应用或服务进行插桩, 请按照以下说明学习如何为你的依赖项使用原生插桩库和插桩库。
使用原生插桩库
如果某个库默认就支持 OpenTelemetry,你只需在应用中添加并配置 OpenTelemetry SDK, 就可以获取该库发出的链路、指标和日志。
该库可能需要一些额外的插桩配置。请查阅该库的文档以了解更多信息。
截至目前,我们还不知道有任何 Go 库已原生集成 OpenTelemetry。 如果你知道这样的库,请告诉我们。
使用插桩库
如果某个库本身没有集成 OpenTelemetry,你可以使用 插桩库(instrumentation libraries) 为这个库或者框架生成遥测数据。
例如,
net/http
的插桩库
会基于 HTTP 请求自动创建 span 和
metrics。
安装
每个插桩库是一个独立的 Go 包。通常你需要使用 go get
获取相应的包。例如,如果要安装由
Contrib repository
维护的插桩库,可以运行以下命令:
go get go.opentelemetry.io/contrib/instrumentation/{import-path}/otel{package-name}
然后根据库的要求在代码中配置它。
Getting Started 中展示了如何为一个 net/http
服务器设置插桩。
可用插桩库
完整的可用插桩库列表见 OpenTelemetry 支持库列表.
后续步骤
插桩库可以生成入站和出站 HTTP 请求的遥测数据,但不会对你的实际应用程序进行插桩。
你可以通过在代码中集成自定义插桩来丰富你的遥测数据。 这补充了标准库生成的遥测数据,并且可以让你更深入地了解正在运行的应用程序。
Feedback
Was this page helpful?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!