mirror of
https://github.com/weaveworks/scope.git
synced 2026-07-28 09:41:57 +00:00
memoise a few more shared renderers
This commit is contained in:
@@ -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"
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user