为Golang应用程序提供一种面向OpenTelemetry的可观测解决方案。目标应用程序不需要进行代码更改,插桩工作在编译时完成。只需将go build
替换为otelbuild
即可开始。
运行以下命令来构建otelbuild
:
$ make build
要为发布目的准备所有支持平台的二进制文件,请使用:
$ make all
运行所有测试:
$ make test
使用以下命令替换go build
来构建你的项目
# go build
$ ./otelbuild
go build
的参数应放在--
分隔符之后:
# go build -gcflags="-m" cmd/app
$ ./otelbuild -- -gcflags="-m" cmd/app
工具本身的参数应放在--
分隔符之前:
$ ./otelbuild -help # print help doc
$ ./otelbuild -debuglog # print log to file
$ ./otelbuild -verbose -- -gcflags="-m" cmd/app # print verbose log
你也可以浏览这些示例快速上手.
Note
如果过程中发现任何编译失败的情况,很可能是一个bug 请在GitHub Issues 中提交 bug,帮助我们改进这个项目
插件名字 | 仓库地址 | 最低版本 | 最高版本 |
---|---|---|---|
database/sql | https://pkg.go.dev/database/sql | - | - |
echo | https://github.com/labstack/echo | v4.0.0 | v4.12.0 |
gin | https://github.com/gin-gonic/gin | v1.7.0 | v1.10.0 |
go-redis | https://github.com/redis/go-redis | v9.0.5 | v9.5.1 |
gorm | https://github.com/go-gorm/gorm | v1.22.0 | v1.25.9 |
logrus | https://github.com/sirupsen/logrus | v1.5.0 | v1.9.3 |
mongodb | https://github.com/mongodb/mongo-go-driver | v1.11.1 | v1.15.2 |
mux | https://github.com/gorilla/mux | v1.3.0 | v1.8.1 |
net/http | https://pkg.go.dev/net/http | - | - |
zap | https://github.com/uber-go/zap | v1.20.0 | v1.27.0 |
我们正在逐步开源我们支持的库,也非常欢迎你的贡献。有关如何为新框架编写插桩代码的指南,请参阅这个文档
我们期待你的反馈和建议。请加入我们的钉钉群 与我们交流。
此外,还有以下一些你可能会觉得有用的文档: