Add logger benchmark

This commit is contained in:
David Bariod 2018-07-28 17:21:06 +02:00
parent c108f5553c
commit d3162770a8
1 changed files with 24 additions and 0 deletions

View File

@ -1,6 +1,7 @@
package logrus package logrus
import ( import (
"io/ioutil"
"os" "os"
"testing" "testing"
) )
@ -59,3 +60,26 @@ func doLoggerBenchmarkNoLock(b *testing.B, out *os.File, formatter Formatter, fi
} }
}) })
} }
func BenchmarkLoggerJSONFormatter(b *testing.B) {
doLoggerBenchmarkWithFormatter(b, &JSONFormatter{})
}
func BenchmarkLoggerTextFormatter(b *testing.B) {
doLoggerBenchmarkWithFormatter(b, &TextFormatter{})
}
func doLoggerBenchmarkWithFormatter(b *testing.B, f Formatter) {
b.SetParallelism(100)
log := New()
log.Formatter = f
log.Out = ioutil.Discard
b.RunParallel(func(pb *testing.PB) {
for pb.Next() {
log.
WithField("foo1", "bar1").
WithField("foo2", "bar2").
Info("this is a dummy log")
}
})
}