Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: Stacked blocks or force-directed graph viz #47

Open
nl-brett-stime opened this issue Dec 22, 2020 · 1 comment
Open

Comments

@nl-brett-stime
Copy link

nl-brett-stime commented Dec 22, 2020

Thanks for dockviz!

I understand graphviz is doing most of the heavy lifting when it comes to visualization with this approach. Unfortunately, I don't think treemaps are the right approach for this use case. Usually, a treemap would be used for a bottom-up approach where we start with a given branch and want to know it's cumulative weight, including that of all the leaves 'owned' by the branch. E.g., all of the files nested under a given directory in a file system.

However, in the case of docker images, our interest is reversed. We'd prefer a top-down approach where we're interested in a particular peak in a mountain range and we want to determine the weight of all the supporting strata, including those which might also be undergirding other peaks. In the top-down analysis, a supporting stratum isn't necessarily 'owned' solely by a single peak.

In short, treemaps = sum(for all descendants of branch) analysis
...but for docker images we want: sum(for all ancestors of leaf) analysis

To that end, I think a better visualization would look more like a flamegraph or sunburst chart where we'd have more abstract/general/foundational building blocks across the bottom and more concrete/specific/dependent building blocks stacked up on top of their respective underlying dependencies. The area of any given block would be proportional to it's size in bytes.

Flame graphs: http://www.brendangregg.com/flamegraphs.html
Sunburst chart: https://architect-api.readthedocs.io/en/latest/text/document-vis-hierarchy.html#sunburst-chart

The main difference when compared to a regular flame graph is that the more dependent layers aren't necessarily constrained to be smaller than their dependencies. Some graphs might be top-heavy e.g., https://i.pinimg.com/736x/d3/79/61/d3796140d9104796457d8d26986c9f56.jpg

@nl-brett-stime
Copy link
Author

Maybe a force-directed graph would be a relatively straightforward integration: https://www.amcharts.com/demos/force-directed-network/

@nl-brett-stime nl-brett-stime changed the title Feature request: Stacked blocks viz Feature request: Stacked blocks or force-directed graph viz Dec 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant