
Linux EBPF Off-CPU Flame Graph - jsnell
http://www.brendangregg.com/blog/2016-01-20/ebpf-offcpu-flame-graph.html
======
planckscnst
Off-cpu flame graphs are probably my favorite tool for discovering possible
optimizations. They can also be created efficiently using SystemTap since you
can do pretty much anything in-kernel. In fact, I was able to really narrow in
by limiting my set of stack traces to only times when the process had been
asleep for longer than some time. We had a network server where the p999 and
p9999 latencies would spike up very occasionally (a few minutes out of an
hour). Looking at the traces where the process was blocked for a long time
pinpointed the exact issue and we were able to fix the problem.

~~~
brendangregg
Yes, I mentioned SystemTap in the post. SystemTap can not only can do this,
but can currently do it better (user & kernel stacks, more than just x86_64,
and more than 20 stack frames), and can also do it on older kernels (earlier
than 4.1). So if anyone looks at this and wants it now on Linux, their best
bet is likely SystemTap, as it can do the in kernel summarization. And it can
include user-mode stacks too!

So why is eBPF important? One reason is that it's core kernel, so eventually
everyone will have this in their Linux systems.

