diff options
author | Rastislav Szabo <raszabo@cisco.com> | 2018-01-04 08:44:00 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@fd.io> | 2018-01-04 08:44:00 +0000 |
commit | 35fd2cc86d442dee6fa4c8adb46a6e4906a66ab3 (patch) | |
tree | cf5c057ee0aeb769c683368f1f391dacafd1d671 /vendor/github.com/sirupsen/logrus/logger_bench_test.go | |
parent | 8b44355205182f6042b0691fa31fb8aafcefb42d (diff) | |
parent | ac6019137d5b10d02c7acac4f63fa22091b9933d (diff) |
Merge "Fix imports for github.com/sirupsen/logrus"
Diffstat (limited to 'vendor/github.com/sirupsen/logrus/logger_bench_test.go')
-rw-r--r-- | vendor/github.com/sirupsen/logrus/logger_bench_test.go | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/vendor/github.com/sirupsen/logrus/logger_bench_test.go b/vendor/github.com/sirupsen/logrus/logger_bench_test.go new file mode 100644 index 0000000..dd23a35 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/logger_bench_test.go @@ -0,0 +1,61 @@ +package logrus + +import ( + "os" + "testing" +) + +// smallFields is a small size data set for benchmarking +var loggerFields = Fields{ + "foo": "bar", + "baz": "qux", + "one": "two", + "three": "four", +} + +func BenchmarkDummyLogger(b *testing.B) { + nullf, err := os.OpenFile("/dev/null", os.O_WRONLY, 0666) + if err != nil { + b.Fatalf("%v", err) + } + defer nullf.Close() + doLoggerBenchmark(b, nullf, &TextFormatter{DisableColors: true}, smallFields) +} + +func BenchmarkDummyLoggerNoLock(b *testing.B) { + nullf, err := os.OpenFile("/dev/null", os.O_WRONLY|os.O_APPEND, 0666) + if err != nil { + b.Fatalf("%v", err) + } + defer nullf.Close() + doLoggerBenchmarkNoLock(b, nullf, &TextFormatter{DisableColors: true}, smallFields) +} + +func doLoggerBenchmark(b *testing.B, out *os.File, formatter Formatter, fields Fields) { + logger := Logger{ + Out: out, + Level: InfoLevel, + Formatter: formatter, + } + entry := logger.WithFields(fields) + b.RunParallel(func(pb *testing.PB) { + for pb.Next() { + entry.Info("aaa") + } + }) +} + +func doLoggerBenchmarkNoLock(b *testing.B, out *os.File, formatter Formatter, fields Fields) { + logger := Logger{ + Out: out, + Level: InfoLevel, + Formatter: formatter, + } + logger.SetNoLock() + entry := logger.WithFields(fields) + b.RunParallel(func(pb *testing.PB) { + for pb.Next() { + entry.Info("aaa") + } + }) +} |