From e1ae1c6c38dc42afcb95a0e20f1aeafa7a3f6bef Mon Sep 17 00:00:00 2001 From: lym953 <10097700+lym953@users.noreply.github.com> Date: Thu, 13 Aug 2026 15:29:19 -0400 Subject: [PATCH 1/2] feat(logs): default DD_LAMBDA_DURABLE_FUNCTION_LOG_BUFFER_SIZE to 5 Durable functions no longer need this env var set to get logs enriched with durable execution context. Non-durable functions are unaffected once the extension learns the function is not durable. Co-Authored-By: Claude Opus 5 (1M context) --- bottlecap/src/config/mod.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bottlecap/src/config/mod.rs b/bottlecap/src/config/mod.rs index 0035a071c..2bf6bb28e 100644 --- a/bottlecap/src/config/mod.rs +++ b/bottlecap/src/config/mod.rs @@ -77,8 +77,8 @@ pub struct LambdaConfig { /// Maximum number of request IDs whose logs are held in `held_logs` waiting for durable /// execution context. Set to 0 to disable log holding; logs will be flushed immediately - /// without durable execution context enrichment. Defaults to 0 until the tracer-side - /// durable execution support is released; set to 50 to re-enable enrichment. + /// without durable execution context enrichment. Only affects durable functions: once the + /// extension learns the function is not durable, logs bypass holding regardless of this value. pub lambda_durable_function_log_buffer_size: usize, // Data Streams Monitoring @@ -120,7 +120,7 @@ impl Default for LambdaConfig { api_security_enabled: true, api_security_sample_delay: Duration::from_secs(30), custom_metrics_exclude_tags: Vec::new(), - lambda_durable_function_log_buffer_size: 0, + lambda_durable_function_log_buffer_size: 5, dsm_consume_enabled: false, dsm_exchange_name: None, dsm_kafka_group: None, @@ -197,7 +197,7 @@ pub struct LambdaConfigSource { /// `DD_LAMBDA_DURABLE_FUNCTION_LOG_BUFFER_SIZE` — max number of request IDs /// whose logs are held waiting for durable execution context. Defaults to - /// 0 (hold mechanism disabled). + /// 5; set to 0 to disable the hold mechanism. #[serde(deserialize_with = "deser_opt_lossless")] pub lambda_durable_function_log_buffer_size: Option, From cec66bbd7372551ce40fc557420641b8566fb12b Mon Sep 17 00:00:00 2001 From: lym953 <10097700+lym953@users.noreply.github.com> Date: Tue, 25 Aug 2026 17:38:37 -0400 Subject: [PATCH 2/2] docs: clarify when the durable log buffer applies Holding starts before the extension knows whether the function is durable, so the setting is not exclusive to durable functions. Co-Authored-By: Claude Opus 5 (1M context) --- bottlecap/src/config/mod.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bottlecap/src/config/mod.rs b/bottlecap/src/config/mod.rs index 2bf6bb28e..f1922ff6d 100644 --- a/bottlecap/src/config/mod.rs +++ b/bottlecap/src/config/mod.rs @@ -77,8 +77,9 @@ pub struct LambdaConfig { /// Maximum number of request IDs whose logs are held in `held_logs` waiting for durable /// execution context. Set to 0 to disable log holding; logs will be flushed immediately - /// without durable execution context enrichment. Only affects durable functions: once the - /// extension learns the function is not durable, logs bypass holding regardless of this value. + /// without durable execution context enrichment. Holding begins at cold start, before the + /// extension knows whether the function is durable, and stops for non-durable functions + /// once `PlatformInitStart` resolves that. pub lambda_durable_function_log_buffer_size: usize, // Data Streams Monitoring