我试了一下,部署了 golang 的程序,不需要手动在代码中开启 profile ,就能获取 profile 数据,太强了,有大佬知道怎么实现的吗?
1
0o0O0o0O0o 267 天前 via iPhone
答案就在标题中
|
2
Kumo31 267 天前 2
eBPF 可以通过 uprobe 来对用户态函数插桩,如果装了 bpftrace ,可以用下面的命令来查看某个进程中支持的函数
bpftrace -l 'uprobe:/proc/<pid>/exe:*' |
3
hexler 267 天前
二楼正解
|
4
qq135449773 267 天前
这东西掉性能吗,大概掉多少?
|
5
PTLin 267 天前 1
@qq135449773 那要看监控的事件是什么以及 bpf 程序写的是不是合理了,tracepoint 和 kprobe 一般都是一百纳秒以内,并且触发次数不是太频繁可以忽略不记,假如是上面用户空间的 uprobe 的话那开销就大了。
|
6
hancai 267 天前 1
@qq135449773 之前想在 k8s 里面弄个 ebpf 的监控,用了一下 deepflow , 节点性能损失大约 10%
|
7
qq135449773 267 天前
|
8
securityCoding 267 天前
不是有关键字了吗,ebpf 今年非常火
|