mirror of
https://github.com/weaveworks/scope.git
synced 2026-07-22 06:46:50 +00:00
probe: fixes for new merge semantics
This commit is contained in:
@@ -29,13 +29,13 @@ func NewReporter(registry Registry, scope string) *Reporter {
|
||||
// Report generates a Report containing Container and ContainerImage topologies
|
||||
func (r *Reporter) Report() (report.Report, error) {
|
||||
result := report.MakeReport()
|
||||
result.Container.Merge(r.containerTopology())
|
||||
result.ContainerImage.Merge(r.containerImageTopology())
|
||||
result.Container = result.Container.Merge(r.containerTopology())
|
||||
result.ContainerImage = result.ContainerImage.Merge(r.containerImageTopology())
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func (r *Reporter) containerTopology() report.Topology {
|
||||
result := report.NewTopology()
|
||||
result := report.MakeTopology()
|
||||
|
||||
r.registry.WalkContainers(func(c Container) {
|
||||
nodeID := report.MakeContainerNodeID(r.scope, c.ID())
|
||||
@@ -46,7 +46,7 @@ func (r *Reporter) containerTopology() report.Topology {
|
||||
}
|
||||
|
||||
func (r *Reporter) containerImageTopology() report.Topology {
|
||||
result := report.NewTopology()
|
||||
result := report.MakeTopology()
|
||||
|
||||
r.registry.WalkImages(func(image *docker_client.APIImages) {
|
||||
nmd := report.MakeNodeMetadataWith(map[string]string{
|
||||
|
||||
@@ -83,6 +83,6 @@ func (t *Tagger) tag(tree process.Tree, topology *report.Topology) {
|
||||
ContainerID: c.ID(),
|
||||
})
|
||||
|
||||
topology.NodeMetadatas[nodeID].Merge(md)
|
||||
topology.NodeMetadatas[nodeID] = nodeMetadata.Merge(md)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,10 +17,10 @@ func NewTagger(hostID string) Tagger {
|
||||
|
||||
// Tag implements Tagger.
|
||||
func (t Tagger) Tag(r report.Report) (report.Report, error) {
|
||||
md := report.MakeNodeMetadataWith(map[string]string{report.HostNodeID: t.hostNodeID})
|
||||
other := report.MakeNodeMetadataWith(map[string]string{report.HostNodeID: t.hostNodeID})
|
||||
for _, topology := range r.Topologies() {
|
||||
for nodeID := range topology.NodeMetadatas {
|
||||
topology.NodeMetadatas[nodeID].Merge(md)
|
||||
for id, md := range topology.NodeMetadatas {
|
||||
topology.NodeMetadatas[id] = md.Merge(other)
|
||||
}
|
||||
}
|
||||
return r, nil
|
||||
|
||||
@@ -36,12 +36,12 @@ func (r *Reporter) Report() (report.Report, error) {
|
||||
if err != nil {
|
||||
return result, err
|
||||
}
|
||||
result.Process.Merge(processes)
|
||||
result.Process = result.Process.Merge(processes)
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func (r *Reporter) processTopology() (report.Topology, error) {
|
||||
t := report.NewTopology()
|
||||
t := report.MakeTopology()
|
||||
err := r.walker.Walk(func(p Process) {
|
||||
pidstr := strconv.Itoa(p.PID)
|
||||
nodeID := report.MakeProcessNodeID(r.scope, pidstr)
|
||||
|
||||
@@ -50,9 +50,9 @@ func (topologyTagger) Tag(r report.Report) (report.Report, error) {
|
||||
"host": &(r.Host),
|
||||
"overlay": &(r.Overlay),
|
||||
} {
|
||||
md := report.MakeNodeMetadataWith(map[string]string{Topology: val})
|
||||
for nodeID := range topology.NodeMetadatas {
|
||||
(*topology).NodeMetadatas[nodeID].Merge(md)
|
||||
other := report.MakeNodeMetadataWith(map[string]string{Topology: val})
|
||||
for id, md := range topology.NodeMetadatas {
|
||||
topology.NodeMetadatas[id] = md.Merge(other)
|
||||
}
|
||||
}
|
||||
return r, nil
|
||||
|
||||
Reference in New Issue
Block a user