Files
weave-scope/render/ecs.go
Matthias Radestock b793a9efa8 memoise shared top-level renderers
and add a comment indicating non-memoisation of other, not shared
top-level renderers.

This memoisation is effective when the browser requests multiple
topologies for the same report.
2017-11-04 23:05:52 +00:00

31 lines
697 B
Go

package render
import (
"github.com/weaveworks/scope/report"
)
// ECSTaskRenderer is a Renderer for Amazon ECS tasks.
var ECSTaskRenderer = Memoise(ConditionalRenderer(renderECSTopologies,
renderParents(
report.Container, []string{report.ECSTask}, UnmanagedID,
MakeFilter(
IsRunning,
ContainerWithImageNameRenderer,
),
),
))
// ECSServiceRenderer is a Renderer for Amazon ECS services.
//
// not memoised
var ECSServiceRenderer = ConditionalRenderer(renderECSTopologies,
renderParents(
report.ECSTask, []string{report.ECSService}, "",
ECSTaskRenderer,
),
)
func renderECSTopologies(rpt report.Report) bool {
return len(rpt.ECSTask.Nodes)+len(rpt.ECSService.Nodes) >= 1
}