|
@@ -142,3 +142,33 @@ func BenchmarkBroadcastWriter(b *testing.B) {
|
|
|
b.StartTimer()
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+func BenchmarkBroadcastWriterWithoutStdoutStderr(b *testing.B) {
|
|
|
+ writer := New()
|
|
|
+ setUpWriter := func() {
|
|
|
+ for i := 0; i < 100; i++ {
|
|
|
+ writer.AddWriter(devNullCloser(0), "")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ testLine := "Line that thinks that it is log line from docker"
|
|
|
+ var buf bytes.Buffer
|
|
|
+ for i := 0; i < 100; i++ {
|
|
|
+ buf.Write([]byte(testLine + "\n"))
|
|
|
+ }
|
|
|
+ // line without eol
|
|
|
+ buf.Write([]byte(testLine))
|
|
|
+ testText := buf.Bytes()
|
|
|
+ b.SetBytes(int64(5 * len(testText)))
|
|
|
+ b.ResetTimer()
|
|
|
+ for i := 0; i < b.N; i++ {
|
|
|
+ setUpWriter()
|
|
|
+
|
|
|
+ for j := 0; j < 5; j++ {
|
|
|
+ if _, err := writer.Write(testText); err != nil {
|
|
|
+ b.Fatal(err)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ writer.Clean()
|
|
|
+ }
|
|
|
+}
|