Like traditional tracing packages, TraceCalls.jl displays a tree function calls. It goes further by returning a fully-explorable tree-like data structure. This enables some interesting workflows, such as debugging by highlighting the differences between two code versions
Check it out and let me know what you think! The current release has been tested on most major packages, but it is still a bit beta, with a few known limitations. It’s also relatively slow to trace large modules. The next version will improve on that.