* remove randomness as far as possible
* make listener to close connections
* report time in a csv-friendly format
* remove tools from README
* rename time-scope-probe -> time-scope-probe-proc
* add time-scope-probe-cgroup
Instead of value being "" or omitted meaning "use group.Default", we now allow the empty value
to go through. This was done to allow multi-value options to be able to encode 'no options selected'.
This is important as the alternative is very confusing, as 'nothing selected' would generally mean
'match everything', not 'select default' (which in the k8s namespace example, means the "default" namespace).
Since the UI is the only user of this API, and it already sends the default value always, this does not affect
any existing usage.
Since the UI still wants to show a 'match all' button to prevent confusion, but it's not a normal option
(if it were a normal option, it could be combined with others, which isn't meaningful), we add a new key
NoneLabel that indicates the name that should be displayed on this extra button.
Finally, we implement these changes for the k8s namespace button, ie.
- Get rid of All Namespaces option
- Add "All Namespaces" as the NoneLabel
- Default to "" when "default" namespace not present, which is equivalent to the old "all" option.
This is the first usage of the new 'union' selectType.
Note that we're still sending 'all' for now. There's currently no easy
way to specify this meaning, and arguably it should be done entirely clientside.
But for now it just means some UI weirdness where 'all' is one of the options and having it on
means anything else you select doesn't matter.
This field changes the option group behaviour depending on its value.
Currently only supports two values:
"one" (default): Old behaviour, one option can be selected
"union": Any number of options can be selected, and the filters are OR-ed togther
It is written in such a way as to easily enable a future "intersection" option,
as per union but AND-ing the filters. But this is not done here. YAGNI.
* 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