From 5f4f9da4df092fe912ff410970f756d45315158a Mon Sep 17 00:00:00 2001 From: Matthias Radestock Date: Sun, 5 Nov 2017 00:21:45 +0000 Subject: [PATCH] memoise a few more shared renderers --- render/container.go | 6 +++--- render/process.go | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/render/container.go b/render/container.go index e72e55c40..b832c35ce 100644 --- a/render/container.go +++ b/render/container.go @@ -24,7 +24,7 @@ var UncontainedIDPrefix = MakePseudoNodeID(UncontainedID) // 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 = MakeFilter( +var ContainerRenderer = Memoise(MakeFilter( func(n report.Node) bool { // Drop deleted containers state, ok := n.Latest.Lookup(docker.ContainerState) @@ -37,9 +37,9 @@ var ContainerRenderer = MakeFilter( ), ConnectionJoin(MapContainer2IP, SelectContainer), ), -) +)) -var mapEndpoint2IP = MakeMap(endpoint2IP, SelectEndpoint) +var mapEndpoint2IP = Memoise(MakeMap(endpoint2IP, SelectEndpoint)) const originalNodeID = "original_node_id" diff --git a/render/process.go b/render/process.go index 8900f2235..5093ed3ec 100644 --- a/render/process.go +++ b/render/process.go @@ -26,7 +26,7 @@ var EndpointRenderer = SelectEndpoint // ProcessRenderer is a Renderer which produces a renderable process // graph by merging the endpoint graph and the process topology. -var ProcessRenderer = ConditionalRenderer(renderProcesses, +var ProcessRenderer = Memoise(ConditionalRenderer(renderProcesses, MakeReduce( MakeMap( MapEndpoint2Process, @@ -34,13 +34,13 @@ var ProcessRenderer = ConditionalRenderer(renderProcesses, ), SelectProcess, ), -) +)) // ColorConnectedProcessRenderer colors connected nodes from // ProcessRenderer. Since the process topology views only show // connected processes, we need this info to determine whether // processes appearing in a details panel are linkable. -var ColorConnectedProcessRenderer = ColorConnected(ProcessRenderer) +var ColorConnectedProcessRenderer = Memoise(ColorConnected(ProcessRenderer)) // processWithContainerNameRenderer is a Renderer which produces a process // graph enriched with container names where appropriate