java agent 可以在不修改源代码的情况下,来对程序做 instrument 。这个在实际中有很多应用,比如搞个 java agent 做可观测性相关的工作。
请教一下,go 有这种类似的方案和技术吗?
1
monsterxx03 2023-04-07 14:06:53 +08:00
做过个类似的东西 https://github.com/monsterxx03/gospy
不过只能读 runtime 信息,不能动态注入指令, 用处是不很大,但挺好玩的, 具体原理可以看 https://blog.monsterxx03.com/2019/09/20/gospy-non-invasive-goroutine-inspector/ |
2
yanmu6626 2023-04-07 14:12:58 +08:00
涉及到 native 层,大多用钩子
|
3
cookgo 2023-04-07 15:44:45 +08:00
|
4
ixiaohei 2023-04-07 15:51:18 +08:00
现在潮流往 opentelemetry 走,统一的 instrument ,各种中间件厂商自己接入,对于支持 instrument 的组件,应用集成 sdk 就会可以 export 的了; golang 真心不建议走 java 以前玩 APM 的老路,而且 opentelemetry 就是 CNCF 顶级项目
|