Flamegraphs are created by polling the stacktrace and post-processing the results, lumping together parts of stacktraces. If my code calls functions tic() and toc() alternatingly, a flamegraph lumps together all calls to tic() and to toc(), giving me two horizontal beams next to each other. I need a simpler graph that does not do this kind of lumping. So every time function tic() is entered, I want a horizontal bar to start and when tic() returns, the bar should end. Such a graph can be very useful for performance analysis of calls with a repetitive nature. Obviously I want time along the horizontal axis and essentially a representation of stacktraces vertically.
There is lots of documentation available about profiling in Julia and Flamegraphs, but I can not find a info on the kind of graph I need.
Questions:
- Is a Julia package available that does what I need?
- Can the data provided by Profile package be used? It can save data in two formats, one is called ‘flat’.
- Is there documentation available on these formats?