mirror of
https://github.com/weaveworks/scope.git
synced 2026-08-18 03:46:45 +00:00
report.Metadata -> map[string]string
This commit is contained in:
@@ -70,7 +70,7 @@ func DemoReport(nodeCount int) report.Report {
|
||||
|
||||
// Endpoint topology
|
||||
if _, ok := r.Endpoint.NodeMetadatas[srcPortID]; !ok {
|
||||
r.Endpoint.NodeMetadatas[srcPortID] = report.NewNodeMetadata(report.Metadata{
|
||||
r.Endpoint.NodeMetadatas[srcPortID] = report.NewNodeMetadata(map[string]string{
|
||||
docker.PID: "4000",
|
||||
docker.Name: c.srcProc,
|
||||
docker.Domain: "node-" + src,
|
||||
@@ -78,7 +78,7 @@ func DemoReport(nodeCount int) report.Report {
|
||||
}
|
||||
r.Endpoint.Adjacency[srcID] = r.Endpoint.Adjacency[srcID].Add(dstPortID)
|
||||
if _, ok := r.Endpoint.NodeMetadatas[dstPortID]; !ok {
|
||||
r.Endpoint.NodeMetadatas[dstPortID] = report.NewNodeMetadata(report.Metadata{
|
||||
r.Endpoint.NodeMetadatas[dstPortID] = report.NewNodeMetadata(map[string]string{
|
||||
docker.PID: "4000",
|
||||
docker.Name: c.dstProc,
|
||||
docker.Domain: "node-" + dst,
|
||||
@@ -100,20 +100,20 @@ func DemoReport(nodeCount int) report.Report {
|
||||
|
||||
// Address topology
|
||||
if _, ok := r.Address.NodeMetadatas[srcAddressID]; !ok {
|
||||
r.Address.NodeMetadatas[srcAddressID] = report.NewNodeMetadata(report.Metadata{
|
||||
r.Address.NodeMetadatas[srcAddressID] = report.NewNodeMetadata(map[string]string{
|
||||
docker.Name: src,
|
||||
})
|
||||
}
|
||||
r.Address.Adjacency[nodeSrcAddressID] = r.Address.Adjacency[nodeSrcAddressID].Add(dstAddressID)
|
||||
if _, ok := r.Address.NodeMetadatas[dstAddressID]; !ok {
|
||||
r.Address.NodeMetadatas[dstAddressID] = report.NewNodeMetadata(report.Metadata{
|
||||
r.Address.NodeMetadatas[dstAddressID] = report.NewNodeMetadata(map[string]string{
|
||||
docker.Name: dst,
|
||||
})
|
||||
}
|
||||
r.Address.Adjacency[nodeDstAddressID] = r.Address.Adjacency[nodeDstAddressID].Add(srcAddressID)
|
||||
|
||||
// Host data
|
||||
r.Host.NodeMetadatas["hostX"] = report.NewNodeMetadata(report.Metadata{
|
||||
r.Host.NodeMetadatas["hostX"] = report.NewNodeMetadata(map[string]string{
|
||||
"ts": time.Now().UTC().Format(time.RFC3339Nano),
|
||||
"host_name": "host-x",
|
||||
"local_networks": localNet.String(),
|
||||
|
||||
@@ -69,7 +69,7 @@ func DemoReport(nodeCount int) report.Report {
|
||||
|
||||
// Endpoint topology
|
||||
if _, ok := r.Endpoint.NodeMetadatas[srcPortID]; !ok {
|
||||
r.Endpoint.NodeMetadatas[srcPortID] = report.NewNodeMetadata(report.Metadata{
|
||||
r.Endpoint.NodeMetadatas[srcPortID] = report.NewNodeMetadata(map[string]string{
|
||||
"pid": "4000",
|
||||
"name": c.srcProc,
|
||||
"domain": "node-" + src,
|
||||
@@ -77,7 +77,7 @@ func DemoReport(nodeCount int) report.Report {
|
||||
}
|
||||
r.Endpoint.Adjacency[srcID] = r.Endpoint.Adjacency[srcID].Add(dstPortID)
|
||||
if _, ok := r.Endpoint.NodeMetadatas[dstPortID]; !ok {
|
||||
r.Endpoint.NodeMetadatas[dstPortID] = report.NewNodeMetadata(report.Metadata{
|
||||
r.Endpoint.NodeMetadatas[dstPortID] = report.NewNodeMetadata(map[string]string{
|
||||
"pid": "4000",
|
||||
"name": c.dstProc,
|
||||
"domain": "node-" + dst,
|
||||
@@ -99,20 +99,20 @@ func DemoReport(nodeCount int) report.Report {
|
||||
|
||||
// Address topology
|
||||
if _, ok := r.Address.NodeMetadatas[srcAddressID]; !ok {
|
||||
r.Address.NodeMetadatas[srcAddressID] = report.NewNodeMetadata(report.Metadata{
|
||||
r.Address.NodeMetadatas[srcAddressID] = report.NewNodeMetadata(map[string]string{
|
||||
"name": src,
|
||||
})
|
||||
}
|
||||
r.Address.Adjacency[nodeSrcAddressID] = r.Address.Adjacency[nodeSrcAddressID].Add(dstAddressID)
|
||||
if _, ok := r.Address.NodeMetadatas[dstAddressID]; !ok {
|
||||
r.Address.NodeMetadatas[dstAddressID] = report.NewNodeMetadata(report.Metadata{
|
||||
r.Address.NodeMetadatas[dstAddressID] = report.NewNodeMetadata(map[string]string{
|
||||
"name": dst,
|
||||
})
|
||||
}
|
||||
r.Address.Adjacency[nodeDstAddressID] = r.Address.Adjacency[nodeDstAddressID].Add(srcAddressID)
|
||||
|
||||
// Host data
|
||||
r.Host.NodeMetadatas["hostX"] = report.NewNodeMetadata(report.Metadata{
|
||||
r.Host.NodeMetadatas["hostX"] = report.NewNodeMetadata(map[string]string{
|
||||
"ts": time.Now().UTC().Format(time.RFC3339Nano),
|
||||
"host_name": "host-x",
|
||||
"local_networks": localNet.String(),
|
||||
|
||||
@@ -205,7 +205,7 @@ func (c *container) GetNodeMetadata() report.NodeMetadata {
|
||||
c.RLock()
|
||||
defer c.RUnlock()
|
||||
|
||||
result := report.NewNodeMetadata(report.Metadata{
|
||||
result := report.NewNodeMetadata(map[string]string{
|
||||
ContainerID: c.ID(),
|
||||
ContainerName: strings.TrimPrefix(c.container.Name, "/"),
|
||||
ContainerPorts: c.ports(),
|
||||
@@ -218,7 +218,7 @@ func (c *container) GetNodeMetadata() report.NodeMetadata {
|
||||
return result
|
||||
}
|
||||
|
||||
result.Merge(report.NewNodeMetadata(report.Metadata{
|
||||
result.Merge(report.NewNodeMetadata(map[string]string{
|
||||
NetworkRxDropped: strconv.FormatUint(c.latestStats.Network.RxDropped, 10),
|
||||
NetworkRxBytes: strconv.FormatUint(c.latestStats.Network.RxBytes, 10),
|
||||
NetworkRxErrors: strconv.FormatUint(c.latestStats.Network.RxErrors, 10),
|
||||
|
||||
@@ -38,7 +38,7 @@ func (c *mockContainer) StartGatheringStats() error {
|
||||
func (c *mockContainer) StopGatheringStats() {}
|
||||
|
||||
func (c *mockContainer) GetNodeMetadata() report.NodeMetadata {
|
||||
return report.NewNodeMetadata(report.Metadata{
|
||||
return report.NewNodeMetadata(map[string]string{
|
||||
docker.ContainerID: c.c.ID,
|
||||
docker.ContainerName: c.c.Name,
|
||||
docker.ImageID: c.c.Image,
|
||||
|
||||
@@ -49,7 +49,7 @@ func (r *Reporter) containerImageTopology() report.Topology {
|
||||
result := report.NewTopology()
|
||||
|
||||
r.registry.WalkImages(func(image *docker_client.APIImages) {
|
||||
nmd := report.NewNodeMetadata(report.Metadata{
|
||||
nmd := report.NewNodeMetadata(map[string]string{
|
||||
ImageID: image.ID,
|
||||
})
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ func TestReporter(t *testing.T) {
|
||||
Adjacency: report.Adjacency{},
|
||||
EdgeMetadatas: report.EdgeMetadatas{},
|
||||
NodeMetadatas: report.NodeMetadatas{
|
||||
report.MakeContainerNodeID("", "ping"): report.NewNodeMetadata(report.Metadata{
|
||||
report.MakeContainerNodeID("", "ping"): report.NewNodeMetadata(map[string]string{
|
||||
docker.ContainerID: "ping",
|
||||
docker.ContainerName: "pong",
|
||||
docker.ImageID: "baz",
|
||||
@@ -64,7 +64,7 @@ func TestReporter(t *testing.T) {
|
||||
Adjacency: report.Adjacency{},
|
||||
EdgeMetadatas: report.EdgeMetadatas{},
|
||||
NodeMetadatas: report.NodeMetadatas{
|
||||
report.MakeContainerNodeID("", "baz"): report.NewNodeMetadata(report.Metadata{
|
||||
report.MakeContainerNodeID("", "baz"): report.NewNodeMetadata(map[string]string{
|
||||
docker.ImageID: "baz",
|
||||
docker.ImageName: "bang",
|
||||
}),
|
||||
|
||||
@@ -83,7 +83,7 @@ func (t *Tagger) tag(tree process.Tree, topology *report.Topology) {
|
||||
continue
|
||||
}
|
||||
|
||||
md := report.NewNodeMetadata(report.Metadata{
|
||||
md := report.NewNodeMetadata(map[string]string{
|
||||
ContainerID: c.ID(),
|
||||
})
|
||||
|
||||
|
||||
@@ -34,16 +34,16 @@ func TestTagger(t *testing.T) {
|
||||
var (
|
||||
pid1NodeID = report.MakeProcessNodeID("somehost.com", "1")
|
||||
pid2NodeID = report.MakeProcessNodeID("somehost.com", "2")
|
||||
wantNodeMetadata = report.NewNodeMetadata(report.Metadata{docker.ContainerID: "ping"})
|
||||
wantNodeMetadata = report.NewNodeMetadata(map[string]string{docker.ContainerID: "ping"})
|
||||
)
|
||||
|
||||
input := report.MakeReport()
|
||||
input.Process.NodeMetadatas[pid1NodeID] = report.NewNodeMetadata(report.Metadata{"pid": "1"})
|
||||
input.Process.NodeMetadatas[pid2NodeID] = report.NewNodeMetadata(report.Metadata{"pid": "2"})
|
||||
input.Process.NodeMetadatas[pid1NodeID] = report.NewNodeMetadata(map[string]string{"pid": "1"})
|
||||
input.Process.NodeMetadatas[pid2NodeID] = report.NewNodeMetadata(map[string]string{"pid": "2"})
|
||||
|
||||
want := report.MakeReport()
|
||||
want.Process.NodeMetadatas[pid1NodeID] = report.NewNodeMetadata(report.Metadata{"pid": "1"}).Merge(wantNodeMetadata)
|
||||
want.Process.NodeMetadatas[pid2NodeID] = report.NewNodeMetadata(report.Metadata{"pid": "2"}).Merge(wantNodeMetadata)
|
||||
want.Process.NodeMetadatas[pid1NodeID] = report.NewNodeMetadata(map[string]string{"pid": "1"}).Merge(wantNodeMetadata)
|
||||
want.Process.NodeMetadatas[pid2NodeID] = report.NewNodeMetadata(map[string]string{"pid": "2"}).Merge(wantNodeMetadata)
|
||||
|
||||
tagger := docker.NewTagger(mockRegistryInstance, nil)
|
||||
have, err := tagger.Tag(input)
|
||||
|
||||
@@ -80,7 +80,7 @@ func (r *Reporter) addConnection(rpt *report.Report, c *procspy.Connection) {
|
||||
rpt.Address.Adjacency[key] = rpt.Address.Adjacency[key].Add(scopedRemote)
|
||||
|
||||
if _, ok := rpt.Address.NodeMetadatas[scopedLocal]; !ok {
|
||||
rpt.Address.NodeMetadatas[scopedLocal] = report.NewNodeMetadata(report.Metadata{
|
||||
rpt.Address.NodeMetadatas[scopedLocal] = report.NewNodeMetadata(map[string]string{
|
||||
docker.Name: r.hostName,
|
||||
docker.Addr: c.LocalAddress.String(),
|
||||
})
|
||||
@@ -100,7 +100,7 @@ func (r *Reporter) addConnection(rpt *report.Report, c *procspy.Connection) {
|
||||
|
||||
if _, ok := rpt.Endpoint.NodeMetadatas[scopedLocal]; !ok {
|
||||
// First hit establishes NodeMetadata for scoped local address + port
|
||||
md := report.NewNodeMetadata(report.Metadata{
|
||||
md := report.NewNodeMetadata(map[string]string{
|
||||
"addr": c.LocalAddress.String(),
|
||||
"port": strconv.Itoa(int(c.LocalPort)),
|
||||
"pid": fmt.Sprintf("%d", c.Proc.PID),
|
||||
|
||||
@@ -75,7 +75,7 @@ func (r *Reporter) Report() (report.Report, error) {
|
||||
return rep, err
|
||||
}
|
||||
|
||||
rep.Host.NodeMetadatas[report.MakeHostNodeID(r.hostID)] = report.NewNodeMetadata(report.Metadata{
|
||||
rep.Host.NodeMetadatas[report.MakeHostNodeID(r.hostID)] = report.NewNodeMetadata(map[string]string{
|
||||
Timestamp: Now(),
|
||||
HostName: r.hostName,
|
||||
LocalNetworks: strings.Join(localCIDRs, " "),
|
||||
|
||||
@@ -46,7 +46,7 @@ func TestReporter(t *testing.T) {
|
||||
host.InterfaceAddrs = func() ([]net.Addr, error) { _, ipnet, _ := net.ParseCIDR(network); return []net.Addr{ipnet}, nil }
|
||||
|
||||
want := report.MakeReport()
|
||||
want.Host.NodeMetadatas[report.MakeHostNodeID(hostID)] = report.NewNodeMetadata(report.Metadata{
|
||||
want.Host.NodeMetadatas[report.MakeHostNodeID(hostID)] = report.NewNodeMetadata(map[string]string{
|
||||
host.Timestamp: now,
|
||||
host.HostName: hostname,
|
||||
host.LocalNetworks: network,
|
||||
|
||||
@@ -17,7 +17,7 @@ func NewTagger(hostID string) Tagger {
|
||||
|
||||
// Tag implements Tagger.
|
||||
func (t Tagger) Tag(r report.Report) (report.Report, error) {
|
||||
md := report.NewNodeMetadata(report.Metadata{report.HostNodeID: t.hostNodeID})
|
||||
md := report.NewNodeMetadata(map[string]string{report.HostNodeID: t.hostNodeID})
|
||||
for _, topology := range r.Topologies() {
|
||||
for nodeID := range topology.NodeMetadatas {
|
||||
topology.NodeMetadatas[nodeID].Merge(md)
|
||||
|
||||
@@ -13,12 +13,12 @@ func TestTagger(t *testing.T) {
|
||||
var (
|
||||
hostID = "foo"
|
||||
endpointNodeID = report.MakeEndpointNodeID(hostID, "1.2.3.4", "56789") // hostID ignored
|
||||
nodeMetadata = report.NewNodeMetadata(report.Metadata{"foo": "bar"})
|
||||
nodeMetadata = report.NewNodeMetadata(map[string]string{"foo": "bar"})
|
||||
)
|
||||
|
||||
r := report.MakeReport()
|
||||
r.Endpoint.NodeMetadatas[endpointNodeID] = nodeMetadata
|
||||
want := nodeMetadata.Merge(report.NewNodeMetadata(report.Metadata{
|
||||
want := nodeMetadata.Merge(report.NewNodeMetadata(map[string]string{
|
||||
report.HostNodeID: report.MakeHostNodeID(hostID),
|
||||
}))
|
||||
rpt, _ := host.NewTagger(hostID).Tag(r)
|
||||
|
||||
@@ -70,7 +70,7 @@ func (w Weave) Report() (report.Report, error) {
|
||||
}
|
||||
|
||||
for _, peer := range status.Peers {
|
||||
r.Overlay.NodeMetadatas[report.MakeOverlayNodeID(peer.Name)] = report.NewNodeMetadata(report.Metadata{
|
||||
r.Overlay.NodeMetadatas[report.MakeOverlayNodeID(peer.Name)] = report.NewNodeMetadata(map[string]string{
|
||||
WeavePeerName: peer.Name,
|
||||
WeavePeerNickName: peer.NickName,
|
||||
})
|
||||
|
||||
@@ -29,7 +29,7 @@ func TestWeaveTaggerOverlayTopology(t *testing.T) {
|
||||
Adjacency: report.Adjacency{},
|
||||
EdgeMetadatas: report.EdgeMetadatas{},
|
||||
NodeMetadatas: report.NodeMetadatas{
|
||||
report.MakeOverlayNodeID(mockWeavePeerName): report.NewNodeMetadata(report.Metadata{
|
||||
report.MakeOverlayNodeID(mockWeavePeerName): report.NewNodeMetadata(map[string]string{
|
||||
overlay.WeavePeerName: mockWeavePeerName,
|
||||
overlay.WeavePeerNickName: mockWeavePeerNickName,
|
||||
}),
|
||||
|
||||
@@ -45,7 +45,7 @@ func (r *Reporter) processTopology() (report.Topology, error) {
|
||||
err := r.walker.Walk(func(p *Process) {
|
||||
pidstr := strconv.Itoa(p.PID)
|
||||
nodeID := report.MakeProcessNodeID(r.scope, pidstr)
|
||||
t.NodeMetadatas[nodeID] = report.NewNodeMetadata(report.Metadata{
|
||||
t.NodeMetadatas[nodeID] = report.NewNodeMetadata(map[string]string{
|
||||
PID: pidstr,
|
||||
Comm: p.Comm,
|
||||
Cmdline: p.Cmdline,
|
||||
|
||||
@@ -36,27 +36,27 @@ func TestReporter(t *testing.T) {
|
||||
Adjacency: report.Adjacency{},
|
||||
EdgeMetadatas: report.EdgeMetadatas{},
|
||||
NodeMetadatas: report.NodeMetadatas{
|
||||
report.MakeProcessNodeID("", "1"): report.NewNodeMetadata(report.Metadata{
|
||||
report.MakeProcessNodeID("", "1"): report.NewNodeMetadata(map[string]string{
|
||||
process.PID: "1",
|
||||
process.Comm: "init",
|
||||
process.Cmdline: "",
|
||||
process.Threads: "0",
|
||||
}),
|
||||
report.MakeProcessNodeID("", "2"): report.NewNodeMetadata(report.Metadata{
|
||||
report.MakeProcessNodeID("", "2"): report.NewNodeMetadata(map[string]string{
|
||||
process.PID: "2",
|
||||
process.Comm: "bash",
|
||||
process.PPID: "1",
|
||||
process.Cmdline: "",
|
||||
process.Threads: "0",
|
||||
}),
|
||||
report.MakeProcessNodeID("", "3"): report.NewNodeMetadata(report.Metadata{
|
||||
report.MakeProcessNodeID("", "3"): report.NewNodeMetadata(map[string]string{
|
||||
process.PID: "3",
|
||||
process.Comm: "apache",
|
||||
process.PPID: "1",
|
||||
process.Cmdline: "",
|
||||
process.Threads: "2",
|
||||
}),
|
||||
report.MakeProcessNodeID("", "4"): report.NewNodeMetadata(report.Metadata{
|
||||
report.MakeProcessNodeID("", "4"): report.NewNodeMetadata(map[string]string{
|
||||
process.PID: "4",
|
||||
process.Comm: "ping",
|
||||
process.PPID: "2",
|
||||
|
||||
+1
-1
@@ -50,7 +50,7 @@ func (topologyTagger) Tag(r report.Report) (report.Report, error) {
|
||||
"host": &(r.Host),
|
||||
"overlay": &(r.Overlay),
|
||||
} {
|
||||
md := report.NewNodeMetadata(report.Metadata{Topology: val})
|
||||
md := report.NewNodeMetadata(map[string]string{Topology: val})
|
||||
for nodeID := range topology.NodeMetadatas {
|
||||
(*topology).NodeMetadatas[nodeID].Merge(md)
|
||||
}
|
||||
|
||||
@@ -11,8 +11,8 @@ func TestApply(t *testing.T) {
|
||||
var (
|
||||
endpointNodeID = "c"
|
||||
addressNodeID = "d"
|
||||
endpointNodeMetadata = report.NewNodeMetadata(report.Metadata{"5": "6"})
|
||||
addressNodeMetadata = report.NewNodeMetadata(report.Metadata{"7": "8"})
|
||||
endpointNodeMetadata = report.NewNodeMetadata(map[string]string{"5": "6"})
|
||||
addressNodeMetadata = report.NewNodeMetadata(map[string]string{"7": "8"})
|
||||
)
|
||||
|
||||
r := report.MakeReport()
|
||||
@@ -25,8 +25,8 @@ func TestApply(t *testing.T) {
|
||||
from report.Topology
|
||||
via string
|
||||
}{
|
||||
{endpointNodeMetadata.Copy().Merge(report.NewNodeMetadata(report.Metadata{"topology": "endpoint"})), r.Endpoint, endpointNodeID},
|
||||
{addressNodeMetadata.Copy().Merge(report.NewNodeMetadata(report.Metadata{"topology": "address"})), r.Address, addressNodeID},
|
||||
{endpointNodeMetadata.Copy().Merge(report.NewNodeMetadata(map[string]string{"topology": "endpoint"})), r.Endpoint, endpointNodeID},
|
||||
{addressNodeMetadata.Copy().Merge(report.NewNodeMetadata(map[string]string{"topology": "address"})), r.Address, addressNodeID},
|
||||
} {
|
||||
if want, have := tuple.want, tuple.from.NodeMetadatas[tuple.via]; !reflect.DeepEqual(want, have) {
|
||||
t.Errorf("want %+v, have %+v", want, have)
|
||||
@@ -37,7 +37,7 @@ func TestApply(t *testing.T) {
|
||||
func TestTagMissingID(t *testing.T) {
|
||||
const nodeID = "not-found"
|
||||
r := report.MakeReport()
|
||||
want := report.NewNodeMetadata(report.Metadata{})
|
||||
want := report.NewNodeMetadata(map[string]string{})
|
||||
rpt, _ := newTopologyTagger().Tag(r)
|
||||
have := rpt.Endpoint.NodeMetadatas[nodeID].Copy()
|
||||
if !reflect.DeepEqual(want, have) {
|
||||
|
||||
@@ -110,8 +110,8 @@ func TestMapEdge(t *testing.T) {
|
||||
selector := func(_ report.Report) report.Topology {
|
||||
return report.Topology{
|
||||
NodeMetadatas: report.NodeMetadatas{
|
||||
"foo": report.NewNodeMetadata(report.Metadata{"id": "foo"}),
|
||||
"bar": report.NewNodeMetadata(report.Metadata{"id": "bar"}),
|
||||
"foo": report.NewNodeMetadata(map[string]string{"id": "foo"}),
|
||||
"bar": report.NewNodeMetadata(map[string]string{"id": "bar"}),
|
||||
},
|
||||
Adjacency: report.Adjacency{
|
||||
">foo": report.MakeIDList("bar"),
|
||||
|
||||
@@ -82,7 +82,7 @@ func newDerivedNode(id string, node RenderableNode) RenderableNode {
|
||||
Pseudo: node.Pseudo,
|
||||
AggregateMetadata: node.AggregateMetadata,
|
||||
Origins: node.Origins,
|
||||
NodeMetadata: report.NewNodeMetadata(report.Metadata{}),
|
||||
NodeMetadata: report.NewNodeMetadata(map[string]string{}),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,7 +94,7 @@ func newPseudoNode(id, major, minor string) RenderableNode {
|
||||
Rank: "",
|
||||
Pseudo: true,
|
||||
AggregateMetadata: AggregateMetadata{},
|
||||
NodeMetadata: report.NewNodeMetadata(report.Metadata{}),
|
||||
NodeMetadata: report.NewNodeMetadata(map[string]string{}),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,6 @@ func newDerivedPseudoNode(id, major string, node RenderableNode) RenderableNode
|
||||
Pseudo: true,
|
||||
AggregateMetadata: node.AggregateMetadata,
|
||||
Origins: node.Origins,
|
||||
NodeMetadata: report.NewNodeMetadata(report.Metadata{}),
|
||||
NodeMetadata: report.NewNodeMetadata(map[string]string{}),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@ import (
|
||||
func TestReportLocalNetworks(t *testing.T) {
|
||||
r := report.MakeReport()
|
||||
r.Merge(report.Report{Host: report.Topology{NodeMetadatas: report.NodeMetadatas{
|
||||
"nonets": report.NewNodeMetadata(report.Metadata{}),
|
||||
"foo": report.NewNodeMetadata(report.Metadata{host.LocalNetworks: "10.0.0.1/8 192.168.1.1/24 10.0.0.1/8 badnet/33"}),
|
||||
"nonets": report.NewNodeMetadata(map[string]string{}),
|
||||
"foo": report.NewNodeMetadata(map[string]string{host.LocalNetworks: "10.0.0.1/8 192.168.1.1/24 10.0.0.1/8 badnet/33"}),
|
||||
}}})
|
||||
want := report.Networks([]*net.IPNet{
|
||||
mustParseCIDR("10.0.0.1/8"),
|
||||
|
||||
+11
-11
@@ -228,14 +228,14 @@ func TestMergeNodeMetadatas(t *testing.T) {
|
||||
"Empty a": {
|
||||
a: report.NodeMetadatas{},
|
||||
b: report.NodeMetadatas{
|
||||
":192.168.1.1:12345": report.NewNodeMetadata(report.Metadata{
|
||||
":192.168.1.1:12345": report.NewNodeMetadata(map[string]string{
|
||||
PID: "23128",
|
||||
Name: "curl",
|
||||
Domain: "node-a.local",
|
||||
}),
|
||||
},
|
||||
want: report.NodeMetadatas{
|
||||
":192.168.1.1:12345": report.NewNodeMetadata(report.Metadata{
|
||||
":192.168.1.1:12345": report.NewNodeMetadata(map[string]string{
|
||||
PID: "23128",
|
||||
Name: "curl",
|
||||
Domain: "node-a.local",
|
||||
@@ -244,7 +244,7 @@ func TestMergeNodeMetadatas(t *testing.T) {
|
||||
},
|
||||
"Empty b": {
|
||||
a: report.NodeMetadatas{
|
||||
":192.168.1.1:12345": report.NewNodeMetadata(report.Metadata{
|
||||
":192.168.1.1:12345": report.NewNodeMetadata(map[string]string{
|
||||
PID: "23128",
|
||||
Name: "curl",
|
||||
Domain: "node-a.local",
|
||||
@@ -252,7 +252,7 @@ func TestMergeNodeMetadatas(t *testing.T) {
|
||||
},
|
||||
b: report.NodeMetadatas{},
|
||||
want: report.NodeMetadatas{
|
||||
":192.168.1.1:12345": report.NewNodeMetadata(report.Metadata{
|
||||
":192.168.1.1:12345": report.NewNodeMetadata(map[string]string{
|
||||
PID: "23128",
|
||||
Name: "curl",
|
||||
Domain: "node-a.local",
|
||||
@@ -261,26 +261,26 @@ func TestMergeNodeMetadatas(t *testing.T) {
|
||||
},
|
||||
"Simple merge": {
|
||||
a: report.NodeMetadatas{
|
||||
":192.168.1.1:12345": report.NewNodeMetadata(report.Metadata{
|
||||
":192.168.1.1:12345": report.NewNodeMetadata(map[string]string{
|
||||
PID: "23128",
|
||||
Name: "curl",
|
||||
Domain: "node-a.local",
|
||||
}),
|
||||
},
|
||||
b: report.NodeMetadatas{
|
||||
":192.168.1.2:12345": report.NewNodeMetadata(report.Metadata{
|
||||
":192.168.1.2:12345": report.NewNodeMetadata(map[string]string{
|
||||
PID: "42",
|
||||
Name: "curl",
|
||||
Domain: "node-a.local",
|
||||
}),
|
||||
},
|
||||
want: report.NodeMetadatas{
|
||||
":192.168.1.1:12345": report.NewNodeMetadata(report.Metadata{
|
||||
":192.168.1.1:12345": report.NewNodeMetadata(map[string]string{
|
||||
PID: "23128",
|
||||
Name: "curl",
|
||||
Domain: "node-a.local",
|
||||
}),
|
||||
":192.168.1.2:12345": report.NewNodeMetadata(report.Metadata{
|
||||
":192.168.1.2:12345": report.NewNodeMetadata(map[string]string{
|
||||
PID: "42",
|
||||
Name: "curl",
|
||||
Domain: "node-a.local",
|
||||
@@ -289,21 +289,21 @@ func TestMergeNodeMetadatas(t *testing.T) {
|
||||
},
|
||||
"Merge conflict": {
|
||||
a: report.NodeMetadatas{
|
||||
":192.168.1.1:12345": report.NewNodeMetadata(report.Metadata{
|
||||
":192.168.1.1:12345": report.NewNodeMetadata(map[string]string{
|
||||
PID: "23128",
|
||||
Name: "curl",
|
||||
Domain: "node-a.local",
|
||||
}),
|
||||
},
|
||||
b: report.NodeMetadatas{
|
||||
":192.168.1.1:12345": report.NewNodeMetadata(report.Metadata{ // <-- same ID
|
||||
":192.168.1.1:12345": report.NewNodeMetadata(map[string]string{ // <-- same ID
|
||||
PID: "0",
|
||||
Name: "curl",
|
||||
Domain: "node-a.local",
|
||||
}),
|
||||
},
|
||||
want: report.NodeMetadatas{
|
||||
":192.168.1.1:12345": report.NewNodeMetadata(report.Metadata{
|
||||
":192.168.1.1:12345": report.NewNodeMetadata(map[string]string{
|
||||
PID: "23128",
|
||||
Name: "curl",
|
||||
Domain: "node-a.local",
|
||||
|
||||
+3
-6
@@ -43,14 +43,11 @@ type EdgeMetadata struct {
|
||||
// NodeMetadata describes a superset of the metadata that probes can collect
|
||||
// about a given node in a given topology.
|
||||
type NodeMetadata struct {
|
||||
Metadata
|
||||
Metadata map[string]string
|
||||
}
|
||||
|
||||
// Metadata is shorthand for a string:string map.
|
||||
type Metadata map[string]string
|
||||
|
||||
// NewNodeMetadata creates a new NodeMetadata with the supplied Metadata.
|
||||
func NewNodeMetadata(m Metadata) NodeMetadata {
|
||||
func NewNodeMetadata(m map[string]string) NodeMetadata {
|
||||
return NodeMetadata{
|
||||
Metadata: m,
|
||||
}
|
||||
@@ -58,7 +55,7 @@ func NewNodeMetadata(m Metadata) NodeMetadata {
|
||||
|
||||
// Copy returns a value copy, useful for tests.
|
||||
func (nm NodeMetadata) Copy() NodeMetadata {
|
||||
cp := NewNodeMetadata(Metadata{})
|
||||
cp := NewNodeMetadata(map[string]string{})
|
||||
for k, v := range nm.Metadata {
|
||||
cp.Metadata[k] = v
|
||||
}
|
||||
|
||||
+15
-15
@@ -80,19 +80,19 @@ var (
|
||||
// NodeMetadata is arbitrary. We're free to put only precisely what we
|
||||
// care to test into the fixture. Just be sure to include the bits
|
||||
// that the mapping funcs extract :)
|
||||
Client54001NodeID: report.NewNodeMetadata(report.Metadata{
|
||||
Client54001NodeID: report.NewNodeMetadata(map[string]string{
|
||||
"addr": ClientIP,
|
||||
"port": ClientPort54001,
|
||||
"pid": Client1PID,
|
||||
report.HostNodeID: ClientHostNodeID,
|
||||
}),
|
||||
Client54002NodeID: report.NewNodeMetadata(report.Metadata{
|
||||
Client54002NodeID: report.NewNodeMetadata(map[string]string{
|
||||
"addr": ClientIP,
|
||||
"port": ClientPort54002,
|
||||
"pid": Client2PID,
|
||||
report.HostNodeID: ClientHostNodeID,
|
||||
}),
|
||||
Server80NodeID: report.NewNodeMetadata(report.Metadata{
|
||||
Server80NodeID: report.NewNodeMetadata(map[string]string{
|
||||
"addr": ServerIP,
|
||||
"port": ServerPort,
|
||||
"pid": ServerPID,
|
||||
@@ -141,25 +141,25 @@ var (
|
||||
Process: report.Topology{
|
||||
Adjacency: report.Adjacency{},
|
||||
NodeMetadatas: report.NodeMetadatas{
|
||||
ClientProcess1NodeID: report.NewNodeMetadata(report.Metadata{
|
||||
ClientProcess1NodeID: report.NewNodeMetadata(map[string]string{
|
||||
"pid": Client1PID,
|
||||
"comm": "curl",
|
||||
docker.ContainerID: ClientContainerID,
|
||||
report.HostNodeID: ClientHostNodeID,
|
||||
}),
|
||||
ClientProcess2NodeID: report.NewNodeMetadata(report.Metadata{
|
||||
ClientProcess2NodeID: report.NewNodeMetadata(map[string]string{
|
||||
"pid": Client2PID,
|
||||
"comm": "curl",
|
||||
docker.ContainerID: ClientContainerID,
|
||||
report.HostNodeID: ClientHostNodeID,
|
||||
}),
|
||||
ServerProcessNodeID: report.NewNodeMetadata(report.Metadata{
|
||||
ServerProcessNodeID: report.NewNodeMetadata(map[string]string{
|
||||
"pid": ServerPID,
|
||||
"comm": "apache",
|
||||
docker.ContainerID: ServerContainerID,
|
||||
report.HostNodeID: ServerHostNodeID,
|
||||
}),
|
||||
NonContainerProcessNodeID: report.NewNodeMetadata(report.Metadata{
|
||||
NonContainerProcessNodeID: report.NewNodeMetadata(map[string]string{
|
||||
"pid": NonContainerPID,
|
||||
"comm": "bash",
|
||||
report.HostNodeID: ServerHostNodeID,
|
||||
@@ -169,13 +169,13 @@ var (
|
||||
},
|
||||
Container: report.Topology{
|
||||
NodeMetadatas: report.NodeMetadatas{
|
||||
ClientContainerNodeID: report.NewNodeMetadata(report.Metadata{
|
||||
ClientContainerNodeID: report.NewNodeMetadata(map[string]string{
|
||||
docker.ContainerID: ClientContainerID,
|
||||
docker.ContainerName: "client",
|
||||
docker.ImageID: ClientContainerImageID,
|
||||
report.HostNodeID: ClientHostNodeID,
|
||||
}),
|
||||
ServerContainerNodeID: report.NewNodeMetadata(report.Metadata{
|
||||
ServerContainerNodeID: report.NewNodeMetadata(map[string]string{
|
||||
docker.ContainerID: ServerContainerID,
|
||||
docker.ContainerName: "server",
|
||||
docker.ImageID: ServerContainerImageID,
|
||||
@@ -185,12 +185,12 @@ var (
|
||||
},
|
||||
ContainerImage: report.Topology{
|
||||
NodeMetadatas: report.NodeMetadatas{
|
||||
ClientContainerImageNodeID: report.NewNodeMetadata(report.Metadata{
|
||||
ClientContainerImageNodeID: report.NewNodeMetadata(map[string]string{
|
||||
docker.ImageID: ClientContainerImageID,
|
||||
docker.ImageName: ClientContainerImageName,
|
||||
report.HostNodeID: ClientHostNodeID,
|
||||
}),
|
||||
ServerContainerImageNodeID: report.NewNodeMetadata(report.Metadata{
|
||||
ServerContainerImageNodeID: report.NewNodeMetadata(map[string]string{
|
||||
docker.ImageID: ServerContainerImageID,
|
||||
docker.ImageName: ServerContainerImageName,
|
||||
report.HostNodeID: ServerHostNodeID,
|
||||
@@ -204,11 +204,11 @@ var (
|
||||
ClientAddressNodeID, UnknownAddress1NodeID, UnknownAddress2NodeID, RandomAddressNodeID), // no backlinks to unknown/random
|
||||
},
|
||||
NodeMetadatas: report.NodeMetadatas{
|
||||
ClientAddressNodeID: report.NewNodeMetadata(report.Metadata{
|
||||
ClientAddressNodeID: report.NewNodeMetadata(map[string]string{
|
||||
"addr": ClientIP,
|
||||
report.HostNodeID: ClientHostNodeID,
|
||||
}),
|
||||
ServerAddressNodeID: report.NewNodeMetadata(report.Metadata{
|
||||
ServerAddressNodeID: report.NewNodeMetadata(map[string]string{
|
||||
"addr": ServerIP,
|
||||
report.HostNodeID: ServerHostNodeID,
|
||||
}),
|
||||
@@ -227,14 +227,14 @@ var (
|
||||
Host: report.Topology{
|
||||
Adjacency: report.Adjacency{},
|
||||
NodeMetadatas: report.NodeMetadatas{
|
||||
ClientHostNodeID: report.NewNodeMetadata(report.Metadata{
|
||||
ClientHostNodeID: report.NewNodeMetadata(map[string]string{
|
||||
"host_name": ClientHostName,
|
||||
"local_networks": "10.10.10.0/24",
|
||||
"os": "Linux",
|
||||
"load": "0.01 0.01 0.01",
|
||||
report.HostNodeID: ClientHostNodeID,
|
||||
}),
|
||||
ServerHostNodeID: report.NewNodeMetadata(report.Metadata{
|
||||
ServerHostNodeID: report.NewNodeMetadata(map[string]string{
|
||||
"host_name": ServerHostName,
|
||||
"local_networks": "10.10.10.0/24",
|
||||
"os": "Linux",
|
||||
|
||||
+2
-2
@@ -41,12 +41,12 @@ func TestMerge(t *testing.T) {
|
||||
|
||||
{
|
||||
r := report.MakeReport()
|
||||
r.Host.NodeMetadatas[k1] = report.NewNodeMetadata(report.Metadata{"host_name": "test1"})
|
||||
r.Host.NodeMetadatas[k1] = report.NewNodeMetadata(map[string]string{"host_name": "test1"})
|
||||
p1.Publish(r)
|
||||
}
|
||||
{
|
||||
r := report.MakeReport()
|
||||
r.Host.NodeMetadatas[k2] = report.NewNodeMetadata(report.Metadata{"host_name": "test2"})
|
||||
r.Host.NodeMetadatas[k2] = report.NewNodeMetadata(map[string]string{"host_name": "test2"})
|
||||
p2.Publish(r)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user