4 ms·
Tree maps make better use of space, but comparing box sizes vs lengths is a more difficult perceptive task. And harder to label. Being unable to read thin spik
by brendangregg 10y ago
Tree maps make better use of space, but comparing box sizes vs lengths is a more difficult perceptive task. And harder to label.
Being unable to read thin spikes can be a good thing. There is only enough room to label the biggest boxes -- which are also the ones you care about the most.
If I were seriously building a GUI for this, it would let the user switch between visualizations to see which works best.
- hedora 10y agoOn Linux, there is baobab. It has two visualizations. The useful one is a set of nested pie graph / rings: http://www.marzocca.net/linux/baobab/baobab-ringschart.html http://www.marzocca.net/linux/baobab/baobab-ringschart.html The other has nested squares the size of each directory and its children. It sounds decent in theory, but is as bad as the "MyPlate" visualization in practice: https://en.m.wikipedia.org/wiki/MyPlate https://en.m.wikipedia.org/wiki/MyPlate I'd put the flamegraph between these two in terms of usability. [edit: Also, thanks for flamegraph, and documenting perf! I use your site all the time. It has saved countless hours at work!]
- brendangregg 10y agoYes, the nested pie graph is called the sunburst layout. I've commented on it here: https://news.ycombinator.com/item?id=13575232 https://news.ycombinator.com/item?id=13575232
- hedora 10y agoThanks for the link! I skimmed [10], and assume you are referring to figure 7. I think you've read too much into that result. Starbursts do indeed use angles as part of the rendering algorithm, but for a given subdirectory, you end up comparing lengths just as you would in a flamegraph. The key difference is that the screen real estate used to render the "icicles" increases linearly with the number of levels with sunbursts, but is constant for flamegraphs. This greatly reduces the "10 icicles, each 1-10 pixels wide" problem that flamegraphs have. Also, jumping back to baobab, I find linking the directory tree view widget to the sunburst leads to a much more intuitive/obvious set of navigation primitives -- it makes it easy to jump to a parent or sibling of the current view. As a side effect, they can (and do) put a bar graph on each entry in the tree view, which brings it to "2d position along common aligned scale" which is two levels better than flamegraph or sunburst (3 levels better than sunburst by your reading). This doesn't help the tree view's usefulness for navigation, but it nicely complements the readability issues with sunbursts (or flamegraphs)
- brendangregg 10y agoYou aren't comparing lengths in a sunburst -- you're comparing angles. A sunburst is a flame graph using polar coordinates. And that a slice with a smaller angle (value) but a deeper depth (from the root) is printed visually larger than a slice closer to the root is confusing. A flame graph box at different depths can be compared directly.
- eps 10y agoThere's a Mac app with ring-style visualization called DaisyDisk - https://daisydiskapp.com/ https://daisydiskapp.com/
- wingerlang 10y agoI think ring-style charts are kind of hard to read if you want to compare things, but DD solves this quite nicely with the sizes on the side. All in all I recommend this app highly.
- coldtea 10y ago>Tree maps make better use of space, but comparing box sizes vs lengths is a more difficult perceptive task. It's not something people really need to do though at any detail level. You don't compare sameish dirs to see which is slightly bigger, you check what the big consumers of space are.