summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-05 22:23:24 +0200
committerPaul Buetow <paul@buetow.org>2026-03-05 22:23:24 +0200
commit6f678299369d46b40aa412c7340eca9b18fc4dd1 (patch)
treedacecc6c131030dafbcadc98187e1276c726f104
parentb92fd0618d81b7a7cc53059e601b86a76d7ed2a2 (diff)
task 353: wire LiveTrie into TUI trace startup
-rw-r--r--internal/ior.go5
1 files changed, 4 insertions, 1 deletions
diff --git a/internal/ior.go b/internal/ior.go
index a6fdbc4..f52c584 100644
--- a/internal/ior.go
+++ b/internal/ior.go
@@ -233,11 +233,14 @@ func tuiTraceStarterFromRunTrace(
Log: func(int, string) {},
})
+ cfg := flags.Get()
engine := statsengine.NewEngine(64)
streamBuf := eventstream.NewRingBuffer()
+ liveTrie := flamegraph.NewLiveTrie(cfg.CollapsedFields, cfg.CountField)
if bindings, ok := tui.RuntimeBindingsFromContext(ctx); ok {
bindings.SetDashboardSnapshotSource(engine)
bindings.SetEventStreamSource(streamBuf)
+ bindings.SetLiveTrie(liveTrie)
}
streamEvents := make(chan eventstream.StreamEvent, 4096)
@@ -255,7 +258,7 @@ func tuiTraceStarterFromRunTrace(
el.printCb = func(ep *event.Pair) {
engine.Ingest(ep)
streamEvents <- eventstream.NewStreamEvent(ep.EnterEv.GetTime(), ep)
- ep.Recycle()
+ liveTrie.Ingest(ep)
}
el.warningCb = func(message string) {
// Drop warning notifications if the stream channel is saturated.