1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
package logformat
import (
"testing"
"github.com/mimecast/dtail/internal/mapr"
)
func BenchmarkDefaultParserMakeFields(b *testing.B) {
input := "INFO|20211002-072342|1|default_benchmark_test.go:0|8|14|7|0.21|471h0m21s|" +
"MAPREDUCE:STATS|foo=bar|bar=baz|qux=quux|alpha=beta|gamma=delta"
b.Run("all_fields", func(b *testing.B) {
parser, err := NewParser("default", nil)
if err != nil {
b.Fatalf("Unable to create parser: %s", err.Error())
}
b.ReportAllocs()
for i := 0; i < b.N; i++ {
if _, err := parser.MakeFields(input); err != nil {
b.Fatalf("Unable to parse input: %s", err.Error())
}
}
})
b.Run("query_specific", func(b *testing.B) {
q, err := mapr.NewQuery(`select count(foo) from STATS where bar eq "baz"`)
if err != nil {
b.Fatalf("Unable to create query: %s", err.Error())
}
parser, err := NewParser("default", q)
if err != nil {
b.Fatalf("Unable to create parser: %s", err.Error())
}
b.ReportAllocs()
for i := 0; i < b.N; i++ {
if _, err := parser.MakeFields(input); err != nil {
b.Fatalf("Unable to parse input: %s", err.Error())
}
}
})
}
|