diff --git a/probe/docker/reporter.go b/probe/docker/reporter.go index 587fcff28..734fb3c3f 100644 --- a/probe/docker/reporter.go +++ b/probe/docker/reporter.go @@ -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{ diff --git a/probe/docker/tagger.go b/probe/docker/tagger.go index 3badea8a0..201b317c8 100644 --- a/probe/docker/tagger.go +++ b/probe/docker/tagger.go @@ -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) } } diff --git a/probe/host/tagger.go b/probe/host/tagger.go index 0776dc869..ac381012e 100644 --- a/probe/host/tagger.go +++ b/probe/host/tagger.go @@ -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 diff --git a/probe/process/reporter.go b/probe/process/reporter.go index dd595cbc2..28c9c99af 100644 --- a/probe/process/reporter.go +++ b/probe/process/reporter.go @@ -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) diff --git a/probe/tag_report.go b/probe/tag_report.go index 92d298259..cf1f240a1 100644 --- a/probe/tag_report.go +++ b/probe/tag_report.go @@ -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