Commit Graph

780 Commits

Author SHA1 Message Date
Filip Barl
687d061939 Cleanup and revert to optimized waypoints recalculation. 2017-09-12 12:16:30 +02:00
Filip Barl
75e0d383fe Simplified spring usage. 2017-09-11 18:50:23 +02:00
Filip Barl
736770c978 Fix edges disappearing. 2017-09-11 18:10:42 +02:00
Filip Barl
f8343c189d Added one more comment. 2017-08-24 18:14:43 +02:00
Filip Barl
16e520da5e Proper handling of namespace selection when time travelling. 2017-08-24 18:11:46 +02:00
Filip Barl
c159315245 Split between topology API polling & one time calls. 2017-08-24 18:11:46 +02:00
Filip Barl
065c2b11d6 Addressed small @foot's comments. 2017-08-23 16:41:17 +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
Filip Barl
a185ae4e15 Introduced hand cursor and unified ZoomableCanvas usage. 2017-08-23 15:04:50 +02:00
Filip Barl
f11a9d3614 Working prototype with internal zooming/panning handlers. 2017-08-23 15:04:50 +02:00
Roland Schilter
7b7b643797 Fix processes/hosts table not appearing (#2824) 2017-08-17 17:35:10 +01: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
Roland Schilter
90d0e79e65 Remove whitespace from empty connection lists (#2811) 2017-08-14 18:42:36 +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
Filip Barl
0c7896222c Exit time travel mode as a part of the app shutdown(). 2017-08-10 16:36:33 +02:00
Filip Barl
f19e4c55cd Resume time works only if previously paused. 2017-08-10 16:01:09 +02:00
Filip Barl
3fe2fbd68e Make nodes graph animations a bit faster. 2017-08-09 16:10:03 +02:00
Filip Barl
ff6d31442f Merge pull request #2616 from weaveworks/use-report-persistence-flag-in-the-ui
Time Travel: remove the feature flag and make the availability depend on historic reports capability
2017-08-08 15:37:28 +01:00
Filip Barl
c29303134a Fixed the nodes-chart-overlay warnings. 2017-08-08 14:45:59 +01:00
Filip Barl
c131fd1283 Addressed @rndstr's comment. 2017-08-08 14:42:16 +01:00
Filip Barl
f98827698f Replaced the feature flag with historic reports capability flag. 2017-08-08 14:29:54 +01:00
Filip Barl
322414b51f Polished the nodes chart overlay. 2017-08-08 10:52:54 +01:00
Filip Barl
d105e7471c Enabled back some CSS transitions. 2017-08-08 10:52:54 +01:00
Filip Barl
d180437411 Decreased the graph complexity treshold. 2017-08-08 10:52:54 +01:00
Filip Barl
038bbbd5ce Added a semitransparent layer over the background nodes. 2017-08-08 10:52:54 +01: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
Roland Schilter
13188845a5 Fix timeline label vertical displacement on some Chromes (#2793)
Fixes #2789
2017-08-07 11:05:53 +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
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
00ddb51685 Fix Pods number in graph not updating (minor label) (#2728)
By only caching layout values (x, y, rank)

Fixes #2401.
2017-07-21 16:34:36 +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
a6d3542c89 Merge pull request #2713 from weaveworks/2708-reset-nodes-when-scope-app-restarted
Reset nodes in frontend when scope-app restarted
2017-07-14 19:02:41 +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
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
a390c7633e Make graph layout zoom limits constant (#2678)
* Make zoom limits such that nodes are always between 1px and 200px big.

* Increased minimal node size from 1px to 3px.
2017-07-07 19:52:42 +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
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
Roland Schilter
cf8a95c878 Merge pull request #2683 from weaveworks/table-overflow-plus-one
Show table overflow only if limit exceeded by 2+
2017-07-06 15:50:11 +02:00
Roland Schilter
dfda3e0b0b Show table overflow only if limit exceeded by 2+
Having to toggle a +1 feels weird while that +1 takes up
the same vertical space as displaying that row.
2017-07-06 13:56:03 +02:00
Simon
77ba8aa8b3 Merge pull request #2666 from weaveworks/2660-fix-pid-truncation
Prevents 6 digit pids from being truncated in details panel/table mode
2017-07-05 14:27:56 +02:00