Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[tracecompass-dev] Towards Flamegraphs, callgraphs, callstacks and profiling!

Trace Compass had a call stack view for several years now, at this point
we are adding analyses on top of the call stack.

A reminder: call stacks show entries and exits of functions in time and
the caller/callee structure.

The information in it is very good, however, there is a lot of
information that may overwhelm users that want to just see which
function is taking too long to run.

Right now, we have a view that looks at the entries and classifies them
by duration (Function Duration Distribution) this is very interesting,
but does not summarize enough, so we are trying to bring in flame graph
views to help in that respect.

Reminder 2: flame graphs are aggregate views that discard timing
information but keep total times

So a flame graph will help show total duration times and a bit of call
hierarchy. If you need more info, I suggest reading up this blog:

http://www.brendangregg.com/FlameGraphs/cpuflamegraphs.html#FlameGraph

Now we have some issues with the flame graph.

Let's go over some contention points.

Colors:
* We maintain the colors of the call stack view
- OR -
* We set the colors to be red to yellow like the originals?

I am leaning very very strongly towards option one, it give a lot more
meaning to the colors.

Stalagtites vs Stalagmites:
* We show the root function on the top and go down with the deeper function
- OR -
* We keep them as the de facto standard of bottom up.

There are some advantages to going from top down:
1- it is inline with the rest of the views
2- if you have a smaller window, the more interesting stuff is shown
3- if you choose to collapse a thread, the control is intuitive (no
upward collapsing)

there is however a HUGE con:
1- it is not what people are expecting to see

Are there any thoughts on the two points?
Do you want classic flame graph views?
Do you want it going up or down?



Back to the top