* 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.
* 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.
* Rendering both nodes and edges from one component.
* Organized the render layers in a more readable manner.
* Rerendering optimization.
* Finer edge rendering layers.
* Moved the constants out of the component file.
* Typo fix.
* Include edge thickness in <Motion /> instead of fade-in effect.
* 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.
* Added a zoom slider control in the bottom-right corner.
* Made the control vertical and added the buttons.
* Adjusted the styles and borders.
* Trying to fix Webpack
* Hide zoom control when there is no content.
* Polished the code.
* 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
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.
- Within certain bounds. Still have min-label size, mainly effects nodes
that get really big.
- Set a max size on nodes too, really big ones lose their border.
- 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.
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
Needs a bit of de-dup / customization
oops, bad typo
More fleshing out the structure for network-view
onHover netview-legend: highlight relevant nodes.
And the bool rolls on.
Handle nodes w/ no networks better
Corrects deselect-node when used w/ new network-view behaviour
Net view details "node" can be open when with no nodes selected. Hitting
"esc" from:
- card 0: network-a
- card 1: node-a
was not deselecting node-a
Deselect selectedNetwork correctly onEsc
Ooops, trailing ws breaks linting.
Adds NodeNetworksOverlay stub
Expands on NodeNetworksOverlay stub and adds arcs and colors
Expand and collapse networks legend
Open arc for network circle, shift for stack
Show our base hue range in the debug bar too..
Was trying to smooth out our hue selector but turned out to be tricky..
Uniquify random data generator!
* 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