Commit Graph

279 Commits

Author SHA1 Message Date
Simon Howe
d5c49e5277 Fixes tests: add sessionStorage mock 2018-08-27 18:50:10 +02:00
Simon Howe
1906e319a9 Read from sessionStorage before localStorage when loading view state 2018-08-27 16:20:40 +02:00
Simon Howe
3791198edc Adds a scope-cmp prop to disable storing the view state in localStorage
- Scope will forget where it was last opened.
2018-08-23 15:44:33 +02:00
Filip Barl
af99a95100 Update localStorage with Scope state also on initial router hook. 2018-08-13 17:56:16 +02:00
Filip Barl
65dad7242e Removed old graph nodes obsolete code. 2018-08-09 12:31:12 +02:00
Filip Barl
b05563d9ab Made searching and metric fills work. 2018-08-09 12:31:12 +02:00
Filip Barl
ecc5f5ed63 Separate API endpoint namespace from URL path part. 2018-06-11 15:56:28 +02:00
Bryan Boreham
8c18a785e7 Merge pull request #3132 from openebs/add-pv-pvc-support
Add Kubernetes Storage (pv and pvc) support in Weave Scope
2018-06-08 12:41:21 +01:00
Satyam Zode
d26b2c3805 Add Kubernetes storage class resource to weave scope
This will:

- Add StorageClass resource. Storage classes are mentioned
in the PVC spec. We're using storage class name from PVC spec to
add adjacency to the PVC node.
- Add square sheet shape for StorageClass.
- Add storage filter in the PODS topology.
Storage Filter will allow user to see distinct view of
stateful applications.
- Add visually distinct edge to show storage adjacency.

Signed-off-by: Satyam Zode <satyam.zode@openebs.io>
2018-06-08 16:36:29 +05:30
Satyam Zode
2f69973de6 Add adjacencies for kubernetes storage components
- Kubernetes storage components such as PV and PVC are connected based on two
parameters Persistent volume claim name and Persistent Volume name.
- PVC contains the volume name which is, PV name itself. Hence, we can
show edge for PVC and PV.
- This will bring higher level visibility for kubernetes storage components.

Signed-off-by: Satyam Zode <satyam.zode@openebs.io>
2018-06-07 17:04:56 +05:30
Satyam Zode
23210a6a77 Add Kubernetes volumes support in Weave Scope
This will

- Add Kubernetes volume resources such as PV, PVC.
- Add shapes for Kubernetes PV and PVC
- Add `Cylinder` shape for PV and `Dotted Cylinder` shape for PVC.

