mirror of
https://github.com/weaveworks/scope.git
synced 2026-03-03 18:20:27 +00:00
374 lines
11 KiB
Go
374 lines
11 KiB
Go
package expected
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/weaveworks/scope/render"
|
|
"github.com/weaveworks/scope/report"
|
|
"github.com/weaveworks/scope/test"
|
|
)
|
|
|
|
// Exported for testing.
|
|
var (
|
|
uncontainedServerID = render.MakePseudoNodeID(render.UncontainedID, test.ServerHostName)
|
|
unknownPseudoNode1ID = render.MakePseudoNodeID("10.10.10.10", test.ServerIP, "80")
|
|
unknownPseudoNode2ID = render.MakePseudoNodeID("10.10.10.11", test.ServerIP, "80")
|
|
unknownPseudoNode1 = func(adjacent string) render.RenderableNode {
|
|
return render.RenderableNode{
|
|
ID: unknownPseudoNode1ID,
|
|
LabelMajor: "10.10.10.10",
|
|
Pseudo: true,
|
|
Node: report.MakeNode().WithAdjacent(adjacent),
|
|
EdgeMetadata: report.EdgeMetadata{
|
|
EgressPacketCount: newu64(70),
|
|
EgressByteCount: newu64(700),
|
|
},
|
|
Origins: report.MakeIDList(
|
|
test.UnknownClient1NodeID,
|
|
test.UnknownClient2NodeID,
|
|
),
|
|
}
|
|
}
|
|
unknownPseudoNode2 = func(adjacent string) render.RenderableNode {
|
|
return render.RenderableNode{
|
|
ID: unknownPseudoNode2ID,
|
|
LabelMajor: "10.10.10.11",
|
|
Pseudo: true,
|
|
Node: report.MakeNode().WithAdjacent(adjacent),
|
|
EdgeMetadata: report.EdgeMetadata{
|
|
EgressPacketCount: newu64(50),
|
|
EgressByteCount: newu64(500),
|
|
},
|
|
Origins: report.MakeIDList(
|
|
test.UnknownClient3NodeID,
|
|
),
|
|
}
|
|
}
|
|
theInternetNode = func(adjacent string) render.RenderableNode {
|
|
return render.RenderableNode{
|
|
ID: render.TheInternetID,
|
|
LabelMajor: render.TheInternetMajor,
|
|
Pseudo: true,
|
|
Node: report.MakeNode().WithAdjacent(adjacent),
|
|
EdgeMetadata: report.EdgeMetadata{
|
|
EgressPacketCount: newu64(60),
|
|
EgressByteCount: newu64(600),
|
|
},
|
|
Origins: report.MakeIDList(
|
|
test.RandomClientNodeID,
|
|
test.GoogleEndpointNodeID,
|
|
),
|
|
}
|
|
}
|
|
ClientProcess1ID = render.MakeProcessID(test.ClientHostID, test.Client1PID)
|
|
ClientProcess2ID = render.MakeProcessID(test.ClientHostID, test.Client2PID)
|
|
ServerProcessID = render.MakeProcessID(test.ServerHostID, test.ServerPID)
|
|
nonContainerProcessID = render.MakeProcessID(test.ServerHostID, test.NonContainerPID)
|
|
|
|
RenderedProcesses = (render.RenderableNodes{
|
|
ClientProcess1ID: {
|
|
ID: ClientProcess1ID,
|
|
LabelMajor: test.Client1Comm,
|
|
LabelMinor: fmt.Sprintf("%s (%s)", test.ClientHostID, test.Client1PID),
|
|
Rank: test.Client1Comm,
|
|
Pseudo: false,
|
|
Origins: report.MakeIDList(
|
|
test.Client54001NodeID,
|
|
test.ClientProcess1NodeID,
|
|
test.ClientHostNodeID,
|
|
),
|
|
Node: report.MakeNode().WithAdjacent(ServerProcessID),
|
|
EdgeMetadata: report.EdgeMetadata{
|
|
EgressPacketCount: newu64(10),
|
|
EgressByteCount: newu64(100),
|
|
},
|
|
},
|
|
ClientProcess2ID: {
|
|
ID: ClientProcess2ID,
|
|
LabelMajor: test.Client2Comm,
|
|
LabelMinor: fmt.Sprintf("%s (%s)", test.ClientHostID, test.Client2PID),
|
|
Rank: test.Client2Comm,
|
|
Pseudo: false,
|
|
Origins: report.MakeIDList(
|
|
test.Client54002NodeID,
|
|
test.ClientProcess2NodeID,
|
|
test.ClientHostNodeID,
|
|
),
|
|
Node: report.MakeNode().WithAdjacent(ServerProcessID),
|
|
EdgeMetadata: report.EdgeMetadata{
|
|
EgressPacketCount: newu64(20),
|
|
EgressByteCount: newu64(200),
|
|
},
|
|
},
|
|
ServerProcessID: {
|
|
ID: ServerProcessID,
|
|
LabelMajor: "apache",
|
|
LabelMinor: fmt.Sprintf("%s (%s)", test.ServerHostID, test.ServerPID),
|
|
Rank: test.ServerComm,
|
|
Pseudo: false,
|
|
Origins: report.MakeIDList(
|
|
test.Server80NodeID,
|
|
test.ServerProcessNodeID,
|
|
test.ServerHostNodeID,
|
|
),
|
|
Node: report.MakeNode(),
|
|
EdgeMetadata: report.EdgeMetadata{
|
|
IngressPacketCount: newu64(210),
|
|
IngressByteCount: newu64(2100),
|
|
},
|
|
},
|
|
nonContainerProcessID: {
|
|
ID: nonContainerProcessID,
|
|
LabelMajor: test.NonContainerComm,
|
|
LabelMinor: fmt.Sprintf("%s (%s)", test.ServerHostID, test.NonContainerPID),
|
|
Rank: test.NonContainerComm,
|
|
Pseudo: false,
|
|
Origins: report.MakeIDList(
|
|
test.NonContainerProcessNodeID,
|
|
test.ServerHostNodeID,
|
|
test.NonContainerNodeID,
|
|
),
|
|
Node: report.MakeNode().WithAdjacent(render.TheInternetID),
|
|
EdgeMetadata: report.EdgeMetadata{},
|
|
},
|
|
unknownPseudoNode1ID: unknownPseudoNode1(ServerProcessID),
|
|
unknownPseudoNode2ID: unknownPseudoNode2(ServerProcessID),
|
|
render.TheInternetID: theInternetNode(ServerProcessID),
|
|
}).Prune()
|
|
|
|
RenderedProcessNames = (render.RenderableNodes{
|
|
"curl": {
|
|
ID: "curl",
|
|
LabelMajor: "curl",
|
|
LabelMinor: "2 processes",
|
|
Rank: "curl",
|
|
Pseudo: false,
|
|
Origins: report.MakeIDList(
|
|
test.Client54001NodeID,
|
|
test.Client54002NodeID,
|
|
test.ClientProcess1NodeID,
|
|
test.ClientProcess2NodeID,
|
|
test.ClientHostNodeID,
|
|
),
|
|
Node: report.MakeNode().WithAdjacent("apache"),
|
|
EdgeMetadata: report.EdgeMetadata{
|
|
EgressPacketCount: newu64(30),
|
|
EgressByteCount: newu64(300),
|
|
},
|
|
},
|
|
"apache": {
|
|
ID: "apache",
|
|
LabelMajor: "apache",
|
|
LabelMinor: "1 process",
|
|
Rank: "apache",
|
|
Pseudo: false,
|
|
Origins: report.MakeIDList(
|
|
test.Server80NodeID,
|
|
test.ServerProcessNodeID,
|
|
test.ServerHostNodeID,
|
|
),
|
|
Node: report.MakeNode(),
|
|
EdgeMetadata: report.EdgeMetadata{
|
|
IngressPacketCount: newu64(210),
|
|
IngressByteCount: newu64(2100),
|
|
},
|
|
},
|
|
test.NonContainerComm: {
|
|
ID: test.NonContainerComm,
|
|
LabelMajor: test.NonContainerComm,
|
|
LabelMinor: "1 process",
|
|
Rank: test.NonContainerComm,
|
|
Pseudo: false,
|
|
Origins: report.MakeIDList(
|
|
test.NonContainerProcessNodeID,
|
|
test.ServerHostNodeID,
|
|
test.NonContainerNodeID,
|
|
),
|
|
Node: report.MakeNode().WithAdjacent(render.TheInternetID),
|
|
EdgeMetadata: report.EdgeMetadata{},
|
|
},
|
|
unknownPseudoNode1ID: unknownPseudoNode1("apache"),
|
|
unknownPseudoNode2ID: unknownPseudoNode2("apache"),
|
|
render.TheInternetID: theInternetNode("apache"),
|
|
}).Prune()
|
|
|
|
RenderedContainers = (render.RenderableNodes{
|
|
test.ClientContainerID: {
|
|
ID: test.ClientContainerID,
|
|
LabelMajor: "client",
|
|
LabelMinor: test.ClientHostName,
|
|
Rank: test.ClientContainerImageName,
|
|
Pseudo: false,
|
|
Origins: report.MakeIDList(
|
|
test.ClientContainerImageNodeID,
|
|
test.ClientContainerNodeID,
|
|
test.Client54001NodeID,
|
|
test.Client54002NodeID,
|
|
test.ClientProcess1NodeID,
|
|
test.ClientProcess2NodeID,
|
|
test.ClientHostNodeID,
|
|
),
|
|
Node: report.MakeNode().WithAdjacent(test.ServerContainerID),
|
|
EdgeMetadata: report.EdgeMetadata{
|
|
EgressPacketCount: newu64(30),
|
|
EgressByteCount: newu64(300),
|
|
},
|
|
},
|
|
test.ServerContainerID: {
|
|
ID: test.ServerContainerID,
|
|
LabelMajor: "server",
|
|
LabelMinor: test.ServerHostName,
|
|
Rank: test.ServerContainerImageName,
|
|
Pseudo: false,
|
|
Origins: report.MakeIDList(
|
|
test.ServerContainerImageNodeID,
|
|
test.ServerContainerNodeID,
|
|
test.Server80NodeID,
|
|
test.ServerProcessNodeID,
|
|
test.ServerHostNodeID,
|
|
),
|
|
Node: report.MakeNode(),
|
|
EdgeMetadata: report.EdgeMetadata{
|
|
IngressPacketCount: newu64(210),
|
|
IngressByteCount: newu64(2100),
|
|
},
|
|
},
|
|
uncontainedServerID: {
|
|
ID: uncontainedServerID,
|
|
LabelMajor: render.UncontainedMajor,
|
|
LabelMinor: test.ServerHostName,
|
|
Rank: "",
|
|
Pseudo: true,
|
|
Origins: report.MakeIDList(
|
|
test.NonContainerProcessNodeID,
|
|
test.ServerHostNodeID,
|
|
test.NonContainerNodeID,
|
|
),
|
|
Node: report.MakeNode().WithAdjacent(render.TheInternetID),
|
|
EdgeMetadata: report.EdgeMetadata{},
|
|
},
|
|
render.TheInternetID: theInternetNode(test.ServerContainerID),
|
|
}).Prune()
|
|
|
|
RenderedContainerImages = (render.RenderableNodes{
|
|
test.ClientContainerImageName: {
|
|
ID: test.ClientContainerImageName,
|
|
LabelMajor: test.ClientContainerImageName,
|
|
LabelMinor: "1 container",
|
|
Rank: test.ClientContainerImageName,
|
|
Pseudo: false,
|
|
Origins: report.MakeIDList(
|
|
test.ClientContainerImageNodeID,
|
|
test.ClientContainerNodeID,
|
|
test.Client54001NodeID,
|
|
test.Client54002NodeID,
|
|
test.ClientProcess1NodeID,
|
|
test.ClientProcess2NodeID,
|
|
test.ClientHostNodeID,
|
|
),
|
|
Node: report.MakeNode().WithAdjacent(test.ServerContainerImageName),
|
|
EdgeMetadata: report.EdgeMetadata{
|
|
EgressPacketCount: newu64(30),
|
|
EgressByteCount: newu64(300),
|
|
},
|
|
},
|
|
test.ServerContainerImageName: {
|
|
ID: test.ServerContainerImageName,
|
|
LabelMajor: test.ServerContainerImageName,
|
|
LabelMinor: "1 container",
|
|
Rank: test.ServerContainerImageName,
|
|
Pseudo: false,
|
|
Origins: report.MakeIDList(
|
|
test.ServerContainerImageNodeID,
|
|
test.ServerContainerNodeID,
|
|
test.Server80NodeID,
|
|
test.ServerProcessNodeID,
|
|
test.ServerHostNodeID),
|
|
Node: report.MakeNode(),
|
|
EdgeMetadata: report.EdgeMetadata{
|
|
IngressPacketCount: newu64(210),
|
|
IngressByteCount: newu64(2100),
|
|
},
|
|
},
|
|
uncontainedServerID: {
|
|
ID: uncontainedServerID,
|
|
LabelMajor: render.UncontainedMajor,
|
|
LabelMinor: test.ServerHostName,
|
|
Rank: "",
|
|
Pseudo: true,
|
|
Origins: report.MakeIDList(
|
|
test.NonContainerNodeID,
|
|
test.NonContainerProcessNodeID,
|
|
test.ServerHostNodeID,
|
|
),
|
|
Node: report.MakeNode().WithAdjacent(render.TheInternetID),
|
|
EdgeMetadata: report.EdgeMetadata{},
|
|
},
|
|
render.TheInternetID: theInternetNode(test.ServerContainerImageName),
|
|
}).Prune()
|
|
|
|
ServerHostRenderedID = render.MakeHostID(test.ServerHostID)
|
|
ClientHostRenderedID = render.MakeHostID(test.ClientHostID)
|
|
pseudoHostID1 = render.MakePseudoNodeID(test.UnknownClient1IP, test.ServerIP)
|
|
pseudoHostID2 = render.MakePseudoNodeID(test.UnknownClient3IP, test.ServerIP)
|
|
|
|
RenderedHosts = (render.RenderableNodes{
|
|
ServerHostRenderedID: {
|
|
ID: ServerHostRenderedID,
|
|
LabelMajor: "server", // before first .
|
|
LabelMinor: "hostname.com", // after first .
|
|
Rank: "hostname.com",
|
|
Pseudo: false,
|
|
Origins: report.MakeIDList(
|
|
test.ServerHostNodeID,
|
|
test.ServerAddressNodeID,
|
|
),
|
|
Node: report.MakeNode(),
|
|
EdgeMetadata: report.EdgeMetadata{
|
|
MaxConnCountTCP: newu64(3),
|
|
},
|
|
},
|
|
ClientHostRenderedID: {
|
|
ID: ClientHostRenderedID,
|
|
LabelMajor: "client", // before first .
|
|
LabelMinor: "hostname.com", // after first .
|
|
Rank: "hostname.com",
|
|
Pseudo: false,
|
|
Origins: report.MakeIDList(
|
|
test.ClientHostNodeID,
|
|
test.ClientAddressNodeID,
|
|
),
|
|
Node: report.MakeNode().WithAdjacent(ServerHostRenderedID),
|
|
EdgeMetadata: report.EdgeMetadata{
|
|
MaxConnCountTCP: newu64(3),
|
|
},
|
|
},
|
|
pseudoHostID1: {
|
|
ID: pseudoHostID1,
|
|
LabelMajor: test.UnknownClient1IP,
|
|
Pseudo: true,
|
|
Node: report.MakeNode().WithAdjacent(ServerHostRenderedID),
|
|
EdgeMetadata: report.EdgeMetadata{},
|
|
Origins: report.MakeIDList(test.UnknownAddress1NodeID, test.UnknownAddress2NodeID),
|
|
},
|
|
pseudoHostID2: {
|
|
ID: pseudoHostID2,
|
|
LabelMajor: test.UnknownClient3IP,
|
|
Pseudo: true,
|
|
Node: report.MakeNode().WithAdjacent(ServerHostRenderedID),
|
|
EdgeMetadata: report.EdgeMetadata{},
|
|
Origins: report.MakeIDList(test.UnknownAddress3NodeID),
|
|
},
|
|
render.TheInternetID: {
|
|
ID: render.TheInternetID,
|
|
LabelMajor: render.TheInternetMajor,
|
|
Pseudo: true,
|
|
Node: report.MakeNode().WithAdjacent(ServerHostRenderedID),
|
|
EdgeMetadata: report.EdgeMetadata{},
|
|
Origins: report.MakeIDList(test.RandomAddressNodeID),
|
|
},
|
|
}).Prune()
|
|
)
|
|
|
|
func newu64(value uint64) *uint64 { return &value }
|