mirror of
https://github.com/weaveworks/scope.git
synced 2026-03-03 10:11:03 +00:00
* 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
28 lines
1.4 KiB
JavaScript
28 lines
1.4 KiB
JavaScript
|
|
// Cap the number of layers in the resource view to this constant. The reason why we have
|
|
// this constant is not just about the style, but also helps us build the selectors.
|
|
export const RESOURCE_VIEW_MAX_LAYERS = 3;
|
|
|
|
// TODO: Consider fetching these from the backend.
|
|
export const TOPOLOGIES_WITH_CAPACITY = ['hosts'];
|
|
|
|
// TODO: These too should ideally be provided by the backend. Currently, we are showing
|
|
// the same layers for all the topologies, because their number is small, but later on
|
|
// we might be interested in fully customizing the layers' hierarchy per topology.
|
|
export const RESOURCE_VIEW_LAYERS = {
|
|
hosts: ['hosts', 'containers', 'processes'],
|
|
containers: ['hosts', 'containers', 'processes'],
|
|
processes: ['hosts', 'containers', 'processes'],
|
|
};
|
|
|
|
// TODO: These are all the common metrics that appear across all the current resource view
|
|
// topologies. The reason for taking them only is that we want to get meaningful data for all
|
|
// the layers. These should be taken directly from the backend report, but as their info is
|
|
// currently only contained in the nodes data, it would be hard to determine them before all
|
|
// the nodes for all the layers have been loaded, so we'd need to change the routing logic
|
|
// since the requirement is that one these is always pinned in the resource view.
|
|
export const RESOURCE_VIEW_METRICS = [
|
|
{ label: 'CPU', id: 'host_cpu_usage_percent' },
|
|
{ label: 'Memory', id: 'host_mem_usage_bytes' },
|
|
];
|