Brussels / 4 & 5 February 2023


Walking native stacks in BPF without frame pointers

Implementing profilers and tracers in BPF offers a high degree of flexibility and allows for tools that have lower overhead and can make them suitable for production usage. BPF has a helper to unwind native stacks with frame pointers that works great. Unfortunately, most Linux distros and compilation pipelines omit frame pointers. We've built a BPF program that uses DWARF-unwind information to walk native stacks without frame pointers in BPF. We've integrated it into our continuous profiler project, Parca Agent.


Vaishali Thakkar
Javier Honduvilla Coto