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