From 8ef1c39d079596435c72046fd78bb7bf036fce3f Mon Sep 17 00:00:00 2001 From: Aaron Hill Date: Fri, 30 Jan 2026 13:45:16 -0500 Subject: [PATCH 1/2] Add 'cached' field to durable.task.step span --- src/context.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/context.rs b/src/context.rs index 09bf129..d201867 100644 --- a/src/context.rs +++ b/src/context.rs @@ -162,7 +162,7 @@ where tracing::instrument( name = "durable.task.step", skip(self, f, params), - fields(task_id = %self.task_id, step_name = %base_name) + fields(task_id = %self.task_id, step_name = %base_name, cached) ) )] pub async fn step( @@ -180,10 +180,14 @@ where validate_user_name(base_name)?; let checkpoint_name = self.get_checkpoint_name(base_name, ¶ms)?; + let span = tracing::Span::current(); + // Return cached value if step was already completed if let Some(cached) = self.checkpoint_cache.get(&checkpoint_name) { + span.record("cached", true); return Ok(serde_json::from_value(cached.clone())?); } + span.record("cached", false); // Execute the step let result = From f39a22679a41ef45fb09d7300ec9462683c659b2 Mon Sep 17 00:00:00 2001 From: Aaron Hill Date: Fri, 30 Jan 2026 14:24:21 -0500 Subject: [PATCH 2/2] Add feature gating --- src/context.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/context.rs b/src/context.rs index d201867..effb3e5 100644 --- a/src/context.rs +++ b/src/context.rs @@ -180,13 +180,16 @@ where validate_user_name(base_name)?; let checkpoint_name = self.get_checkpoint_name(base_name, ¶ms)?; + #[cfg(feature = "telemetry")] let span = tracing::Span::current(); // Return cached value if step was already completed if let Some(cached) = self.checkpoint_cache.get(&checkpoint_name) { + #[cfg(feature = "telemetry")] span.record("cached", true); return Ok(serde_json::from_value(cached.clone())?); } + #[cfg(feature = "telemetry")] span.record("cached", false); // Execute the step