diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-08 20:16:56 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-08 20:16:56 +0200 |
| commit | 83ff18252be5ad4d667084a3a6edbf7cd5271e6b (patch) | |
| tree | e85454f7e8d4243de1d2eb1e75b20f499ec421e1 /internal/ior.go | |
| parent | 4acb116d78588489e79b7e17a79d4609a32fbba7 (diff) | |
task 368: filter live pairs before TUI ingestion
Diffstat (limited to 'internal/ior.go')
| -rw-r--r-- | internal/ior.go | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/internal/ior.go b/internal/ior.go index ea06baa..d113fff 100644 --- a/internal/ior.go +++ b/internal/ior.go @@ -201,6 +201,10 @@ func tuiTraceStarterFromRunTrace( go func() { err := startTrace(ctx, cfg, startedCh, func(el *eventLoop) { el.printCb = func(ep *event.Pair) { + if !shouldIngestTracePair(cfg.GlobalFilter, ep) { + ep.Recycle() + return + } engine.Ingest(ep) streamEvents <- eventstream.NewStreamEvent(ep.EnterEv.GetTime(), ep) liveTrie.Ingest(ep) @@ -230,6 +234,13 @@ func tuiTraceStarterFromRunTrace( } } +func shouldIngestTracePair(filter globalfilter.Filter, pair *event.Pair) bool { + if !filter.IsActive() { + return true + } + return globalfilter.MatchPair(filter, pair) +} + func applyTraceFilterConfig(cfg *flags.Config, filter globalfilter.Filter) { if cfg == nil { return |
