summaryrefslogtreecommitdiff
path: root/internal/ior.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-08 20:16:56 +0200
committerPaul Buetow <paul@buetow.org>2026-03-08 20:16:56 +0200
commit83ff18252be5ad4d667084a3a6edbf7cd5271e6b (patch)
treee85454f7e8d4243de1d2eb1e75b20f499ec421e1 /internal/ior.go
parent4acb116d78588489e79b7e17a79d4609a32fbba7 (diff)
task 368: filter live pairs before TUI ingestion
Diffstat (limited to 'internal/ior.go')
-rw-r--r--internal/ior.go11
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