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
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
* Adjust Firefox zoom sensitivity.
* Animate zooming to make it appear smoother (especially on Firefox).
* Debounced zoom tracking.
* Addressed the comments.
* 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.
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
* 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.
While we're there, adopt a consistent ordering for all places that shapes are listed
Order is least sides to most sides, with circle before polygons, and complex shapes (currently just Cloud) after.
On shape choices for topologies:
* Since the k8s logo is a heptagon, we want pods to be heptagons.
* Since triangle is 'a bit weird', we put it on the least-important type, replica sets.
* Pentagons look a little weirder than octogons (it's the lack of symmetry) so we put octogons on the most common (deployments)
* 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.
* 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.
* Upgraded Webpack 1.13 -> 2.2
* Made webpack.prodution.config.js work and updated yarn.lock
* Updated a lot of small dependencies.
* Upgraded React
* Bunch of small devDependencies updated.
* Fully updated devDependencies
* Updated optionalDependencies
* Updated everything except D3 zoom.
* Fixed linting error.
* Another update.
* Reverted materialize-css upgrade and applied new eslint rules
* Final fixes to webpack configs.
* Updated yarn.lock again.
* 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
* 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