@@ -252,42 +252,86 @@ func TestMergeSplitLogsBasedOnByteSize(t *testing.T) {
252
252
}
253
253
}
254
254
255
- func BenchmarkSplittingBasedOnItemCountManyLogs (b * testing.B ) {
256
- cfg := exporterbatcher.MaxSizeConfig {MaxSizeItems : 10 }
255
+ func BenchmarkSplittingBasedOnItemCountManySmallLogs (b * testing.B ) {
256
+ cfg := exporterbatcher.MaxSizeConfig {MaxSizeItems : 10000 }
257
257
for i := 0 ; i < b .N ; i ++ {
258
- lr1 := & logsRequest {ld : testdata .GenerateLogs (9 )}
258
+ lr1 := & logsRequest {ld : testdata .GenerateLogs (10 )}
259
259
for j := 0 ; j < 1000 ; j ++ {
260
- lr2 := & logsRequest {ld : testdata .GenerateLogs (9 )}
260
+ lr2 := & logsRequest {ld : testdata .GenerateLogs (10 )}
261
261
lr1 .MergeSplit (context .Background (), cfg , lr2 )
262
262
}
263
263
}
264
264
}
265
265
266
- func BenchmarkSplittingBasedOnByteSizeManyLogs (b * testing.B ) {
267
- cfg := exporterbatcher.MaxSizeConfig {MaxSizeBytes : 1010 }
266
+ func BenchmarkSplittingBasedOnByteSizeManySmallLogs (b * testing.B ) {
267
+ cfg := exporterbatcher.MaxSizeConfig {MaxSizeBytes : 1010000 }
268
268
for i := 0 ; i < b .N ; i ++ {
269
- lr1 := & logsRequest {ld : testdata .GenerateLogs (9 )}
269
+ lr1 := & logsRequest {ld : testdata .GenerateLogs (10 )}
270
270
for j := 0 ; j < 1000 ; j ++ {
271
- lr2 := & logsRequest {ld : testdata .GenerateLogs (9 )}
271
+ lr2 := & logsRequest {ld : testdata .GenerateLogs (10 )}
272
+ lr1 .MergeSplit (context .Background (), cfg , lr2 )
273
+ }
274
+ }
275
+ }
276
+
277
+ func BenchmarkSplittingBasedOnItemCountManyLogsSlightlyAboveLimit (b * testing.B ) {
278
+ cfg := exporterbatcher.MaxSizeConfig {MaxSizeItems : 10000 }
279
+ for i := 0 ; i < b .N ; i ++ {
280
+ lr1 := & logsRequest {ld : testdata .GenerateLogs (10001 )}
281
+ for j := 0 ; j < 10 ; j ++ {
282
+ lr2 := & logsRequest {ld : testdata .GenerateLogs (10001 )}
283
+ lr1 .MergeSplit (context .Background (), cfg , lr2 )
284
+ }
285
+ }
286
+ }
287
+
288
+ func BenchmarkSplittingBasedOnByteSizeManyLogsSlightlyAboveLimit (b * testing.B ) {
289
+ cfg := exporterbatcher.MaxSizeConfig {MaxSizeBytes : 960052 } // 960052 corresponds to 10000 generated logs
290
+ for i := 0 ; i < b .N ; i ++ {
291
+ lr1 := & logsRequest {ld : testdata .GenerateLogs (10001 )}
292
+ for j := 0 ; j < 10 ; j ++ {
293
+ lr2 := & logsRequest {ld : testdata .GenerateLogs (10001 )}
294
+ lr1 .MergeSplit (context .Background (), cfg , lr2 )
295
+ }
296
+ }
297
+ }
298
+
299
+ func BenchmarkSplittingBasedOnItemCountManyLogsSlightlyBelowLimit (b * testing.B ) {
300
+ cfg := exporterbatcher.MaxSizeConfig {MaxSizeItems : 10000 }
301
+ for i := 0 ; i < b .N ; i ++ {
302
+ lr1 := & logsRequest {ld : testdata .GenerateLogs (9999 )}
303
+ for j := 0 ; j < 10 ; j ++ {
304
+ lr2 := & logsRequest {ld : testdata .GenerateLogs (9999 )}
305
+ lr1 .MergeSplit (context .Background (), cfg , lr2 )
306
+ }
307
+ }
308
+ }
309
+
310
+ func BenchmarkSplittingBasedOnByteSizeManyLogsSlightlyBelowLimit (b * testing.B ) {
311
+ cfg := exporterbatcher.MaxSizeConfig {MaxSizeBytes : 960052 } // 960052 corresponds to 10000 generated logs
312
+ for i := 0 ; i < b .N ; i ++ {
313
+ lr1 := & logsRequest {ld : testdata .GenerateLogs (9999 )}
314
+ for j := 0 ; j < 10 ; j ++ {
315
+ lr2 := & logsRequest {ld : testdata .GenerateLogs (9999 )}
272
316
lr1 .MergeSplit (context .Background (), cfg , lr2 )
273
317
}
274
318
}
275
319
}
276
320
277
321
func BenchmarkSplittingBasedOnItemCountHugeLog (b * testing.B ) {
278
- cfg := exporterbatcher.MaxSizeConfig {MaxSizeItems : 10 }
322
+ cfg := exporterbatcher.MaxSizeConfig {MaxSizeItems : 10000 }
279
323
for i := 0 ; i < b .N ; i ++ {
280
324
lr1 := & logsRequest {ld : testdata .GenerateLogs (1 )}
281
- lr2 := & logsRequest {ld : testdata .GenerateLogs (1000 )}
325
+ lr2 := & logsRequest {ld : testdata .GenerateLogs (100000 )} // l2 is of size 9.600054 MB
282
326
lr1 .MergeSplit (context .Background (), cfg , lr2 )
283
327
}
284
328
}
285
329
286
330
func BenchmarkSplittingBasedOnByteSizeHugeLog (b * testing.B ) {
287
- cfg := exporterbatcher.MaxSizeConfig {MaxSizeBytes : 1010 }
331
+ cfg := exporterbatcher.MaxSizeConfig {MaxSizeBytes : 970000 }
288
332
for i := 0 ; i < b .N ; i ++ {
289
333
lr1 := & logsRequest {ld : testdata .GenerateLogs (1 )}
290
- lr2 := & logsRequest {ld : testdata .GenerateLogs (1000 )}
334
+ lr2 := & logsRequest {ld : testdata .GenerateLogs (100000 )}
291
335
lr1 .MergeSplit (context .Background (), cfg , lr2 )
292
336
}
293
337
}
0 commit comments