Files
weave-scope/render/selectors.go
Mike Lang ef2b6f6c55 Remove replica sets
Use a special kind of selector renderer to elide replica sets from pod nodes
and directly reference deployment parents instead.
Do the inverse (replace replica sets with pods) during the mapping from pod to deployment.

Note we can no longer use renderParents since we're using a non-standard Selector
2017-06-29 10:13:15 -07:00

39 lines
1.3 KiB
Go

package render
import (
"github.com/weaveworks/scope/report"
)
// TopologySelector selects a single topology from a report.
// NB it is also a Renderer!
type TopologySelector string
// Render implements Renderer
func (t TopologySelector) Render(r report.Report, _ Decorator) report.Nodes {
topology, _ := r.Topology(string(t))
return topology.Nodes
}
// Stats implements Renderer
func (t TopologySelector) Stats(r report.Report, _ Decorator) Stats {
return Stats{}
}
// The topology selectors implement a Renderer which fetch the nodes from the
// various report topologies.
var (
SelectEndpoint = TopologySelector(report.Endpoint)
SelectProcess = TopologySelector(report.Process)
SelectContainer = TopologySelector(report.Container)
SelectContainerImage = TopologySelector(report.ContainerImage)
SelectHost = TopologySelector(report.Host)
SelectPod = TopologySelector(report.Pod)
SelectService = TopologySelector(report.Service)
SelectDeployment = TopologySelector(report.Deployment)
SelectDaemonSet = TopologySelector(report.DaemonSet)
SelectECSTask = TopologySelector(report.ECSTask)
SelectECSService = TopologySelector(report.ECSService)
SelectSwarmService = TopologySelector(report.SwarmService)
SelectOverlay = TopologySelector(report.Overlay)
)