iovisor / bcc

BCC - Tools for BPF-based Linux IO analysis, networking, monitoring, and more
Apache License 2.0
20.36k stars 3.86k forks source link

Using funclatency.py to trace bpf_map_lookup_elem #5017

Open pedromfduarte opened 4 months ago

pedromfduarte commented 4 months ago

Greetings, I have been experimenting with the funclatency.py tool and trying to trace the eBPF helper function bpf_map_lookup_elem. To do this, I run the following command: sudo python3 funclatency.py bpf_map_lookup_elem.

The tool reports: Tracing 1 functions for "bpf_map_lookup_elem"... Hit Ctrl-C to end. While it's tracing I run the syscount BCC tool using sudo python3 syscount.py -L, that from my understanding of the code frequently uses this helper to store latency measurements. However, funclatency.py does not print anything during or after its execution.

Is there any reason that funclatency.py should not be able to trace eBPF helpers? When I run the tool to trace other kernel functions such as do_sys_openat2 or trace libraries such as c:read it prints the latency distribution as expected.

ZhangYet commented 2 months ago

What version of kernel did you use?

On my 6.10.0-arch1-2 kernel, bpf_map_lookup_elem is not traceable.