Commit Graph

72 Commits

Author SHA1 Message Date
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
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
4612738580 Added comma-separated URL params 2017-03-27 10:06:56 -07:00
Filip Barl
ddb65347c9 Make a doRequest instead of fetch. 2017-03-24 21:31:44 +01: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
38d2b8ddff Added more granular JS API exports 2017-03-08 10:54:56 -08:00
jpellizzari
d775020794 Added logic to turn off network requests when Scope dismounts 2017-03-01 14:03:27 -08:00
jpellizzari
b417bcda80 Fix for .fail undefined on doRequest 2017-02-28 21:55:56 -08:00
jpellizzari
4f9725612b Fixed window undefined condition for CSRF token 2017-02-27 11:26:29 -08:00
Jordan Pellizzari
0a99d04b4b Consolidated API requests into single helper; added CSRF header 2017-02-20 09:34:18 -08:00
jpellizzari
8b1ca73179 Added changeInstance action; exported actions to public API 2017-02-09 13:44:30 -08:00
jpellizzari
7a1843ca15 Added json type to api requests 2017-02-07 08:48:44 -08:00
Jordan Pellizzari
f65f39b128 Refactored API URL generation to function calls and added tests 2017-02-03 12:32:35 -08:00
David Kaltschmidt
f86dd128e0 Hotfix for URL issue
Pertains to #2154
2017-01-30 13:05:28 +01:00
jpellizzari
5e461cd3ba Fix for URLs in contrast mode 2017-01-27 08:13:17 -08:00
jpellizzari
74ab685343 Added iframe and standalone logic to web-api-utils 2017-01-26 13:54:37 -08:00
jpellizzari
0bf7fa49dd Exported wsUrl constant from web-api-utils for the terminal component 2017-01-24 11:25:03 -08:00
jpellizzari
0575e85ca1 Changed API URLs when running as dependency 2017-01-24 11:25:02 -08:00
jpellizzari
71485db4df Removed leading slash from getAllNodes() api request 2017-01-11 14:20:18 -08:00
jpellizzari
2b83ebd74c Added control status icon to Terminal header 2016-12-13 10:04:05 -08:00
Simon Howe
4004b21fa2 Allow resizing on attached pipes too. 2016-11-04 10:03:51 +01:00
Simon Howe
d3878cc8df Don't resize terminal if we don't receive a resize control (e.g. onAttach)
- Fix text selection in terminal (was our force focus stuff, introduced
  if you clicked on the black border that was not actually the terminal
2016-11-03 10:24:38 +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
Simon Howe
305bf7680a Resizing working w/ containers! 2016-10-31 15:29:53 +01:00
David Kaltschmidt
60037c8c7c Prevent querystrings from starting with &
Fixes #1953
2016-10-27 16:02:25 +02: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
David Kaltschmidt
c4154bc770 Add browser console logging for websocket to render times
Print a log message when the time from websocket creation to first
render takes too long (100ms).
2016-08-02 17:14:31 +02:00
David Kaltschmidt
3473beec98 Blur search when opening a terminal 2016-05-12 19:35:21 +02:00
David Kaltschmidt
50935dd456 Fetch topologies sequentially on search 2016-05-11 18:08:59 +02:00
David Kaltschmidt
5a325e46fa Search on canvas
* adds a search field next to the topologies
* highlight results on canvas as you type
* non-matching nodes are grayed out
* "prefix:" limits search to field label
2016-05-11 18:08:59 +02:00
David Kaltschmidt
96aae9bc99 Migrate from Flux to Redux
* better state visibility
* pure state changes
* state debug panel (show: crtl-h, move: ctrl-w)
2016-04-27 17:21:46 +02:00
David Kaltschmidt
62ed88cf16 Close details panel when node was removed via control 2016-04-21 18:34:51 +02:00
David Kaltschmidt
8bdebe9848 Reduce CPU consumption if UI cannot connect to backend
* blank keyframes for blinking Connect animation
* increased topology API retry timer interval

Fixes #1220
2016-04-06 11:13:11 +02:00
Simon Howe
17c8bc2b12 Fixes term error handling 2016-03-16 11:33:56 +01:00
David
d9938c80bb Merge pull request #1171 from weaveworks/npm-updates
React/lodash/babel upgrades + updated linting (linted)
2016-03-16 10:19:16 +01:00
Tom Wilkie
581b711eb4 Websocket and pipe fixes. 2016-03-15 17:13:49 +00:00
David Kaltschmidt
e4270f69b7 Upgraded dev deps and linted JS according to latest airbnb rules 2016-03-15 18:09:45 +01:00
David Kaltschmidt
4b4b27e6a8 Handle server disconnects gracefully in the UI
Keeps the scope UI's CPU usage low in the browser when the backend is
not reachable

* dont update app state when repeated errors come in
* dont update app state when websocket keeps failing
* adjust first loading text, and show icon to draw attention
2016-03-07 19:52:52 +01:00
Simon Howe
186a45e052 Fixes the pipe-alive check when running scope-ui under a path 2016-03-03 14:44:43 +01:00
Alfonso Acosta
b9393e9e39 Review feedback 2016-03-03 12:35:04 +00:00
Alfonso Acosta
579001059a Add pipe/{pipeID}/check endpoint 2016-03-03 11:22:31 +00:00
Simon Howe
ac5d258378 Fixes scope working under a path
- Adds proxy server for easy testing of scope under a path.
2016-02-18 14:17:51 +01:00
David Kaltschmidt
531068179c High contrast mode switch
* added button to the bottom right to switch to higher contrast,
* suitable for projectors
* increased contrast between background and text colors
* thicker strokes around chart elements
* ensure yellow details panel backgrounds are darker
2016-02-15 16:20:40 +00:00
David Kaltschmidt
64f08dcf96 Metric feeder as higher order component to feed sparklines data 2016-02-03 16:25:54 +01:00
David Kaltschmidt
d39fd847b7 Details Panel UI Redesign
Refactored nodedetails to support multiple data sets, probably broke some tests
  Allow api requests to out-of-view topologies
  Fix ESC behavior with details panel
  Stack details panel like cards
  Details pain side-by-side
  Details panel piles
  Fix node details table header styles
  Render load and not-found captions like relatives
  Fix topology click action
  Make node detail tables sortable
  Grouped metrics for details health
  Group metrics in same style
  Link node details children
  Fix scroll issues on double-details
  Fix DESC sort order for node details table
  Save selected node labels in state - allows rendering of node labels from other topologies before details are loaded
  Change detail card UX, newest one at top, pile at bottom
  Details panel one pile w/ animation
  Sort details table nodes by metadata too
  Animate sidepanel from children too
  Fix radial layout
  Dont set origin if a node was already selected, suppresses animation
  stack effect: shift top cards to the left, shrink lower cards vertically
  Clear details card stack if sibling is selected
  Check if node is still selected on API response
  Make detail table sorters robust against non-uniform metadata
  Dont show scrollbar all the time, fix sort icon issue
  Button to show topology for relative
  Overflow metrics for details panel health
  Fix JS error when no metrics are available for container image details
  Column-based rendering of node details table
  Fix JS tests
  Review feedback (UI)
2016-01-19 16:47:05 +01:00
Simon Howe
5b390994b8 Fix node controls so they behave independently across nodes
If one node was busy performing an action, any other nodes controls
would also be in a 'blocked and waiting' state.
2016-01-05 19:17:10 +01:00