Commit graph

1552 commits

Author SHA1 Message Date
Buck Doyle 70a0253f0d
Update loading spinner to be logo-based (#9106)
Thanks to @mikehobi, whose work here this is adapted from:
https://icons8.com/cssload/en/3d-loaders
2020-10-15 16:05:58 -05:00
Michael Lange 5c34e94529 Typo 2020-10-15 11:45:59 -07:00
Michael Lange 329fecac6d Work around Safari's lack of text transform support 2020-10-15 11:45:59 -07:00
Michael Lange 2309baf080 Factor out the common sum aggregator used in the topology controller 2020-10-15 11:45:59 -07:00
Michael Lange f3300bcbf0 Remove the scenarios I didn't need/didn't get to 2020-10-15 11:45:59 -07:00
Michael Lange 56bf526778 Describe the glimmer-factory better including the motive 2020-10-15 11:45:59 -07:00
Michael Lange 41df088abe Reset the standard environment values 2020-10-15 11:45:59 -07:00
Michael Lange 649873745f Treat legend term pairs as single wrapping elements 2020-10-15 10:30:34 -07:00
Michael Lange 97510a8397 Some light topology acceptance tests 2020-10-15 03:06:51 -07:00
Michael Lange a2b57c15eb Unit and integration tests for TopoViz component 2020-10-15 02:54:16 -07:00
Michael Lange c8ea019629 Test coverage for TopoViz::Datacenter 2020-10-15 02:54:16 -07:00
Michael Lange 8b96667a61 Remove temp reloading of nodes in the TopoViz component 2020-10-15 02:54:16 -07:00
Michael Lange 4f537c8511 Update scenarios to use new resources code 2020-10-15 02:54:16 -07:00
Michael Lange 9fc33a1f9b Adjust topo viz controller to new resource code 2020-10-15 02:54:16 -07:00
Michael Lange f918987d51 Unit test for for GiB in format-bytes 2020-10-15 02:54:16 -07:00
Michael Lange 3c39895168 Update topo viz code to use new alloc/node resources pattern 2020-10-15 02:54:16 -07:00
Michael Lange 64fc738733 Migrate to the new resources properties for allocs and nodes 2020-10-15 02:54:16 -07:00
Michael Lange b2b7d5e19e Test coverage for TopoViz::Node 2020-10-15 02:54:16 -07:00
Michael Lange 78b1efc531 FlexMasonry integration tests 2020-10-15 02:54:15 -07:00
Michael Lange e21a2a03b2 More information about clients in the info panel 2020-10-15 02:54:15 -07:00
Michael Lange ba8675ae87 Filter total alloc count by only scheduled allocs 2020-10-15 02:54:15 -07:00
Michael Lange d9ac6a63c6 Add icons to denote draining or ineligibility of clients 2020-10-15 02:54:15 -07:00
Michael Lange 7477f32012 Label empty clients in the topo viz chart 2020-10-15 02:54:15 -07:00
Michael Lange f3aed88a10 Improved curves for allocation associations 2020-10-15 02:54:15 -07:00
Michael Lange ef12488d1c Fix a re-render bug with flexmasonry 2020-10-15 02:54:15 -07:00
Michael Lange 066502d408 Make the topo viz denser when there are >50 nodes
By hiding node details and making nodes interactive instead, we can pack
more allocations on a screen.
2020-10-15 02:54:15 -07:00
Michael Lange 6e55d8a6eb Conditionally use the FlexMasonry layout for datacenters within TopoViz 2020-10-15 02:54:15 -07:00
Michael Lange 1602d72789 Apply FlexMasonry to the TopoViz component 2020-10-15 02:54:15 -07:00
Michael Lange f27895c4c8 New FlexMasonry component implements a masonry layout using flexbox 2020-10-15 02:54:15 -07:00
Michael Lange d9083fdde6 Second attempt at a masonry layout 2020-10-15 02:54:15 -07:00
Michael Lange 99746a24ac A better loading screen for the topo viz while nodes load 2020-10-15 02:54:14 -07:00
Michael Lange 6d99f96425 Connect the memory and cpu rectangles 2020-10-15 02:54:14 -07:00
Michael Lange 0ab6b31cab Refactor topo viz to do as much computation upfront & use faster data structures
Now all data loading happens in the TopoViz component as well as
computation of resource proportions.

Allocation selection state is also managed centrally uses a dedicated
structure indexed by group key (job id and task group name). This way
allocations don't need to be scanned at the node level, which is O(n) at
the best (assuming no ember overhead on recomputes).
2020-10-15 02:54:14 -07:00
Michael Lange 7d75421a75 Make the alloc select render path more efficient by not needlessly recomputing data 2020-10-15 02:54:14 -07:00
Michael Lange 872ca3dd5c Add more variety to the node heights 2020-10-15 02:54:14 -07:00
Michael Lange 4c155b5da4 CSS Grid based masonry layout
TBH, it's buggy and I don't like it.
2020-10-15 02:54:14 -07:00
Michael Lange 5b55f3c740 Medium scale topo scenario 2020-10-15 02:54:14 -07:00
Michael Lange fb1deb5c40 Updated alloc and cluster details on topo page 2020-10-15 02:54:14 -07:00
Michael Lange 24d0481889 Guard against undefined denominators 2020-10-15 02:54:14 -07:00
Michael Lange 5bc4d1f1d5 Associate sibling allocations by drawing lines 2020-10-15 02:54:14 -07:00
Michael Lange e4907dc647 Super rough allocation details, needs some style love 2020-10-15 02:54:14 -07:00
Michael Lange cab4e618fc Add cluster details to the topology page 2020-10-15 02:54:13 -07:00
Michael Lange 87a902db0c Touch up topo viz interactions 2020-10-15 02:54:13 -07:00
Michael Lange 831d27efd6 Fleshing out the first prototype of the topology visualization 2020-10-15 02:54:13 -07:00
Michael Lange 49736aed46 Tweak topo scenario 2020-10-15 02:54:13 -07:00
Michael Lange 000c00e920 Start click interaction for topo viz allocs 2020-10-15 02:54:13 -07:00
Michael Lange 78ae8fd78b Fix factory bug that made it so pending allocs had no resources 2020-10-15 02:54:13 -07:00
Michael Lange b347141e0c Prototype of the topo viz
- Plot all datacenters
- For each datacenter, plot all nodes
- For each node, plot all allocations by memory and cpu
- For empty nodes, highlight the emptiness
- When hovering over allocations, give them visual focus
2020-10-15 02:54:13 -07:00
Michael Lange fcf8adb76e Quick window resize modifier 2020-10-15 02:54:13 -07:00
Michael Lange 640f1b6716 Add ember modifiers addon 2020-10-15 02:54:13 -07:00