summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
Diffstat (limited to 'internal')
-rw-r--r--internal/ior.go13
1 files changed, 11 insertions, 2 deletions
diff --git a/internal/ior.go b/internal/ior.go
index da5d6db..7a1b378 100644
--- a/internal/ior.go
+++ b/internal/ior.go
@@ -146,18 +146,27 @@ func tuiTraceStarterFromRunTrace(
streamBuf := eventstream.NewRingBuffer()
tui.SetDashboardSnapshotSource(engine)
tui.SetEventStreamSource(streamBuf)
+ streamEvents := make(chan eventstream.StreamEvent, 4096)
+
+ go func() {
+ for ev := range streamEvents {
+ streamBuf.Push(ev)
+ }
+ }()
startedCh := make(chan struct{})
errCh := make(chan error, 1)
go func() {
- errCh <- startTrace(ctx, startedCh, func(el *eventLoop) {
+ err := startTrace(ctx, startedCh, func(el *eventLoop) {
el.printCb = func(ep *event.Pair) {
engine.Ingest(ep)
- streamBuf.Push(eventstream.NewStreamEvent(ep.EnterEv.GetTime(), ep))
+ streamEvents <- eventstream.NewStreamEvent(ep.EnterEv.GetTime(), ep)
ep.Recycle()
}
})
+ close(streamEvents)
+ errCh <- err
close(errCh)
}()