github.com/castai/kvisor@v1.7.1-0.20240516114728-b3572a2607b5/pkg/ebpftracer/tracer_decode_benchmark_test.go (about) 1 package ebpftracer 2 3 import ( 4 "context" 5 "os" 6 "testing" 7 ) 8 9 func BenchmarkFilterDecodeAndExportEvent(b *testing.B) { 10 files, err := os.ReadDir("./sample_events") 11 if err != nil { 12 b.Fatal(err) 13 } 14 15 for _, f := range files { 16 b.Run(f.Name(), func(b *testing.B) { 17 data, err := os.ReadFile("./sample_events/" + f.Name()) 18 if err != nil { 19 b.Fatal(err) 20 } 21 22 tracer := buildTestTracer() 23 24 b.ReportAllocs() 25 b.ResetTimer() 26 27 for i := 0; i < b.N; i++ { 28 err := tracer.decodeAndExportEvent(context.TODO(), data) 29 if err != nil { 30 b.Fatal(err) 31 } 32 33 select { 34 case <-tracer.eventsChan: 35 default: 36 b.Fatal() 37 } 38 } 39 }) 40 } 41 }