From f5fa209bb02ceed255fc8caff8f5ee3f3b7640f4 Mon Sep 17 00:00:00 2001 From: jif Date: Tue, 6 Oct 2026 10:27:27 +0000 Subject: [PATCH] Measure total Guardian approval decision duration (#51330) ## What changed Add `codex.guardian.decision.duration_ms` around the complete approval decision operation, including fast decisions, preparation, and cancellation alongside model review time. GitOrigin-RevId: e5a8d5a3b9a0ff81e1b866be87b8f3a439ae6a1d --- codex-rs/ext/guardian-reviewer/src/routing.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/codex-rs/ext/guardian-reviewer/src/routing.rs b/codex-rs/ext/guardian-reviewer/src/routing.rs index e12a6ecefb..aed5e95409 100644 --- a/codex-rs/ext/guardian-reviewer/src/routing.rs +++ b/codex-rs/ext/guardian-reviewer/src/routing.rs @@ -66,6 +66,11 @@ impl ReviewRequest<'_, H> { mut self, registry: &ExtensionRegistry, ) -> Option { + // Include fast decisions, preparation and cancellation, not just model review time. + let _decision_timer = self + .telemetry + .start_timer("codex.guardian.decision.duration_ms", &[]) + .ok(); let runtime = self.thread_store.get::(); let _task = runtime.as_ref().map(|runtime| runtime.tasks.token()); if runtime