Hacker News new | past | comments | ask | show | jobs | submit login

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.




On 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

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

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!]


There's a Mac app with ring-style visualization called DaisyDisk - https://daisydiskapp.com/


I 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.


Yes, the nested pie graph is called the sunburst layout. I've commented on it here: https://news.ycombinator.com/item?id=13575232


Thanks 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)


You 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.


>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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: