You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@mesos.apache.org by Andrei Sekretenko <as...@mesosphere.io> on 2019/07/29 16:44:49 UTC

Review Request 71178: WIP: Implemented displaying roles of multi-role frameworks as a tree.

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/71178/
-----------------------------------------------------------

Review request for mesos.


Bugs: MESOS-8503
    https://issues.apache.org/jira/browse/MESOS-8503


Repository: mesos


Description
-------

WIP: Implemented displaying roles of multi-role frameworks as a tree.


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-root.html PRE-CREATION 
  src/webui/app/shared/tree.html PRE-CREATION 
  src/webui/assets/css/mesos.css 0ff47cda36cc897f2e8f43804d38046f3e27e575 


Diff: https://reviews.apache.org/r/71178/diff/1/


Testing
-------


Thanks,

Andrei Sekretenko


Re: Review Request 71178: Implemented displaying roles of multi-role frameworks as a tree.

Posted by Andrei Sekretenko <as...@mesosphere.io>.

> On Sept. 14, 2019, 8:08 p.m., Meng Zhu wrote:
> > src/webui/app/app.js
> > Lines 276 (patched)
> > <https://reviews.apache.org/r/71178/diff/3/?file=2162768#file2162768line276>
> >
> >     s/g/'g'/

Thanks for noticing!


> On Sept. 14, 2019, 8:08 p.m., Meng Zhu wrote:
> > src/webui/app/frameworks/roles.html
> > Lines 1 (patched)
> > <https://reviews.apache.org/r/71178/diff/3/?file=2162773#file2162773line1>
> >
> >     Dose this mean, if the framework has less than three roles, we will just join them with space?
> >     
> >     I would still prefer a list even if there are only two roles, will be clearer and consistent?

Exactly.

Changed this to two, so that a string is shown only if a framework has subscribed with only one role or no roles.
Not entirely sure about clarity, but more consistent indeed.


- Andrei


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/71178/#review217741
-----------------------------------------------------------


On Sept. 18, 2019, 1:23 p.m., Andrei Sekretenko wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/71178/
> -----------------------------------------------------------
> 
> (Updated Sept. 18, 2019, 1:23 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/frameworks/roles-tree-root.html PRE-CREATION 
>   src/webui/app/frameworks/roles-tree.html PRE-CREATION 
>   src/webui/app/frameworks/roles.html PRE-CREATION 
>   src/webui/assets/css/mesos.css 0ff47cda36cc897f2e8f43804d38046f3e27e575 
> 
> 
> Diff: https://reviews.apache.org/r/71178/diff/4/
> 
> 
> 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: collapsed tree, expanded tree and a framework with only two rolesnd a framework e
>   https://reviews.apache.org/media/uploaded/files/2019/08/23/ce65874e-56f2-4ddd-9135-f428515a193b__brief_roles.png
> "Framework" page with a roles tree
>   https://reviews.apache.org/media/uploaded/files/2019/08/23/f99ddea3-afb6-44d2-9e1b-fb1f9fdb77e8__framework_page.png
> 
> 
> Thanks,
> 
> Andrei Sekretenko
> 
>


Re: Review Request 71178: Implemented displaying roles of multi-role frameworks as a tree.

Posted by Meng Zhu <mz...@mesosphere.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/71178/#review217741
-----------------------------------------------------------


Fix it, then Ship it!




Thanks for doing this!!!

js newbee here. Just some minor comments. The screenshot looks great to me!


src/webui/app/app.js
Lines 276 (patched)
<https://reviews.apache.org/r/71178/#comment305099>

    s/g/'g'/



src/webui/app/frameworks/roles.html
Lines 1 (patched)
<https://reviews.apache.org/r/71178/#comment305097>

    Dose this mean, if the framework has less than three roles, we will just join them with space?
    
    I would still prefer a list even if there are only two roles, will be clearer and consistent?


- Meng Zhu


On Aug. 23, 2019, 10:34 a.m., Andrei Sekretenko wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/71178/
> -----------------------------------------------------------
> 
> (Updated Aug. 23, 2019, 10:34 a.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/frameworks/roles-tree-root.html PRE-CREATION 
>   src/webui/app/frameworks/roles-tree.html PRE-CREATION 
>   src/webui/app/frameworks/roles.html PRE-CREATION 
>   src/webui/assets/css/mesos.css 0ff47cda36cc897f2e8f43804d38046f3e27e575 
> 
> 
> Diff: https://reviews.apache.org/r/71178/diff/3/
> 
> 
> 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: collapsed tree, expanded tree and a framework with only two rolesnd a framework e
>   https://reviews.apache.org/media/uploaded/files/2019/08/23/ce65874e-56f2-4ddd-9135-f428515a193b__brief_roles.png
> "Framework" page with a roles tree
>   https://reviews.apache.org/media/uploaded/files/2019/08/23/f99ddea3-afb6-44d2-9e1b-fb1f9fdb77e8__framework_page.png
> 
> 
> Thanks,
> 
> Andrei Sekretenko
> 
>


Re: Review Request 71178: Implemented displaying roles of multi-role frameworks as a tree.

Posted by Andrei Sekretenko <as...@mesosphere.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/71178/
-----------------------------------------------------------

(Updated Sept. 18, 2019, 1:40 p.m.)


Review request for mesos, Benjamin Mahler and Meng Zhu.


Changes
-------

Added screenshot with two roles


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/frameworks/roles-tree-root.html PRE-CREATION 
  src/webui/app/frameworks/roles-tree.html PRE-CREATION 
  src/webui/app/frameworks/roles.html PRE-CREATION 
  src/webui/assets/css/mesos.css 0ff47cda36cc897f2e8f43804d38046f3e27e575 


Diff: https://reviews.apache.org/r/71178/diff/4/


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 (updated)
----------------

Frameworks table: collapsed tree, expanded tree and a framework with only two rolesnd a framework e
  https://reviews.apache.org/media/uploaded/files/2019/08/23/ce65874e-56f2-4ddd-9135-f428515a193b__brief_roles.png
"Framework" page with a roles tree
  https://reviews.apache.org/media/uploaded/files/2019/08/23/f99ddea3-afb6-44d2-9e1b-fb1f9fdb77e8__framework_page.png
Framework with two roles
  https://reviews.apache.org/media/uploaded/files/2019/09/18/4bd31618-69d4-41e2-971e-e0573c2635ce__two_roles.png


Thanks,

Andrei Sekretenko


Re: Review Request 71178: Implemented displaying roles of multi-role frameworks as a tree.

Posted by Andrei Sekretenko <as...@mesosphere.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/71178/
-----------------------------------------------------------

(Updated Sept. 18, 2019, 1:23 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 (updated)
-----

  src/webui/app/app.js f6f11384f35b260dcaff432c884dc063ea5e0f0e 
  src/webui/app/frameworks/framework.html 82f6b279a9416d147fcfab094a326d67d0951dcc 
  src/webui/app/frameworks/frameworks.html d37c6137b638a27e5bd0f70f08733d81550b3ace 
  src/webui/app/frameworks/roles-tree-root.html PRE-CREATION 
  src/webui/app/frameworks/roles-tree.html PRE-CREATION 
  src/webui/app/frameworks/roles.html PRE-CREATION 
  src/webui/assets/css/mesos.css 0ff47cda36cc897f2e8f43804d38046f3e27e575 


Diff: https://reviews.apache.org/r/71178/diff/4/

Changes: https://reviews.apache.org/r/71178/diff/3-4/


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: collapsed tree, expanded tree and a framework with only two rolesnd a framework e
  https://reviews.apache.org/media/uploaded/files/2019/08/23/ce65874e-56f2-4ddd-9135-f428515a193b__brief_roles.png
"Framework" page with a roles tree
  https://reviews.apache.org/media/uploaded/files/2019/08/23/f99ddea3-afb6-44d2-9e1b-fb1f9fdb77e8__framework_page.png


Thanks,

Andrei Sekretenko


Re: Review Request 71178: Implemented displaying roles of multi-role frameworks as a tree.

Posted by Andrei Sekretenko <as...@mesosphere.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/71178/
-----------------------------------------------------------

(Updated Aug. 23, 2019, 5:34 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 (updated)
-----

  src/webui/app/app.js f6f11384f35b260dcaff432c884dc063ea5e0f0e 
  src/webui/app/frameworks/framework.html 82f6b279a9416d147fcfab094a326d67d0951dcc 
  src/webui/app/frameworks/frameworks.html d37c6137b638a27e5bd0f70f08733d81550b3ace 
  src/webui/app/frameworks/roles-tree-root.html PRE-CREATION 
  src/webui/app/frameworks/roles-tree.html PRE-CREATION 
  src/webui/app/frameworks/roles.html PRE-CREATION 
  src/webui/assets/css/mesos.css 0ff47cda36cc897f2e8f43804d38046f3e27e575 


Diff: https://reviews.apache.org/r/71178/diff/3/

Changes: https://reviews.apache.org/r/71178/diff/2-3/


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.


Thanks,

Andrei Sekretenko


Re: Review Request 71178: Implemented displaying roles of multi-role frameworks as a tree.

Posted by Benjamin Mahler <bm...@apache.org>.
-----------------------------------------------------------
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
> 
>


Re: Review Request 71178: Implemented displaying roles of multi-role frameworks as a tree.

Posted by Andrei Sekretenko <as...@mesosphere.io>.
-----------------------------------------------------------
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.


Summary (updated)
-----------------

Implemented displaying roles of multi-role frameworks as a tree.


Bugs: MESOS-8503
    https://issues.apache.org/jira/browse/MESOS-8503


Repository: mesos


Description (updated)
-------

This patch makes the UI pages `frameworks` and `framework` display
roles of multi-role frameworks as collapsible tree (instead of a list).


Diffs (updated)
-----

  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/

Changes: https://reviews.apache.org/r/71178/diff/1-2/


Testing (updated)
-------

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.


Thanks,

Andrei Sekretenko