Files
weave-scope/probe/topology_tagger.go
Paul Bellamy 1edeb8d190 Removing report.Node.WithID (#1315)
* removing usage of report.Node.WithID

* report.Topology.AddNode can use the node's ID field
2016-04-19 16:48:03 +01:00

35 lines
925 B
Go

package probe
import (
"github.com/weaveworks/scope/report"
)
type topologyTagger struct{}
// NewTopologyTagger tags each node with the topology that it comes from. It's
// kind of a proof-of-concept tagger, useful primarily for debugging.
func NewTopologyTagger() Tagger {
return &topologyTagger{}
}
func (topologyTagger) Name() string { return "Topology" }
// Tag implements Tagger
func (topologyTagger) Tag(r report.Report) (report.Report, error) {
for name, t := range map[string]*report.Topology{
report.Endpoint: &(r.Endpoint),
report.Process: &(r.Process),
report.Container: &(r.Container),
report.ContainerImage: &(r.ContainerImage),
report.Pod: &(r.Pod),
report.Service: &(r.Service),
report.Host: &(r.Host),
report.Overlay: &(r.Overlay),
} {
for _, node := range t.Nodes {
t.AddNode(node.WithTopology(name))
}
}
return r, nil
}