I'm trying to capture combined user and kernel stacks with perf, so I can see which user space code produces are particular kernel call chain. Basically I want to create a flamegraph looking like this:
Unfortunately all my kernel stacks end at entry_SYSCALL_64_fastpath
and there is no connection to the userspace stacks.
I'm using perf record -g --call-graph dwarf -F 99 --pid 12345
to capture. I have debug symbols for the kernel, libc and my program.
This is kernel 4.8.14 on a Fedora 25 system.
Try
bcc
utilities that useBPF
technology. Take a look atprofile
util.https://github.com/iovisor/bcc/blob/master/docs/tutorial.md