3 ms·
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
by planckscnst 11y ago
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 11y agoYes, 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.