diff options
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 |
