使用 eBPF 在 eBPF 程序中调用的仪器函数

问题描述

我想编写一个 eBPF 程序,以便跟踪在单独运行的 eBPF 程序中调用函数。另外,我想计算一下各个函数调用次数

这可能吗?如果是这样,请有人提示我可以使用什么来实现这一目标?

注意:我正在寻找实现此功能背后的想法/概念(即要使用的特定 kprobe),而不是完全开发的解决方案。)

最好是,我正在寻找一种可以使用 python bccbpftrace 实现的解决方案。

更新:我想计算在 eBPF 程序中调用用户定义”函数次数

例如,如果我在内核代码中创建了一个 eBPF 程序:

SEC("kprobe/tcp_v4_connect")
int bpf_sample_prog(struct pt_regs *ctx) {
    int x,y,...; /* local variables to which I assign data from context */

    foo(x);        /* user-defined function */
    bar(y);        /* user-defined function */
    return 0;
}

,我将它从用户空间代码附加到 kprobe,我希望能够使用一个完全独立的 eBPF 程序计算 foobar 函数调用次数bpf_sample_prog 程序中。

提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)