# Alternative for flamegraphs

**URL:** <https://discourse.julialang.org/t/alternative-for-flamegraphs/110267>\
**Category:** New to Julia\
**Created:** [February 15, 2024, 5:01pm UTC](https://discourse.julialang.org/t/alternative-for-flamegraphs/110267 "2024-02-15T17:01:30Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Matthijs\_1971](https://avatars.discourse-cdn.com/v4/letter/m/bb73d2/32.png) [@Matthijs\_1971](https://discourse.julialang.org/u/Matthijs_1971)\
**Post date:** [February 15, 2024, 5:01pm UTC](https://discourse.julialang.org/t/alternative-for-flamegraphs/110267/1 "2024-02-15T17:01:31Z")

</div>

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](https://docs.julialang.org/en/v1/manual/profile/) 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?

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [February 15, 2024, 5:03pm UTC](https://discourse.julialang.org/t/alternative-for-flamegraphs/110267/2 "2024-02-15T17:03:18Z")

</div>

Check out [GitHub - topolarity/Tracy.jl: A convenient interface for using Tracy from within Julia code](https://github.com/topolarity/Tracy.jl).

It is a bit low on docs right now but it is good.

---

<div class="post-metadata">

**Author:** ![nsajko](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nsajko/32/221187_2.png) [@nsajko](https://discourse.julialang.org/u/nsajko)\
**Post date:** [February 15, 2024, 7:51pm UTC](https://discourse.julialang.org/t/alternative-for-flamegraphs/110267/3 "2024-02-15T19:51:17Z")

</div>

An alternative to flame graphs for visualizing profiling data is available with PProf.jl. Not sure if it does what you want, but check it out if you haven’t already.

---

<div class="post-metadata">

**Author:** ![Matthijs\_1971](https://avatars.discourse-cdn.com/v4/letter/m/bb73d2/32.png) [@Matthijs\_1971](https://discourse.julialang.org/u/Matthijs_1971)\
**Post date:** [February 16, 2024, 5:43pm UTC](https://discourse.julialang.org/t/alternative-for-flamegraphs/110267/4 "2024-02-16T17:43:36Z")

</div>

Thanks for mentioning PProf; it includes flamegraph functionality and much more, so definately a step forward.
