Open
Description
Linking the original issue here (we use rules_python
, where I raised it first): bazel-contrib/rules_python#1737
I want to use eBPF to do arbitrary performance profiling of our code, but its not very useful if the python interpreter is not compiled with dtrace and frame pointer support. Without these two, all the information about function names are lost in the stack trace.
The important flags:
- --with-dtrace: This flag enables static markers inside python which we can hook into using eBPF (details: https://docs.python.org/3/howto/instrumentation.html)
- Enable Frame pointer:
-fno-omit-frame-pointer
in gcc. This makes sure the information of function names in stack trace is not lost. References: https://www.brendangregg.com/blog/2024-03-17/the-return-of-the-frame-pointers.html