-
Notifications
You must be signed in to change notification settings - Fork 712
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixing grouped node count for filtered children nodes #1371
Conversation
a8525dd
to
465aeb0
Compare
@tomwilkie, PTAL |
Perhaps we should include the containers state in the details panel child table? |
state, and whether or not it's a system container... |
57821d7
to
a426ca2
Compare
Seem to have lots the stats on the number of containers filtered (on the containers view) |
And needs a good squash. Otherwise, LGTM. |
682c02e
to
3d2aff5
Compare
LGTM filter changes. |
Squash of: * We have to keep all the container hostnames until the end so we can count how many we've filtered * Adding tests for ContainerHostnameRenderer and PodServiceRenderer with filters * Because we filter on image name we need the image name before filtering * Alternative approach to passing decorators. * Refactor out some of the decorator capture * Don't memoise decorated calls to Render * Fixing filtered counts on containers topology Tricky, because we need the filters to be silent sometimes (when they're in the middle), but not when they're at the top, so we take the "top" filter's stats. However, this means we have to compose all user-specified filters into a single Filter layer, so we can get all stats. There are no more Silent filters, as all filters are silent (unless they are at the top). Additionally, I clarified some of the filters as their usage/terminology was inconsistent and confused. Now Filter(IsFoo, ...) *keeps* only nodes where IsFoo is true.
3d2aff5
to
3d3aed2
Compare
Squashed, will wait for circle, before merging |
Fixes #1219, Fixes #1130
Does not fix #815
Filtered children are still shown in the details panel, because otherwise one of them stopping could make the detail panel go empty, when the node disappears, which is slightly odd. But this means that a container image could say "1 container" (if it has 4 stopped and one running), then show all 5 containers in the detail panel, which is also slightly odd.
I'm not really sure about the naming of
APITopologyDesc.filteredRenderer
, or about having two different fields for this. I was hoping to have just one field, so all the renderers would have the same signature. But, since only some of them need the filters injected, it feels odd to force that requirement on the others.This will (at the moment) also break memoisation for some of the rendering pipelines. There is an assumption that the map/reduce pipelines survive between requests, but this is no longer the case for all pipelines.
Will squash stuff before merging.