1
0
mirror of https://github.com/amir20/dozzle.git synced 2025-12-21 13:23:07 +01:00

go cleanup (#2313)

* chore: cleans waitgroups

* chore: adds benchmark
This commit is contained in:
Amir Raminfar
2023-07-18 10:58:59 -07:00
committed by GitHub
parent 93347a6888
commit 6b1b7099b1
2 changed files with 27 additions and 6 deletions

View File

@@ -42,12 +42,12 @@ func NewEventGenerator(reader io.Reader, tty bool) *EventGenerator {
tty: tty,
}
generator.wg.Add(2)
go generator.consumeReader(&generator.wg)
go generator.processBuffer(&generator.wg)
go generator.consumeReader()
go generator.processBuffer()
return generator
}
func (g *EventGenerator) processBuffer(wg *sync.WaitGroup) {
func (g *EventGenerator) processBuffer() {
var current, next *LogEvent
for {
@@ -70,10 +70,10 @@ func (g *EventGenerator) processBuffer(wg *sync.WaitGroup) {
g.Events <- current
}
wg.Done()
g.wg.Done()
}
func (g *EventGenerator) consumeReader(wg *sync.WaitGroup) {
func (g *EventGenerator) consumeReader() {
for {
message, streamType, readerError := readEvent(g.reader, g.tty)
if message != "" {
@@ -90,7 +90,7 @@ func (g *EventGenerator) consumeReader(wg *sync.WaitGroup) {
break
}
}
wg.Done()
g.wg.Done()
}
func (g *EventGenerator) peek() *LogEvent {

View File

@@ -126,3 +126,24 @@ func Test_createEvent(t *testing.T) {
})
}
}
type mockReadCloser struct {
bytes []byte
}
func (m mockReadCloser) Read(p []byte) (int, error) {
return copy(p, m.bytes), nil
}
func Benchmark_readEvent(b *testing.B) {
b.ReportAllocs()
data := makeMessage("2020-05-13T18:55:37.772853839Z {\"key\": \"value\"}\n", STDOUT)
reader := bufio.NewReader(mockReadCloser{bytes: data})
for i := 0; i < b.N; i++ {
readEvent(reader, true)
// println(message, stream)
}
}