mirror of
https://github.com/weaveworks/scope.git
synced 2026-07-28 01:31:17 +00:00
Split PacketCount to Egress and Ingress
Also, 1 packet may be counted in N topologies, so you can't rely on the sum of all packet counts across topologies having any relation to the sampling data.
This commit is contained in:
@@ -64,8 +64,11 @@ func MakeDetailedNode(r report.Report, n RenderableNode) DetailedNode {
|
||||
if n.EdgeMetadata.MaxConnCountTCP != nil {
|
||||
rows = append(rows, Row{"TCP connections", strconv.FormatUint(*n.EdgeMetadata.MaxConnCountTCP, 10), ""})
|
||||
}
|
||||
if n.EdgeMetadata.PacketCount != nil {
|
||||
rows = append(rows, Row{"Packets", strconv.FormatUint(*n.EdgeMetadata.PacketCount, 10), ""})
|
||||
if n.EdgeMetadata.EgressPacketCount != nil {
|
||||
rows = append(rows, Row{"Egress packets", strconv.FormatUint(*n.EdgeMetadata.EgressPacketCount, 10), ""})
|
||||
}
|
||||
if n.EdgeMetadata.IngressPacketCount != nil {
|
||||
rows = append(rows, Row{"Ingress packets", strconv.FormatUint(*n.EdgeMetadata.IngressPacketCount, 10), ""})
|
||||
}
|
||||
if n.EdgeMetadata.EgressByteCount != nil {
|
||||
rows = append(rows, Row{"Egress bytes", strconv.FormatUint(*n.EdgeMetadata.EgressByteCount, 10), ""}) // TODO rate
|
||||
|
||||
@@ -66,7 +66,7 @@ func TestMakeDetailedNode(t *testing.T) {
|
||||
Numeric: true,
|
||||
Rank: 100,
|
||||
Rows: []render.Row{
|
||||
{"Packets", "150", ""},
|
||||
{"Egress packets", "150", ""},
|
||||
{"Egress bytes", "1500", ""},
|
||||
},
|
||||
},
|
||||
|
||||
@@ -55,8 +55,8 @@ var (
|
||||
),
|
||||
NodeMetadata: report.MakeNodeMetadata(),
|
||||
EdgeMetadata: report.EdgeMetadata{
|
||||
PacketCount: newu64(10),
|
||||
EgressByteCount: newu64(100),
|
||||
EgressPacketCount: newu64(10),
|
||||
EgressByteCount: newu64(100),
|
||||
},
|
||||
},
|
||||
ClientProcess2ID: {
|
||||
@@ -73,8 +73,8 @@ var (
|
||||
),
|
||||
NodeMetadata: report.MakeNodeMetadata(),
|
||||
EdgeMetadata: report.EdgeMetadata{
|
||||
PacketCount: newu64(20),
|
||||
EgressByteCount: newu64(200),
|
||||
EgressPacketCount: newu64(20),
|
||||
EgressByteCount: newu64(200),
|
||||
},
|
||||
},
|
||||
ServerProcessID: {
|
||||
@@ -97,8 +97,8 @@ var (
|
||||
),
|
||||
NodeMetadata: report.MakeNodeMetadata(),
|
||||
EdgeMetadata: report.EdgeMetadata{
|
||||
PacketCount: newu64(150),
|
||||
EgressByteCount: newu64(1500),
|
||||
EgressPacketCount: newu64(150),
|
||||
EgressByteCount: newu64(1500),
|
||||
},
|
||||
},
|
||||
nonContainerProcessID: {
|
||||
@@ -137,8 +137,8 @@ var (
|
||||
),
|
||||
NodeMetadata: report.MakeNodeMetadata(),
|
||||
EdgeMetadata: report.EdgeMetadata{
|
||||
PacketCount: newu64(30),
|
||||
EgressByteCount: newu64(300),
|
||||
EgressPacketCount: newu64(30),
|
||||
EgressByteCount: newu64(300),
|
||||
},
|
||||
},
|
||||
"apache": {
|
||||
@@ -160,8 +160,8 @@ var (
|
||||
),
|
||||
NodeMetadata: report.MakeNodeMetadata(),
|
||||
EdgeMetadata: report.EdgeMetadata{
|
||||
PacketCount: newu64(150),
|
||||
EgressByteCount: newu64(1500),
|
||||
EgressPacketCount: newu64(150),
|
||||
EgressByteCount: newu64(1500),
|
||||
},
|
||||
},
|
||||
"bash": {
|
||||
@@ -200,8 +200,8 @@ var (
|
||||
),
|
||||
NodeMetadata: report.MakeNodeMetadata(),
|
||||
EdgeMetadata: report.EdgeMetadata{
|
||||
PacketCount: newu64(30),
|
||||
EgressByteCount: newu64(300),
|
||||
EgressPacketCount: newu64(30),
|
||||
EgressByteCount: newu64(300),
|
||||
},
|
||||
},
|
||||
test.ServerContainerID: {
|
||||
@@ -219,8 +219,8 @@ var (
|
||||
),
|
||||
NodeMetadata: report.MakeNodeMetadata(),
|
||||
EdgeMetadata: report.EdgeMetadata{
|
||||
PacketCount: newu64(150),
|
||||
EgressByteCount: newu64(1500),
|
||||
EgressPacketCount: newu64(150),
|
||||
EgressByteCount: newu64(1500),
|
||||
},
|
||||
},
|
||||
uncontainedServerID: {
|
||||
@@ -258,8 +258,8 @@ var (
|
||||
),
|
||||
NodeMetadata: report.MakeNodeMetadata(),
|
||||
EdgeMetadata: report.EdgeMetadata{
|
||||
PacketCount: newu64(30),
|
||||
EgressByteCount: newu64(300),
|
||||
EgressPacketCount: newu64(30),
|
||||
EgressByteCount: newu64(300),
|
||||
},
|
||||
},
|
||||
test.ServerContainerImageName: {
|
||||
@@ -277,8 +277,8 @@ var (
|
||||
test.ServerHostNodeID),
|
||||
NodeMetadata: report.MakeNodeMetadata(),
|
||||
EdgeMetadata: report.EdgeMetadata{
|
||||
PacketCount: newu64(150),
|
||||
EgressByteCount: newu64(1500),
|
||||
EgressPacketCount: newu64(150),
|
||||
EgressByteCount: newu64(1500),
|
||||
},
|
||||
},
|
||||
uncontainedServerID: {
|
||||
|
||||
@@ -36,11 +36,11 @@ func TestReduceRender(t *testing.T) {
|
||||
|
||||
func TestReduceEdge(t *testing.T) {
|
||||
renderer := render.Reduce([]render.Renderer{
|
||||
mockRenderer{edgeMetadata: report.EdgeMetadata{PacketCount: newu64(1)}},
|
||||
mockRenderer{edgeMetadata: report.EdgeMetadata{PacketCount: newu64(2)}},
|
||||
mockRenderer{edgeMetadata: report.EdgeMetadata{EgressPacketCount: newu64(1)}},
|
||||
mockRenderer{edgeMetadata: report.EdgeMetadata{EgressPacketCount: newu64(2)}},
|
||||
})
|
||||
|
||||
want := report.EdgeMetadata{PacketCount: newu64(3)}
|
||||
want := report.EdgeMetadata{EgressPacketCount: newu64(3)}
|
||||
have := renderer.EdgeMetadata(report.MakeReport(), "", "")
|
||||
|
||||
if !reflect.DeepEqual(want, have) {
|
||||
@@ -118,8 +118,8 @@ func TestMapEdge(t *testing.T) {
|
||||
">bar": report.MakeIDList("foo"),
|
||||
},
|
||||
EdgeMetadatas: report.EdgeMetadatas{
|
||||
"foo|bar": report.EdgeMetadata{PacketCount: newu64(1), EgressByteCount: newu64(2)},
|
||||
"bar|foo": report.EdgeMetadata{PacketCount: newu64(3), EgressByteCount: newu64(4)},
|
||||
"foo|bar": report.EdgeMetadata{EgressPacketCount: newu64(1), EgressByteCount: newu64(2)},
|
||||
"bar|foo": report.EdgeMetadata{EgressPacketCount: newu64(3), EgressByteCount: newu64(4)},
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -140,8 +140,8 @@ func TestMapEdge(t *testing.T) {
|
||||
}
|
||||
|
||||
if want, have := (report.EdgeMetadata{
|
||||
PacketCount: newu64(1),
|
||||
EgressByteCount: newu64(2),
|
||||
EgressPacketCount: newu64(1),
|
||||
EgressByteCount: newu64(2),
|
||||
}), mapper.EdgeMetadata(report.MakeReport(), "_foo", "_bar"); !reflect.DeepEqual(want, have) {
|
||||
t.Errorf("want %+v, have %+v", want, have)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user