The current statistical profiler can provide a ton of useful information about where user code spends time. Unfortunately it only looks down through Python code. Anything lower level is effectively opaque. For people wanting to profile low level compiled code this can be a limitation.
Last year @sklam integrated libunwind with stacktrace into Dask's statistical profiler here: https://github.com/dask/distributed/compare/master...sklam:stacktrace_integration?expand=1
Some work to do:
- Fix merge conflicts (probably simple)
- Add a test or two?
- Make it optional with configuration
- See how much performance cost arises from its use
- Try it out, report feedback, fix bugs
The current statistical profiler can provide a ton of useful information about where user code spends time. Unfortunately it only looks down through Python code. Anything lower level is effectively opaque. For people wanting to profile low level compiled code this can be a limitation.
Last year @sklam integrated libunwind with stacktrace into Dask's statistical profiler here: https://github.com/dask/distributed/compare/master...sklam:stacktrace_integration?expand=1
Some work to do: