Commit Graph

107 Commits

Author SHA1 Message Date
Filip Barl
2183a93916 Time Travel 3.0 (#2703)
* Experimental.

* Getting somewhere.

* Good zooming behaviour.

* Working timeline zooming & panning.

* Clickable timestamps.

* Dragging cursor

* Timeline panning buttons.

* Capping at current time.

* Scale limits.

* Better ticks.

* Time tags fading in smoothly.

* Removed seconds.

* Better tick spacing.

* Vertical panning as zooming.

* Organizing the code..

* Replaced d3-zoom with native events.

* Got rid of scaleX

* More code beautified.

* Almost done polishing the code.

* Some cleanup.

* Better request triggers.

* More cleaning up.

* Styled the timestamp input.

* Final cleanup.

* Update yarn.lock

* Zoom tracking.

* Animate timeline translations.

* Fixed the PAUSE button glitch and updating the time control info.

* Opacity fix and timeline arrows removed.

* Fixed the red vertical bar.

* Use preventDefault() on timeline scrolling.
2017-07-27 14:40:20 +02:00
Filip Barl
8f1fdeb477 Make Resource view nodes clickable (#2679)
* Made Resource view nodes clickable.

* Remove selection when clicking on the background.

* Use opacity instead of the blue overlay for selected nodes.
2017-07-25 17:46:17 +02:00
Roland Schilter
4f1d02f590 Merge pull request #2720 from weaveworks/2716-fix-newVersion-notification-not-showing
Fix New Version notification not showing
2017-07-19 11:45:29 +02:00
Roland Schilter
1f784ad5fa Fix New Version notification not showing
Fixes #2716.
2017-07-17 16:32:27 +02:00
Roland Schilter
5329efa528 Reset nodes in frontend when scope-app restarted
When the scope-app restarts, it no longer has a
reference to the previous node set. Therefore,
the delta update adds *all* nodes but does not
remove legacy ones.

`reset==true` tells the frontend to start fresh.

Fixes #2708
2017-07-13 14:28:17 +02:00
Filip Barl
8f2d47ce4e Time travel redesign (#2651)
* Initial top level control.

* Added the jump buttons.

* Tiny styling adjustments.

* Massive renaming.

* Pause info

* Added slider marks.

* Improved messaging.

* Freeze all updates when paused.

* Repositioned for Configure button.

* Improved the flow.

* Working browsing through slider.

* Small styling.

* Hide time travel button behind the feature flag.

* Fixed actions.

* Elements positioning corner cases.

* Removed nodes delta buffering code.

* Fixed the flow.

* Fixed almost all API call cases.

* Final touches

* Fixed the tests.

* Fix resource view updates when time travelling.

* Added some comments.

* Addressed some of @foot's comments.
2017-07-06 16:06:55 +02:00
Filip Barl
eb64d3f09b Make API calls with time travel timestamp (#2600)
* Node details fetching reports at proper timestamp.

* Corrected all the relevant timestamps in the UI.

* Renamed some state variables.

* Time travel works for topologies list.

* Added a whole screen overlay for time travel.

* Polished the backend.

* Make time travel work also with the Resource View.

* Fixed the jest tests.

* Fixed the empty view message for resource view.

* Some naming polishing.

* Addressed the comments.
2017-06-20 12:31:22 +02:00
Filip Barl
c4e0be45de Moved pause button back to footer. (#2585) 2017-06-14 11:39:45 +02:00
Filip Barl
b6dfe25499 Time travel control (#2524)
* Hacky working prototype.

* Operate with time.Duration offset instead of fixed timestamp.

* Polished the backend code.

* Made a nicer UI component.

* Small refactorings of the websockets code.

* Fixed the backend tests.

* Better websocketing and smoother transitions

* Small styling refactoring.

* Detecting empty topologies.

* Improved error messaging.

* Addressed some of David's comments.

* Moved nodesDeltaBuffer to a global state to fix the paused status rendering bug.

* Small styling changes

* Changed the websocket global state variables a bit.

* Polishing & refactoring.

* More polishing.

* Final refactoring.

* Addressed a couple of bugs.

* Hidden the timeline control behind Cloud context and a feature flag.

* Addressed most of @davkal's comments.

* Added mixpanel tracking.
2017-06-12 11:22:17 +02:00
jpellizzari
3ec7cc82e6 Added service images widget 2017-05-03 10:31:25 -07:00
Filip Barl
65b9b48b53 Added mixpanel tracking for some basic events (#2462)
* Added mixpanel tracking for bunch of events.

* Changed hitEnter action to pinSearch.

* Moved all the event tracking out of app-actions.js

* Addressed @foot's comment.

* Added more keypress events tracking.

* Disable 'r' keyboard shortcut when Resource View is disabled
2017-04-27 14:26:07 +02:00
Filip Barl
23fb14d0be Polished the metric selection logic (#2468)
* Polished the metric selection code

* Fixed hovering advantage over pinning.
2017-04-26 16:18:42 +02:00
Filip Barl
3e039a3143 Hide the opened help panel when clicking on the search bar icon. (#2406) 2017-03-28 13:04:41 +02:00
jpellizzari
fff47ee609 Added 'addOrRemove' flag to change topology action 2017-03-27 10:06:56 -07:00
Filip Barl
f633c6edb1 Fetch the resource view topologies on first topologies load 2017-03-24 18:45:58 +01:00
Filip Barl
69fd397217 Initial version of the resource view (#2296)
* Added resource view selector button

* Showing resource boxes in the resource view

* Crude CPU resource view prototype

* Improved the viewMode state logic

* Extracted zooming into a separate wrapper component

* Split the layout selectors between graph-view and resource-view

* Proper zooming logic for the resource view

* Moved all node networks utils to selectors

* Improved the zoom caching logic

* Further refactoring of selectors

* Added sticky labels to the resource boxes

* Added panning translation limits in the resource view

* Renamed GridModeSelector -> ViewModeSelector

* Polished the topology resource view selection logic

* Search bar hidden in the resource view

* Added per-layer topology names to the resource view

* Made metric selectors work for the resource view

* Adjusted the viewport selectors

* Renamed viewport selector to canvas (+ maximal zoom fix)

* Showing more useful metric info in the resource box labels

* Fetching only necessary nodes for the resource view

* Refactored the resource view layer component

* Addressed first batch UI comments (from the Scope meeting)

* Switch to deep zooming transform in the resource view to avoid SVG precision errors

* Renamed and moved resource view components

* Polished all the resource view components

* Changing the available metrics selection

* Improved and polished the state transition logic for the resource view

* Separated zoom limits from the zoom active state

* Renaming and bunch of comments

* Addressed all the UI comments (@davkal + @fons)

* Made graph view selectors independent from resource view selectors
2017-03-24 14:51:53 +01:00
jpellizzari
0f86ad1bed Prevent client polling after shutdown 2017-03-20 18:35:04 -07:00
jpellizzari
f975c12cf9 Change to re-fetch topologies on instance switch 2017-03-13 15:48:51 -07:00
Jordan Pellizzari
743ead7678 Merge pull request #2290 from weaveworks/cancel-polling
Add logic to turn off network requests when Scope dismounts
2017-03-08 11:36:19 -08:00
jpellizzari
a2ddc27a15 Removed contrastMode from url state 2017-03-02 15:43:35 -08:00
jpellizzari
d775020794 Added logic to turn off network requests when Scope dismounts 2017-03-01 14:03:27 -08:00
Filip Barl
19202a2e44 Fixed the selectors performance leaks. 2017-03-01 12:14:36 +01:00
Filip Barl
11ce5638c5 Moved nodes-chart-layout.
Moved nodes-chart-zoom.

Moved zoomCache to global state.

Moved nodes-chart-focus.

Fixed some bugs and polished the code.

Keeping track of topology options in zoomCache.

Fixed forceRelayout and circular layout.

Unified graph complexity heuristic criterion.
2017-03-01 12:14:36 +01:00
jpellizzari
f2f474ac80 Change to load contrast theme dynamically 2017-02-21 10:29:43 -08:00
Jordan Pellizzari
341446fa93 Merge pull request #2237 from weaveworks/change-instance
Add logic to remove non-transferrable state when switching Cloud instances
2017-02-20 10:47:45 -08:00
jpellizzari
3d13e916af Added logic to remove non-transferrable state keys when switching Cloud instances 2017-02-20 10:28:01 -08:00
Filip Barl
b9ba83ffca Moved the node networks computation to selectors. 2017-02-20 10:58:26 +01:00
jpellizzari
c9048d8661 Revert "Merge pull request #2204 from weaveworks/contrast-as-component"
This reverts commit 68e8cbf4f6, reversing
changes made to 00408b84e8.

Reverts bug where contrast mode is showing by default
2017-02-14 10:59:34 -08:00
Jordan Pellizzari
68e8cbf4f6 Merge pull request #2204 from weaveworks/contrast-as-component
Added dynamic contrast-mode toggle
2017-02-14 09:54:23 -08:00
Jordan Pellizzari
63dc4e1b3e Added dynamic contrast-mode toggle 2017-02-13 09:49:55 -08:00
jpellizzari
8b1ca73179 Added changeInstance action; exported actions to public API 2017-02-09 13:44:30 -08:00
jpellizzari
62448ee7cb Added debugging/troubleshooting menu; Moved troubleshooting icons 2017-01-05 13:46:51 -08:00
jpellizzari
edf94a4da8 Added control to reset local view state 2017-01-05 13:36:55 -08:00
Jordan Pellizzari
32bb7c37aa Merge pull request #2087 from weaveworks/1982-control-indicator
Add control status icon to Terminal header
2016-12-20 07:39:30 -08:00
Filip Barl
26b3e9efc9 Reapplied all the eslint upgrade changes 2016-12-15 15:04:53 +01:00
jpellizzari
2b83ebd74c Added control status icon to Terminal header 2016-12-13 10:04:05 -08:00
David
99bfab89b7 Revert "Upgraded eslint & eslint-config-airbnb" 2016-12-12 16:06:13 +01:00
fbarl
0cb48f6d71 Upgraded eslint, airbnb linting rules, and made trivial fixes 2016-12-12 10:55:45 +01:00
fbarl
524e2e2e9a Importing lodash util functions explicitly. 2016-12-09 14:03:31 +01:00
Simon Howe
487635cb62 Adds terminal resizing on hosts.
Adds terminal resizing on popped out windows
2016-10-31 18:11:10 +01:00
Alfonso Acosta
ffdcc2367e Only send filters to nodes from the current topology
This reverts commit 699fe45e65.
2016-10-05 16:54:36 +00:00
Simon Howe
699fe45e65 Details panel: send topology options of node type being loaded 2016-10-05 12:23:31 +02:00
Alfonso Acosta
7a3dad2ceb Add filters to details panel request 2016-10-04 17:35:28 +00:00
Simon Howe
a2810afaf1 Fixes grid -> topo transition.
- Also don't show table borders when no nodes.
- 't' toggles table mode on/off, rather than 't'/v'
2016-08-03 08:51:07 +02:00
Simon Howe
df1efff19b Force a layout after a toggle to viz-mode 2016-08-03 08:51:06 +02:00
Simon Howe
d0b99969ea Grid-mode tuning!
- Change scrolling behaviour to lock headers in place
- Enable filtering (hitting enter in the search bar) in grid-mode
- Little more top-margin for k8s (can have 3 topos) + taller rows.
- Trying out rank-color + node.relatives in the grid-mode
- First pass at selecting rows.
  - Needs a bit more a fiddle, colors + click areas
- Store grid sort direction (asc/desc) in url state
- Simplify node selection to one method. (over-ride existing card)
  - Remove clicking on name directly (links) to overlay new cards for now.
- Playing w/ grid-mode-toggle icons and labels
- Improves rendering in ff, change of shortcut keys for grid-mode-toggle
- Playing w/ clearer selection colors for grid-mode
- Slight change to selection-ui
- Fixes showNodeInTopology button visibility on the details-panel
  - Was using an old heuristic. Table-mode allows you to open child cards
    before the parent.
- Make it clear what the default sort is in tables
  - E.g. always show a sorting caret
- Sort grid-mode columns, first meta then metrics
- dancing-nodes rememdy #1: pause updates onRowHover
- Splits relatives out into their own columns
- Take into account scrollbar width for grid-mode col header position
- Tooltips on table column headers
- grid-mode: fixes first column headers (proc/container/c-by-image)
- Disable pause-on-hover, too aggresive
- reduce label column width a bit (33pc -> 25pc) for big tables
- Filter grid-mode onSearchChange
  - Rather than previous behaviour of waiting for an <enter>
- Show label_minor on pseudo nodes, that might not have much other info
- grid-mode: further reduce width of id column.
- Fixes go tests, properly moves parents into node-summary
- Fixes sorting of string columns w/ missing fields.
  - E.g. uptime. Where -1e-10 > '3days' doesn't work.
2016-08-03 08:50:37 +02:00
Simon Howe
fa502ae6ad Removes the combined table-topo-view 2016-08-03 08:46:17 +02:00
Simon Howe
c51e290127 Node grid view
More graphs!

Rank is not support by dagre any longer..

Quick go at using facebook's fixed-data-table

Kind of working, kind of interesting.

Hack on the details-panel table, supports sorting etc already!

No, this one! Hacks on the details panel's table.

Hovering on the table works! (highlights nodes)

wip get sorting going

Working on sorting, not behaving!

Pulling out methods to fns

Kind of demoable

More hacks to make it demoable
2016-08-03 08:37:17 +02:00
Simon Howe
335cc1154a Smooth fade-out of node-loading message 2016-07-28 16:28:54 +02:00
Simon Howe
04f4071fd3 Handle loading message for empty topos correctly.
It was showing infinite loading...
2016-07-28 16:28:54 +02:00