From 63f8f547c0b95800f3c61ee172a2a833b75faf3f Mon Sep 17 00:00:00 2001 From: jif Date: Tue, 23 Jun 2026 11:18:25 +0100 Subject: [PATCH] Stop persisting bridged log events (#29599) ## Why The 0.142.0 persistent-log filter disables target=log, but bridged log records are filtered using their original dependency target before tracing-log emits them as target=log. This allowed high-volume dependency TRACE events to keep reaching SQLite. This is a follow-up to #28224. ## What changed - Reject bridged target=log events inside the SQLite sink before formatting or queueing them. --- codex-rs/state/src/log_db.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/codex-rs/state/src/log_db.rs b/codex-rs/state/src/log_db.rs index 55de2a307..2cf0f5d9a 100644 --- a/codex-rs/state/src/log_db.rs +++ b/codex-rs/state/src/log_db.rs @@ -199,6 +199,13 @@ where fn on_event(&self, event: &Event<'_>, ctx: tracing_subscriber::layer::Context<'_, S>) { let metadata = event.metadata(); + // `tracing-log` checks filters with the original log target before + // dispatching an event whose tracing target is `log`, so the outer + // target filter cannot reliably reject these bridged events. + if metadata.target() == "log" { + return; + } + // The SDK emits DEBUG timer meta-events every second per process; these // were over 30% of retained logs in measured high-fanout Codex environments. if metadata.target() == "opentelemetry_sdk"