4949 DstPort : 456 ,
5050 IfIndex : 3 ,
5151 }
52- key1Dupe = ebpf.BpfFlowId {
53- SrcPort : 123 ,
54- DstPort : 456 ,
55- IfIndex : 4 ,
56- }
5752
5853 key2 = ebpf.BpfFlowId {
5954 SrcPort : 333 ,
@@ -71,7 +66,7 @@ func TestFlowsAgent_Deduplication(t *testing.T) {
7166 })
7267
7368 exported := export .Get (t , timeout )
74- assert .Len (t , exported , 2 )
69+ assert .Len (t , exported , 1 )
7570
7671 receivedKeys := map [ebpf.BpfFlowId ]struct {}{}
7772
@@ -81,21 +76,11 @@ func TestFlowsAgent_Deduplication(t *testing.T) {
8176 receivedKeys [f .Id ] = struct {}{}
8277 switch f .Id {
8378 case key1 :
84- assert .EqualValues (t , 4 , f .Metrics .Packets )
85- assert .EqualValues (t , 66 , f .Metrics .Bytes )
79+ assert .EqualValues (t , 3 , f .Metrics .Packets )
80+ assert .EqualValues (t , 44 , f .Metrics .Bytes )
8681 assert .False (t , f .Duplicate )
8782 assert .Equal (t , "foo" , f .Interface )
8883 key1Flows = append (key1Flows , f )
89- case key1Dupe :
90- assert .EqualValues (t , 4 , f .Metrics .Packets )
91- assert .EqualValues (t , 66 , f .Metrics .Bytes )
92- assert .False (t , f .Duplicate )
93- assert .Equal (t , "bar" , f .Interface )
94- key1Flows = append (key1Flows , f )
95- case key2 :
96- assert .EqualValues (t , 7 , f .Metrics .Packets )
97- assert .EqualValues (t , 33 , f .Metrics .Bytes )
98- assert .False (t , f .Duplicate )
9984 }
10085 }
10186 assert .Lenf (t , key1Flows , 1 , "only one flow should have been forwarded: %#v" , key1Flows )
@@ -112,33 +97,22 @@ func TestFlowsAgent_DeduplicationJustMark(t *testing.T) {
11297 exported := export .Get (t , timeout )
11398 receivedKeys := map [ebpf.BpfFlowId ]struct {}{}
11499
115- assert .Len (t , exported , 3 )
100+ assert .Len (t , exported , 1 )
116101 duplicates := 0
117102 for _ , f := range exported {
118103 require .NotContains (t , receivedKeys , f .Id )
119104 receivedKeys [f .Id ] = struct {}{}
120105 switch f .Id {
121106 case key1 :
122- assert .EqualValues (t , 4 , f .Metrics .Packets )
123- assert .EqualValues (t , 66 , f .Metrics .Bytes )
107+ assert .EqualValues (t , 3 , f .Metrics .Packets )
108+ assert .EqualValues (t , 44 , f .Metrics .Bytes )
124109 if f .Duplicate {
125110 duplicates ++
126111 }
127112 assert .Equal (t , "foo" , f .Interface )
128- case key1Dupe :
129- assert .EqualValues (t , 4 , f .Metrics .Packets )
130- assert .EqualValues (t , 66 , f .Metrics .Bytes )
131- if f .Duplicate {
132- duplicates ++
133- }
134- assert .Equal (t , "bar" , f .Interface )
135- case key2 :
136- assert .EqualValues (t , 7 , f .Metrics .Packets )
137- assert .EqualValues (t , 33 , f .Metrics .Bytes )
138- assert .False (t , f .Duplicate )
139113 }
140114 }
141- assert .Equalf (t , 1 , duplicates , "exported flows should have only one duplicate: %#v" , exported )
115+ assert .Equalf (t , 0 , duplicates , "exported flows should have only one duplicate: %#v" , exported )
142116}
143117
144118func TestFlowsAgent_Deduplication_None (t * testing.T ) {
@@ -149,7 +123,7 @@ func TestFlowsAgent_Deduplication_None(t *testing.T) {
149123 })
150124
151125 exported := export .Get (t , timeout )
152- assert .Len (t , exported , 3 )
126+ assert .Len (t , exported , 1 )
153127 receivedKeys := map [ebpf.BpfFlowId ]struct {}{}
154128
155129 var key1Flows []* flow.Record
@@ -158,24 +132,14 @@ func TestFlowsAgent_Deduplication_None(t *testing.T) {
158132 receivedKeys [f .Id ] = struct {}{}
159133 switch f .Id {
160134 case key1 :
161- assert .EqualValues (t , 4 , f .Metrics .Packets )
162- assert .EqualValues (t , 66 , f .Metrics .Bytes )
135+ assert .EqualValues (t , 3 , f .Metrics .Packets )
136+ assert .EqualValues (t , 44 , f .Metrics .Bytes )
163137 assert .False (t , f .Duplicate )
164138 assert .Equal (t , "foo" , f .Interface )
165139 key1Flows = append (key1Flows , f )
166- case key1Dupe :
167- assert .EqualValues (t , 4 , f .Metrics .Packets )
168- assert .EqualValues (t , 66 , f .Metrics .Bytes )
169- assert .False (t , f .Duplicate )
170- assert .Equal (t , "bar" , f .Interface )
171- key1Flows = append (key1Flows , f )
172- case key2 :
173- assert .EqualValues (t , 7 , f .Metrics .Packets )
174- assert .EqualValues (t , 33 , f .Metrics .Bytes )
175- assert .False (t , f .Duplicate )
176140 }
177141 }
178- assert .Lenf (t , key1Flows , 2 , "both key1 flows should have been forwarded: %#v" , key1Flows )
142+ assert .Lenf (t , key1Flows , 1 , "both key1 flows should have been forwarded: %#v" , key1Flows )
179143}
180144
181145func TestFlowsAgent_Decoration (t * testing.T ) {
@@ -185,7 +149,7 @@ func TestFlowsAgent_Decoration(t *testing.T) {
185149 })
186150
187151 exported := export .Get (t , timeout )
188- assert .Len (t , exported , 3 )
152+ assert .Len (t , exported , 1 )
189153
190154 // Tests that the decoration stage has been properly executed. It should
191155 // add the interface name and the agent IP
@@ -219,18 +183,10 @@ func testAgent(t *testing.T, cfg *Config) *test.ExporterFake {
219183 })
220184
221185 now := uint64 (monotime .Now ())
222- key1Metrics := []ebpf.BpfFlowMetrics {
223- {Packets : 3 , Bytes : 44 , StartMonoTimeTs : now + 1000 , EndMonoTimeTs : now + 1_000_000_000 },
224- {Packets : 1 , Bytes : 22 , StartMonoTimeTs : now , EndMonoTimeTs : now + 3000 },
225- }
226- key2Metrics := []ebpf.BpfFlowMetrics {
227- {Packets : 7 , Bytes : 33 , StartMonoTimeTs : now , EndMonoTimeTs : now + 2_000_000_000 },
228- }
186+ key1Metrics := ebpf.BpfFlowMetrics {Packets : 3 , Bytes : 44 , StartMonoTimeTs : now + 1000 , EndMonoTimeTs : now + 1_000_000_000 }
229187
230- ebpfTracer .AppendLookupResults (map [ebpf.BpfFlowId ][]ebpf.BpfFlowMetrics {
231- key1 : key1Metrics ,
232- key1Dupe : key1Metrics ,
233- key2 : key2Metrics ,
188+ ebpfTracer .AppendLookupResults (map [ebpf.BpfFlowId ]ebpf.BpfFlowMetrics {
189+ key1 : key1Metrics ,
234190 })
235191 return export
236192}
0 commit comments