-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/71178/#review217009
-----------------------------------------------------------
Very cool to see this! Some comments from just looking at the pictures:
* I think we can do without the counts of descendant nodes on each "folder", it
seems a bit distracting and I'm not sure there's enough utility in it
* How about removing all the "/..." noise (i.e. s/\/...//) and for the self
child node, showing "(self)" or "." (like a folder structure)
* What's going on with "lorem/ipsum/dolor"? It's a role beneath two levels of
"folders" but it's the first entry?
* Rather than showing the prefix for each item, just show each "token"?
(example below)
Before:
```
* lorem/ipsum/dolor
> [10] a/...
v [2] b/...
* b
* b/c
```
After:
```
> a
v b
* .
* c
v lorem
v ipsum
* dolor
```
i.e. more like a filesystem folder navigator. I guess a special casing is
needed for roles with no children vs roles with children. The former can be
shown as leaves, whereas the latter needs a "." leaf to distinguish the role
itself from the aggregated information. We could also consider avoiding the "."
altogether since the /roles endpoint (and therefore the roles table) doesn't
currently expose the "." leaf.
- Benjamin Mahler
On July 31, 2019, 3 p.m., Andrei Sekretenko wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/71178/
> -----------------------------------------------------------
>
> (Updated July 31, 2019, 3 p.m.)
>
>
> Review request for mesos, Benjamin Mahler and Meng Zhu.
>
>
> Bugs: MESOS-8503
> https://issues.apache.org/jira/browse/MESOS-8503
>
>
> Repository: mesos
>
>
> Description
> -------
>
> This patch makes the UI pages `frameworks` and `framework` display
> roles of multi-role frameworks as collapsible tree (instead of a list).
>
>
> Diffs
> -----
>
> src/webui/app/app.js f6f11384f35b260dcaff432c884dc063ea5e0f0e
> src/webui/app/frameworks/framework.html
> 82f6b279a9416d147fcfab094a326d67d0951dcc
> src/webui/app/frameworks/frameworks.html
> d37c6137b638a27e5bd0f70f08733d81550b3ace
> src/webui/app/shared/tree.html PRE-CREATION
> src/webui/assets/css/mesos.css 0ff47cda36cc897f2e8f43804d38046f3e27e575
>
>
> Diff: https://reviews.apache.org/r/71178/diff/2/
>
>
> Testing
> -------
>
> Tested manually with conbination of frameworks with thousands of roles and
> frameworks with 1-2 roles.
>
> Performance: re-rendering time of `frameworks` page with 50 frameworks with
> ~4000 roles each is around 500 ms on my hardware.
> With all subtrees collapsed, more than half of this time is spent inside
> `intermediateRoleTree()` and `aggregateRoleTree()` (roughly equal amounts of
> time).
> If/when the master starts to store the roles as a tree, it might make sense
> to convert this to getting roles in the tree form.
>
>
> File Attachments
> ----------------
>
> Frameworks table, expanded tree
>
> https://reviews.apache.org/media/uploaded/files/2019/07/31/70bff1ae-6c91-4ee2-ac3d-54f4d2402152__expanded.png
> Frameworks table, collapsed tree
>
> https://reviews.apache.org/media/uploaded/files/2019/07/31/6c31803e-3dca-49e2-9f8e-e597724f48eb__collapsed.png
> Framework, expanded
>
> https://reviews.apache.org/media/uploaded/files/2019/07/31/e3ce459a-1335-4667-abd5-bf6c9c635bf5__expanded.png
> Framework, collapsed
>
> https://reviews.apache.org/media/uploaded/files/2019/07/31/38f4863b-f333-424e-bd61-234d49187c81__collapsed.png
>
>
> Thanks,
>
> Andrei Sekretenko
>
>