0

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

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

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

最好,我正在寻找可以使用 pythonbccbpftrace.

更新:我想计算在 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

先感谢您。

4

0 回答 0