mirror of
https://github.com/weaveworks/scope.git
synced 2026-03-03 02:00:43 +00:00
...when 'Hide Unconnected' is selected, which is the default. Here's the problem... The connectedness filter looks for `is_connected` marks in the Latest map of the nodes. The mark is added by ColorConnected, which is invoked by ProcessRenderer. That in turn is the base renderer for ProcessNameRenderer, which is what the process-by-name view renders. However, the process2Names mapping does not propagate any metadata, hence there are no `is_connected` marks on the result nodes. Consequently they are all filtered out. The problem was introduced in #3009, when I added the ability for users to chose whether to show or hide unconnected processes (previously unconnected processes were always hidden) - looks like I failed to check that the process-by-name view was working with the new filter. Oops. The fix is to move the ColorConnected call from ProcessRenderer to the higher-level renderers - ProcessWithContainerNameRenderer (which is what the 'Processes' view renders) and ProcessNameRenderer. This has the beneficial side effect of improving performance for other renderers which invoke ProcessRenderer, none of which need connectedness-coloring. Fixes #3205