From a99888994b418d592cf11282c38bf876c30e0c6c Mon Sep 17 00:00:00 2001 From: Tom Wilkie Date: Thu, 5 Nov 2015 17:29:16 +0000 Subject: [PATCH] Prevent a standed Uncontained node from appearing in container view. Do this by filtering unconnected nodes after mapping them to containers, not before. --- render/topologies.go | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/render/topologies.go b/render/topologies.go index cd07f2b72..3bce5ad4a 100644 --- a/render/topologies.go +++ b/render/topologies.go @@ -76,21 +76,20 @@ var ProcessNameRenderer = Map{ // ContainerRenderer is a Renderer which produces a renderable container // graph by merging the process graph and the container topology. +// NB We only want processes in container _or_ processes with network connections +// but we need to be careful to ensure we only include each edge once, by only +// including the ProcessRenderer once. var ContainerRenderer = MakeReduce( - Map{ - MapFunc: MapProcess2Container, - - // We only want processes in container _or_ processes with network connections - // but we need to be careful to ensure we only include each edge once, by only - // including the ProcessRenderer once. - Renderer: Filter{ - FilterFunc: func(n RenderableNode) bool { - _, inContainer := n.Node.Metadata[docker.ContainerID] - _, isConnected := n.Node.Metadata[IsConnected] - return inContainer || isConnected - }, - Renderer: ColorConnected(ProcessRenderer), + Filter{ + FilterFunc: func(n RenderableNode) bool { + _, inContainer := n.Node.Metadata[docker.ContainerID] + _, isConnected := n.Node.Metadata[IsConnected] + return inContainer || isConnected }, + Renderer: ColorConnected(Map{ + MapFunc: MapProcess2Container, + Renderer: ProcessRenderer, + }), }, Map{