From 73652016579518ddc3524d42b345e7c566a7f5fc Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Mon, 2 Mar 2026 07:39:13 +0200 Subject: Replace TUI service-locator globals with runtime bindings --- internal/ior.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'internal/ior.go') diff --git a/internal/ior.go b/internal/ior.go index c43ad45..39d09b5 100644 --- a/internal/ior.go +++ b/internal/ior.go @@ -170,8 +170,10 @@ func tuiTraceStarterFromRunTrace( engine := statsengine.NewEngine(64) streamBuf := eventstream.NewRingBuffer() - tui.SetDashboardSnapshotSource(engine) - tui.SetEventStreamSource(streamBuf) + if bindings, ok := tui.RuntimeBindingsFromContext(ctx); ok { + bindings.SetDashboardSnapshotSource(engine) + bindings.SetEventStreamSource(streamBuf) + } streamEvents := make(chan eventstream.StreamEvent, 4096) go func() { @@ -271,8 +273,10 @@ func runTraceWithContext(parentCtx context.Context, started chan<- struct{}, con if err := mgr.AttachAll(cfg.ShouldIAttachTracepoint, tracepoints.List); err != nil { return err } - tui.SetProbeManager(mgr) - defer tui.SetProbeManager(nil) + if bindings, ok := tui.RuntimeBindingsFromContext(parentCtx); ok { + bindings.SetProbeManager(mgr) + defer bindings.SetProbeManager(nil) + } // 4096 channel size, minimises event drops ch := make(chan []byte, 4096) -- cgit v1.2.3