Go探针简介
Go探针采用了听云团队研发的全新Go应用嵌码技术,不需要对应用代码进行修改和重新编译,仅需简单的配置,即可采集Go二进制应用的性能数据。
使用步骤
- 确认您的系统满足兼容性要求。
- 如果您还没有基调听云悟空账户,请注册基调听云悟空账户。
- 通过报表管理界面下载安装Collector组件。
- 下载安装UniAgent探针或Go探针。
- 配置Go应用启动参数。
- 通过报表页面察看数据,有问题请参考常见问题。
操作系统
- 支持内核版本高于2.6.32,GLIBC版本高于2.12的linux x86_64发行版
- 不支持Windows操作系统
- 暂不支持CPU架构为ARM64的Linux 操作系统
Go 编译时版本
- Go 1.17
- Go 1.18
- Go 1.19
- Go 1.20
- Go 1.21
- Go 1.22
- Go 1.23
Go 编译选项
- 支持动态链接和静态链接的go应用 (CGO_ENABLED=0)
- 支持glibc和muslc编译的go应用
- 支持没有符号表的应用 (strip 或 -ldflags="-s" 或 -ldflags="-s -w")
- 支持开启竞态条件检测的编译模式(-race)
- 支持地址空间布局随机化的编译模式(Position Independent Executable, PIE) (-buildmode=pie)
- 不支持的编译选项: -linkshared
部署环境
- 支持部署在普通主机的Go应用(暂不支持自动加载探针,目前仅支持手工修改应用启动脚本来启动探针)
- 支持部署在虚机内的Go应用(暂不支持自动加载探针,目前仅支持手工修改应用启动脚本来启动探针)
- 支持部署在Kubenetes Pod内且启动命令为应用全路径的Go应用(暂不支持利用sh脚本间接启动的部署方式),不支持激进模式部署。
- 暂不支持直接部署在Docker容器内的Go应用
Go SDK简介
Go SDK是一个Go语言第三方模块,发布根路径是:github.com/TingYunGo/goagent。 需要对应用的项目代码进行修改,重新编译并发布。
Go SDK支持AMD64架构处理器的Linux环境,支持的Go语言版本为go 1.9~1.17.x。
Go SDK提供自动嵌码和自定义嵌码(Go API)两种嵌码方式。
SDK自动嵌码的框架和组件支持情况,请参见支持列表。
Code License:Go SDK提供自动嵌码和自定义嵌码使用 Apache 2.0 协议发布。
如果您还不是很了解Go语言,可先查看Go语言介绍。
如果您已熟悉Go语言,可转到基调听云Go SDK嵌码开始阅读。