阿里云 arms ebpf 版可以实现 golang 的无侵入监控

296 天前
 yujianwjj

我试了一下,部署了 golang 的程序,不需要手动在代码中开启 profile ,就能获取 profile 数据,太强了,有大佬知道怎么实现的吗?

2007 次点击
所在节点    Go 编程语言
8 条回复
0o0O0o0O0o
296 天前
答案就在标题中
Kumo31
296 天前
eBPF 可以通过 uprobe 来对用户态函数插桩,如果装了 bpftrace ,可以用下面的命令来查看某个进程中支持的函数
bpftrace -l 'uprobe:/proc/<pid>/exe:*'
hexler
296 天前
二楼正解
qq135449773
296 天前
这东西掉性能吗,大概掉多少?
PTLin
296 天前
@qq135449773 那要看监控的事件是什么以及 bpf 程序写的是不是合理了,tracepoint 和 kprobe 一般都是一百纳秒以内,并且触发次数不是太频繁可以忽略不记,假如是上面用户空间的 uprobe 的话那开销就大了。
hancai
296 天前
@qq135449773 之前想在 k8s 里面弄个 ebpf 的监控,用了一下 deepflow , 节点性能损失大约 10%
qq135449773
296 天前
@PTLin #5
@hancai #6

感谢指导
securityCoding
296 天前
不是有关键字了吗,ebpf 今年非常火

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1019788

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX