mirror of
https://github.com/weaveworks/scope.git
synced 2026-03-03 02:00:43 +00:00
Squash of: - use detailed.Summaries to render topology nodes - ban merging nodes of different topologies (they should be mapped) - need to prune parents when mapping node types - render container images by id if they have no name - remove separate render ids and prune parents in NewDerived* - don't render metrics/metadata for groups of nodes - fixing up tests - removing pending unit tests (for mapping.go, for now) - updating experimental dir for RenderableNode removal
33 lines
968 B
Go
33 lines
968 B
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) report.Nodes {
|
|
topology, _ := r.Topology(string(t))
|
|
return topology.Nodes
|
|
}
|
|
|
|
// Stats implements Renderer
|
|
func (t TopologySelector) Stats(r report.Report) 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)
|
|
)
|