Here s something I ve been using for eBPF program profiling optimization purposes and just published it as it has made my performance nerd life easier.This is a tool for profiling eBPF programs themselves, probe- kernel activity, interactions with shared hash maps, etc.Since eBPF programs are pieces of machine code residing in (kernel) address space, you could profile them with standard perf just like any other kernel function. However, perf alone won t show you other useful metrics like number of executions and average eBPF program runtime, like bpftop does. Also, I want an easy way to map CPU samples to original source code lines, where possible.I wanted to unify both approaches, display the bpftop-style call count probe latency, with the ability to drill down inside where the eBPF program spends most of it s time.