Signed-off-by: Satyam Zode <satyam.zode@openebs.io>
2018-06-07 17:01:29 +05:30
jpellizzari
109667bcdb Change URL resolution to accomodate Weave Cloud paths 2018-05-15 12:00:17 -07:00
Filip Barl
99e4870d99 Don't update route if it hasn't changed. 2018-04-09 09:42:43 +02:00
Roland Schilter
6ddc57d047 Only modify document title if running standalone (#3071) 2018-02-20 18:16:04 +00:00
Filip Barl
4b4a861f7a Remove all the default Scope state values from the URL. 2018-01-22 15:52:52 +01:00
Roland Schilter
f96dd4a532 client: Fix uptime sort in table view (#3038)
* client: Fix uptime sort in table view

Duration dataType for table columns is now sorted as numeric value.
Default sorting is kept as ascending and text is left-aligned, unlike
numbers.

* Make non-second unit show up in tests
2018-01-22 15:31:44 +01:00
Filip Barl
77b691ca0b Change pausedAt format from moment() back to ISO string for easier handling. 2018-01-19 19:26:39 +01:00
Filip Barl
4bd7fc759a Store the pausedAt state in the app URL. 2017-11-10 16:46:56 +01:00
Filip Barl
e233e64279 Improved the duration parsing on frontend. 2017-11-03 10:43:41 +01:00
Filip Barl
f5bfa506d6 Verified the TODO comments and make durations be in seconds. 2017-11-03 10:43:41 +01:00
Filip Barl
6c0194b832 Show uptime durations in a more human format. 2017-11-03 10:43:41 +01:00
Filip Barl
397b839678 Removed all legacy TimeTravel code. 2017-10-20 11:50:40 +02:00
Filip Barl
228c9c4ab3 Updated all possible devDependencies. 2017-10-18 14:54:45 +02:00
Filip Barl
c26914087f Use destructuring instead of deep assignment whenever possible. 2017-10-17 19:07:14 +02:00
Filip Barl
2fcbdb7e16 Applied autofix for object-curly-newline rule. 2017-10-17 19:07:14 +02:00
Filip Barl
d9a8afe81d No restricted globals. 2017-10-17 19:07:14 +02:00
Filip Barl
58922730f5 Fixed function-paren-newline. 2017-10-17 19:04:41 +02:00
Filip Barl
659c9b1304 Fixed spaced-comment. 2017-10-17 19:03:44 +02:00
Filip Barl
dfe4944ec7 Fixed indentation. 2017-10-17 19:03:44 +02:00
Damien Lespiau
cbfe63dc78 tracking: Fix now out of date comment 2017-09-25 14:03:09 +01:00
Damien Lespiau
a205f6ecb7 tracking: Rename trackMixpanelEvent() to trackAnalyticsEvent()
Might as well not mention Mixpanel now that we're sending all events to
Segment.

Commit done with:

  git grep trackMixpanelEvent | cut -d : -f 1 | sort -u | \
	xargs sed -e s/trackMixpanelEvent/trackAnalyticsEvent/g
2017-09-25 13:57:00 +01:00
Damien Lespiau
3f6faa5371 tracking: Use segment for tracking
Align scope to the rest of the platform.
2017-09-22 16:51:37 +01:00
Filip Barl
75e0d383fe Simplified spring usage. 2017-09-11 18:50:23 +02:00
Filip Barl
c159315245 Split between topology API polling & one time calls. 2017-08-24 18:11:46 +02:00
Filip Barl
a51d34f1e5 Introduced translation limits to the graph view. 2017-08-23 15:04:50 +02:00
Filip Barl
297e21d42c Removed d3-zoom reference in package.json. 2017-08-23 15:04:50 +02:00
Roland Schilter
0d381a34d6 Link scope-ui graphs clickable to prometheus queries (#2664)
scope-app:
* Adds `-app.metrics-graph` cli flag for configuring the base url to
use for graph links; supports :orgID and :query placeholders
* Assigns query URLs to existing metrics and appends empty metrics if missing

scope-ui:
* Extends <CloudFeature /> with option alwaysShow
* Adds <CloudLink /> to simplify routing when in cloud vs not in cloud
* Links metric graphs in the ui's node details view for all k8s
toplogies and containers so far
* Tracks metric graph click in mixpanel `scope.node.metric.click`
* Uses percentages and MB for CPU/Memory urls
* Passes timetravel timestamp to cortex in deeplink
2017-08-15 18:56:23 +01:00
Filip Barl
a2de44514c Smarter node details transition and polishing the edge cases. 2017-08-11 16:26:07 +02:00
Filip Barl
596885ed81 Improved the node details time transitioning logic 2017-08-11 13:26:42 +02:00
Filip Barl
1b028e1e04 Add fade out transition to node details panel and activate it when switching the top panel. 2017-08-11 12:41:59 +02:00
Roland Schilter
656fbac4e6 Fix rendering of exported SVG (#2794)
Replace invalid characters in attribute value; fixes the error

        Unescaped '<' not allowed in attributes values

Fixes #2534
2017-08-08 10:04:22 +01:00
Filip Barl
d8ffea4781 Balance timeline zooming sensitivity between Firefox and Chrome (#2788)
* Balanced timeline zooming sensitivity between Firefox and Chrome.

* Organize the wheel delta zooming logic better.
2017-08-07 11:27:12 +02:00
Filip Barl
9ea66266f3 Adjust timeline zoom sensitivity on Firefox (#2777)
* Adjust Firefox zoom sensitivity.

* Animate zooming to make it appear smoother (especially on Firefox).

* Debounced zoom tracking.

* Addressed the comments.
2017-08-01 17:36:46 +02:00
Filip Barl
f9e9a8ae4d Shrink timeline height and make years fade out (#2778)
* Shrink timeline height to 55px and make years fade out as hours fade in.

* Address the comments.
2017-08-01 14:17:03 +02:00
Filip Barl
bc7ad7a78a Always take timestamp into account in Node Details when time travelling (#2775) 2017-08-01 12:40:08 +02:00
Roland Schilter
c3c23d7dd1 Add test for pods number not updating (#2741)
* Fix distance test for single node

* Add test for pods number not updating labels
2017-07-28 17:13:41 +02:00
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
Roland Schilter
e9945e78cb Keep topo nav visible if subnav selected
Follow-up to 21a0093c but also displays parent topology if
an empty sub_topology is selected.
2017-07-12 18:53:33 +02:00
Roland Schilter
21a0093c08 Keep topology nav visible if selected
If the scope-app API unexpectedly restarts, it has no report
at hand (until it gets one from the probe) and sends node
count 0 to the frontend for all topologies. Once the report
arrives, it will send the proper count.

What happened was the frontend did hide Processes for a short
time till the node count recovered. This moved the topology
selection to the always visible Containers (hide_if_empty == false)
while keeping the graph as is.

Once the node count recovers, Processes comes back but the
selection is still at Containers.

We now keep the selected topology visible at all time even if
the API returns a node count of 0. This recovers nicely when
the correct node counts come in. Once the user selects a different
topology while and a backend response arrives, it disappears.

Fixes #2646
2017-07-12 17:12:43 +02:00
Filip Barl
8f22d58cab Last line of defense against overlapping nodes in graph layout (#2688)
* Refresh the layout once more at the end if previous heuristics cause an overlap.

* Added mixpanel tracking.
2017-07-07 19:22:04 +02:00