From e51baff253d0ec96a8654d6d1371301ed7683de0 Mon Sep 17 00:00:00 2001 From: Duncan Harvey Date: Fri, 6 Feb 2026 11:12:17 -0500 Subject: [PATCH 1/5] update libdatadog references and temporarily disable trace retrys --- Cargo.lock | 52 ++++++++++++++----- crates/datadog-serverless-compat/Cargo.toml | 2 +- crates/datadog-trace-agent/Cargo.toml | 10 ++-- .../datadog-trace-agent/src/trace_flusher.rs | 4 +- 4 files changed, 46 insertions(+), 22 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 73f82fc8..e34b2123 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -396,7 +396,7 @@ version = "0.1.0" source = "git+https://github.com/DataDog/saluki/?rev=f863626dbfe3c59bb390985fa6530b0621c2a0a2#f863626dbfe3c59bb390985fa6530b0621c2a0a2" dependencies = [ "bytes", - "prost", + "prost 0.13.5", "prost-types", "protobuf", "protobuf-codegen", @@ -1217,8 +1217,8 @@ checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" [[package]] name = "libdd-common" -version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog?rev=660c550b6311a209d9cf7de762e54b6b7109bcdb#660c550b6311a209d9cf7de762e54b6b7109bcdb" +version = "1.1.0" +source = "git+https://github.com/DataDog/libdatadog?rev=6b4140068d0dbbb4ae541e4149cc4c89138c38c0#6b4140068d0dbbb4ae541e4149cc4c89138c38c0" dependencies = [ "anyhow", "cc", @@ -1251,7 +1251,7 @@ dependencies = [ [[package]] name = "libdd-tinybytes" version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog?rev=660c550b6311a209d9cf7de762e54b6b7109bcdb#660c550b6311a209d9cf7de762e54b6b7109bcdb" +source = "git+https://github.com/DataDog/libdatadog?rev=6b4140068d0dbbb4ae541e4149cc4c89138c38c0#6b4140068d0dbbb4ae541e4149cc4c89138c38c0" dependencies = [ "serde", ] @@ -1259,7 +1259,7 @@ dependencies = [ [[package]] name = "libdd-trace-normalization" version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog?rev=660c550b6311a209d9cf7de762e54b6b7109bcdb#660c550b6311a209d9cf7de762e54b6b7109bcdb" +source = "git+https://github.com/DataDog/libdatadog?rev=6b4140068d0dbbb4ae541e4149cc4c89138c38c0#6b4140068d0dbbb4ae541e4149cc4c89138c38c0" dependencies = [ "anyhow", "libdd-trace-protobuf", @@ -1268,7 +1268,7 @@ dependencies = [ [[package]] name = "libdd-trace-obfuscation" version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog?rev=660c550b6311a209d9cf7de762e54b6b7109bcdb#660c550b6311a209d9cf7de762e54b6b7109bcdb" +source = "git+https://github.com/DataDog/libdatadog?rev=6b4140068d0dbbb4ae541e4149cc4c89138c38c0#6b4140068d0dbbb4ae541e4149cc4c89138c38c0" dependencies = [ "anyhow", "libdd-common", @@ -1285,9 +1285,9 @@ dependencies = [ [[package]] name = "libdd-trace-protobuf" version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog?rev=660c550b6311a209d9cf7de762e54b6b7109bcdb#660c550b6311a209d9cf7de762e54b6b7109bcdb" +source = "git+https://github.com/DataDog/libdatadog?rev=6b4140068d0dbbb4ae541e4149cc4c89138c38c0#6b4140068d0dbbb4ae541e4149cc4c89138c38c0" dependencies = [ - "prost", + "prost 0.14.3", "serde", "serde_bytes", ] @@ -1295,7 +1295,7 @@ dependencies = [ [[package]] name = "libdd-trace-utils" version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog?rev=660c550b6311a209d9cf7de762e54b6b7109bcdb#660c550b6311a209d9cf7de762e54b6b7109bcdb" +source = "git+https://github.com/DataDog/libdatadog?rev=6b4140068d0dbbb4ae541e4149cc4c89138c38c0#6b4140068d0dbbb4ae541e4149cc4c89138c38c0" dependencies = [ "anyhow", "bytes", @@ -1303,6 +1303,7 @@ dependencies = [ "cargo_metadata", "flate2", "futures", + "http", "http-body-util", "httpmock", "hyper", @@ -1311,7 +1312,7 @@ dependencies = [ "libdd-tinybytes", "libdd-trace-normalization", "libdd-trace-protobuf", - "prost", + "prost 0.14.3", "rand 0.8.5", "rmp", "rmp-serde", @@ -1691,7 +1692,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" dependencies = [ "bytes", - "prost-derive", + "prost-derive 0.13.5", +] + +[[package]] +name = "prost" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ea70524a2f82d518bce41317d0fae74151505651af45faf1ffbd6fd33f0568" +dependencies = [ + "bytes", + "prost-derive 0.14.3", ] [[package]] @@ -1707,7 +1718,7 @@ dependencies = [ "once_cell", "petgraph", "prettyplease", - "prost", + "prost 0.13.5", "prost-types", "regex", "syn 2.0.114", @@ -1727,13 +1738,26 @@ dependencies = [ "syn 2.0.114", ] +[[package]] +name = "prost-derive" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" +dependencies = [ + "anyhow", + "itertools 0.13.0", + "proc-macro2", + "quote", + "syn 2.0.114", +] + [[package]] name = "prost-types" version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16" dependencies = [ - "prost", + "prost 0.13.5", ] [[package]] @@ -2619,7 +2643,7 @@ dependencies = [ "http-body-util", "percent-encoding", "pin-project", - "prost", + "prost 0.13.5", "tokio-stream", "tower-layer", "tower-service", diff --git a/crates/datadog-serverless-compat/Cargo.toml b/crates/datadog-serverless-compat/Cargo.toml index 4483d949..43c552f9 100644 --- a/crates/datadog-serverless-compat/Cargo.toml +++ b/crates/datadog-serverless-compat/Cargo.toml @@ -7,7 +7,7 @@ description = "Binary to run trace-agent and dogstatsd servers in Serverless env [dependencies] datadog-trace-agent = { path = "../datadog-trace-agent" } -libdd-trace-utils = { git = "https://github.com/DataDog/libdatadog", rev = "660c550b6311a209d9cf7de762e54b6b7109bcdb" } +libdd-trace-utils = { git = "https://github.com/DataDog/libdatadog", rev = "6b4140068d0dbbb4ae541e4149cc4c89138c38c0" } dogstatsd = { path = "../dogstatsd", default-features = true } tokio = { version = "1", features = ["macros", "rt-multi-thread"] } tokio-util = { version = "0.7", default-features = false } diff --git a/crates/datadog-trace-agent/Cargo.toml b/crates/datadog-trace-agent/Cargo.toml index 8a4c871a..37fdf2d8 100644 --- a/crates/datadog-trace-agent/Cargo.toml +++ b/crates/datadog-trace-agent/Cargo.toml @@ -20,12 +20,12 @@ async-trait = "0.1.64" tracing = { version = "0.1", default-features = false } serde = { version = "1.0.145", features = ["derive"] } serde_json = "1.0" -libdd-common = { git = "https://github.com/DataDog/libdatadog", rev = "660c550b6311a209d9cf7de762e54b6b7109bcdb" } -libdd-trace-protobuf = { git = "https://github.com/DataDog/libdatadog", rev = "660c550b6311a209d9cf7de762e54b6b7109bcdb" } -libdd-trace-utils = { git = "https://github.com/DataDog/libdatadog", rev = "660c550b6311a209d9cf7de762e54b6b7109bcdb", features = [ +libdd-common = { git = "https://github.com/DataDog/libdatadog", rev = "6b4140068d0dbbb4ae541e4149cc4c89138c38c0" } +libdd-trace-protobuf = { git = "https://github.com/DataDog/libdatadog", rev = "6b4140068d0dbbb4ae541e4149cc4c89138c38c0" } +libdd-trace-utils = { git = "https://github.com/DataDog/libdatadog", rev = "6b4140068d0dbbb4ae541e4149cc4c89138c38c0", features = [ "mini_agent", ] } -libdd-trace-obfuscation = { git = "https://github.com/DataDog/libdatadog", rev = "660c550b6311a209d9cf7de762e54b6b7109bcdb" } +libdd-trace-obfuscation = { git = "https://github.com/DataDog/libdatadog", rev = "6b4140068d0dbbb4ae541e4149cc4c89138c38c0" } datadog-fips = { path = "../datadog-fips" } reqwest = { version = "0.12.23", features = ["json", "http2"], default-features = false } bytes = "1.10.1" @@ -35,6 +35,6 @@ rmp-serde = "1.1.1" serial_test = "2.0.0" duplicate = "0.4.1" tempfile = "3.3.0" -libdd-trace-utils = { git = "https://github.com/DataDog/libdatadog", rev = "660c550b6311a209d9cf7de762e54b6b7109bcdb", features = [ +libdd-trace-utils = { git = "https://github.com/DataDog/libdatadog", rev = "6b4140068d0dbbb4ae541e4149cc4c89138c38c0", features = [ "test-utils", ] } diff --git a/crates/datadog-trace-agent/src/trace_flusher.rs b/crates/datadog-trace-agent/src/trace_flusher.rs index 29810eba..428bd96a 100644 --- a/crates/datadog-trace-agent/src/trace_flusher.rs +++ b/crates/datadog-trace-agent/src/trace_flusher.rs @@ -102,7 +102,7 @@ impl TraceFlusher for ServerlessTraceFlusher { debug!("Flushing {} traces", traces.len()); // Since we return the original traces on error, we need to clone them before coalescing - let traces_clone = traces.clone(); + // let traces_clone = traces.clone(); let http_client = match ServerlessTraceFlusher::get_http_client(self.config.proxy_url.as_ref()) { @@ -119,7 +119,7 @@ impl TraceFlusher for ServerlessTraceFlusher { Err(e) => { error!("Error sending trace: {e:?}"); // Return the original traces for retry - return Some(traces_clone); + return None; } } } From 410d835704aab1fdb58be06613af716f8405cbc9 Mon Sep 17 00:00:00 2001 From: Duncan Harvey Date: Fri, 6 Feb 2026 14:23:02 -0500 Subject: [PATCH 2/5] remove retry logic --- .../datadog-trace-agent/src/trace_flusher.rs | 54 +++++-------------- 1 file changed, 12 insertions(+), 42 deletions(-) diff --git a/crates/datadog-trace-agent/src/trace_flusher.rs b/crates/datadog-trace-agent/src/trace_flusher.rs index 428bd96a..03b78224 100644 --- a/crates/datadog-trace-agent/src/trace_flusher.rs +++ b/crates/datadog-trace-agent/src/trace_flusher.rs @@ -22,13 +22,9 @@ pub trait TraceFlusher { /// implementing flushing logic that calls flush_traces. async fn start_trace_flusher(&self, mut rx: Receiver); /// Given a `Vec`, a tracer payload, send it to the Datadog intake endpoint. - /// Returns the traces back if there was an error sending them. - async fn send(&self, traces: Vec) -> Option>; - + async fn send(&self, traces: Vec); /// Flushes traces by getting every available batch on the aggregator. - /// If `failed_traces` is provided, it will attempt to send those instead of fetching new traces. - /// Returns any traces that failed to send and should be retried. - async fn flush(&self, failed_traces: Option>) -> Option>; + async fn flush(&self); } #[derive(Clone)] @@ -58,72 +54,46 @@ impl TraceFlusher for ServerlessTraceFlusher { self.config.trace_flush_interval_secs, )) .await; - self.flush(None).await; + self.flush().await; } } - async fn flush(&self, failed_traces: Option>) -> Option> { - let mut failed_batch: Option> = None; - - if let Some(traces) = failed_traces { - // If we have traces from a previous failed attempt, try to send those first - if !traces.is_empty() { - debug!("Retrying to send {} previously failed traces", traces.len()); - let retry_result = self.send(traces).await; - if retry_result.is_some() { - // Still failed, return to retry later - return retry_result; - } - } - } - - // Process new traces from the aggregator + async fn flush(&self) { + // Process traces from the aggregator let mut guard = self.aggregator.lock().await; let mut traces = guard.get_batch(); while !traces.is_empty() { - if let Some(failed) = self.send(traces).await { - // Keep track of the failed batch - failed_batch = Some(failed); - // Stop processing more batches if we have a failure - break; - } - + self.send(traces).await; traces = guard.get_batch(); } - - failed_batch } - async fn send(&self, traces: Vec) -> Option> { + async fn send(&self, traces: Vec) { if traces.is_empty() { - return None; + return; } debug!("Flushing {} traces", traces.len()); - // Since we return the original traces on error, we need to clone them before coalescing - // let traces_clone = traces.clone(); - let http_client = match ServerlessTraceFlusher::get_http_client(self.config.proxy_url.as_ref()) { Ok(client) => client, Err(e) => { error!("Failed to create HTTP client: {e:?}"); - return None; + return; } }; + // Retries are handled internally by SendData::send() for coalesced_traces in trace_utils::coalesce_send_data(traces) { - match coalesced_traces.send(&http_client).await.last_result { + let result = coalesced_traces.send(&http_client).await; + match result.last_result { Ok(_) => debug!("Successfully flushed traces"), Err(e) => { error!("Error sending trace: {e:?}"); - // Return the original traces for retry - return None; } } } - None } } From b0b469e8d381e5fffba4ad12d6d48a985cc1b045 Mon Sep 17 00:00:00 2001 From: Duncan Harvey Date: Fri, 6 Feb 2026 14:34:08 -0500 Subject: [PATCH 3/5] fix unit tests --- crates/datadog-trace-agent/src/aggregator.rs | 70 ++++++------------- .../datadog-trace-agent/tests/common/mocks.rs | 8 +-- 2 files changed, 24 insertions(+), 54 deletions(-) diff --git a/crates/datadog-trace-agent/src/aggregator.rs b/crates/datadog-trace-agent/src/aggregator.rs index de66a018..4f364243 100644 --- a/crates/datadog-trace-agent/src/aggregator.rs +++ b/crates/datadog-trace-agent/src/aggregator.rs @@ -76,10 +76,8 @@ mod tests { use super::*; - #[test] - fn test_add() { - let mut aggregator = TraceAggregator::default(); - let tracer_header_tags = TracerHeaderTags { + fn create_test_send_data(size: usize) -> SendData { + let tracer_header_tags: TracerHeaderTags<'_> = TracerHeaderTags { lang: "lang", lang_version: "lang_version", lang_interpreter: "lang_interpreter", @@ -91,41 +89,31 @@ mod tests { dropped_p0_traces: 0, dropped_p0_spans: 0, }; - let payload = SendData::new( - 1, + SendData::new( + size, TracerPayloadCollection::V07(Vec::new()), tracer_header_tags, &Endpoint::from_slice("localhost"), - ); + ) + } - aggregator.add(payload.clone()); + #[test] + fn test_add() { + let mut aggregator = TraceAggregator::default(); + let payload = create_test_send_data(1); + + aggregator.add(payload); assert_eq!(aggregator.queue.len(), 1); - assert_eq!(aggregator.queue[0].is_empty(), payload.is_empty()); + assert_eq!(aggregator.queue[0].is_empty(), false); + assert_eq!(aggregator.queue[0].len(), 1); } #[test] fn test_get_batch() { let mut aggregator = TraceAggregator::default(); - let tracer_header_tags = TracerHeaderTags { - lang: "lang", - lang_version: "lang_version", - lang_interpreter: "lang_interpreter", - lang_vendor: "lang_vendor", - tracer_version: "tracer_version", - container_id: "container_id", - client_computed_top_level: true, - client_computed_stats: true, - dropped_p0_traces: 0, - dropped_p0_spans: 0, - }; - let payload = SendData::new( - 1, - TracerPayloadCollection::V07(Vec::new()), - tracer_header_tags, - &Endpoint::from_slice("localhost"), - ); + let payload = create_test_send_data(1); - aggregator.add(payload.clone()); + aggregator.add(payload); assert_eq!(aggregator.queue.len(), 1); let batch = aggregator.get_batch(); assert_eq!(batch.len(), 1); @@ -134,29 +122,11 @@ mod tests { #[test] fn test_get_batch_full_entries() { let mut aggregator = TraceAggregator::new(2); - let tracer_header_tags = TracerHeaderTags { - lang: "lang", - lang_version: "lang_version", - lang_interpreter: "lang_interpreter", - lang_vendor: "lang_vendor", - tracer_version: "tracer_version", - container_id: "container_id", - client_computed_top_level: true, - client_computed_stats: true, - dropped_p0_traces: 0, - dropped_p0_spans: 0, - }; - let payload = SendData::new( - 1, - TracerPayloadCollection::V07(Vec::new()), - tracer_header_tags, - &Endpoint::from_slice("localhost"), - ); - // Add 3 payloads - aggregator.add(payload.clone()); - aggregator.add(payload.clone()); - aggregator.add(payload.clone()); + // Add 3 payloads - create new instances since SendData doesn't implement Clone + aggregator.add(create_test_send_data(1)); + aggregator.add(create_test_send_data(1)); + aggregator.add(create_test_send_data(1)); // The batch should only contain the first 2 payloads let first_batch = aggregator.get_batch(); diff --git a/crates/datadog-trace-agent/tests/common/mocks.rs b/crates/datadog-trace-agent/tests/common/mocks.rs index 4e59e646..d57aa2a3 100644 --- a/crates/datadog-trace-agent/tests/common/mocks.rs +++ b/crates/datadog-trace-agent/tests/common/mocks.rs @@ -51,12 +51,12 @@ impl TraceFlusher for MockTraceFlusher { } } - async fn send(&self, _traces: Vec) -> Option> { - None + async fn send(&self, _traces: Vec) { + // Do nothing - we're not testing the flusher } - async fn flush(&self, _failed_traces: Option>) -> Option> { - None + async fn flush(&self) { + // Do nothing - we're not testing the flusher } } From 620d8d48deef0d364f83ed00f3bbdd745e182ce9 Mon Sep 17 00:00:00 2001 From: Duncan Harvey Date: Fri, 6 Feb 2026 14:38:23 -0500 Subject: [PATCH 4/5] update libdatadog reference --- Cargo.lock | 12 ++++++------ crates/datadog-serverless-compat/Cargo.toml | 2 +- crates/datadog-trace-agent/Cargo.toml | 10 +++++----- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e34b2123..1fee6e1b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1218,7 +1218,7 @@ checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" [[package]] name = "libdd-common" version = "1.1.0" -source = "git+https://github.com/DataDog/libdatadog?rev=6b4140068d0dbbb4ae541e4149cc4c89138c38c0#6b4140068d0dbbb4ae541e4149cc4c89138c38c0" +source = "git+https://github.com/DataDog/libdatadog?rev=f97c41f055a441cc80033f53edfbc942694f5515#f97c41f055a441cc80033f53edfbc942694f5515" dependencies = [ "anyhow", "cc", @@ -1251,7 +1251,7 @@ dependencies = [ [[package]] name = "libdd-tinybytes" version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog?rev=6b4140068d0dbbb4ae541e4149cc4c89138c38c0#6b4140068d0dbbb4ae541e4149cc4c89138c38c0" +source = "git+https://github.com/DataDog/libdatadog?rev=f97c41f055a441cc80033f53edfbc942694f5515#f97c41f055a441cc80033f53edfbc942694f5515" dependencies = [ "serde", ] @@ -1259,7 +1259,7 @@ dependencies = [ [[package]] name = "libdd-trace-normalization" version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog?rev=6b4140068d0dbbb4ae541e4149cc4c89138c38c0#6b4140068d0dbbb4ae541e4149cc4c89138c38c0" +source = "git+https://github.com/DataDog/libdatadog?rev=f97c41f055a441cc80033f53edfbc942694f5515#f97c41f055a441cc80033f53edfbc942694f5515" dependencies = [ "anyhow", "libdd-trace-protobuf", @@ -1268,7 +1268,7 @@ dependencies = [ [[package]] name = "libdd-trace-obfuscation" version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog?rev=6b4140068d0dbbb4ae541e4149cc4c89138c38c0#6b4140068d0dbbb4ae541e4149cc4c89138c38c0" +source = "git+https://github.com/DataDog/libdatadog?rev=f97c41f055a441cc80033f53edfbc942694f5515#f97c41f055a441cc80033f53edfbc942694f5515" dependencies = [ "anyhow", "libdd-common", @@ -1285,7 +1285,7 @@ dependencies = [ [[package]] name = "libdd-trace-protobuf" version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog?rev=6b4140068d0dbbb4ae541e4149cc4c89138c38c0#6b4140068d0dbbb4ae541e4149cc4c89138c38c0" +source = "git+https://github.com/DataDog/libdatadog?rev=f97c41f055a441cc80033f53edfbc942694f5515#f97c41f055a441cc80033f53edfbc942694f5515" dependencies = [ "prost 0.14.3", "serde", @@ -1295,7 +1295,7 @@ dependencies = [ [[package]] name = "libdd-trace-utils" version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog?rev=6b4140068d0dbbb4ae541e4149cc4c89138c38c0#6b4140068d0dbbb4ae541e4149cc4c89138c38c0" +source = "git+https://github.com/DataDog/libdatadog?rev=f97c41f055a441cc80033f53edfbc942694f5515#f97c41f055a441cc80033f53edfbc942694f5515" dependencies = [ "anyhow", "bytes", diff --git a/crates/datadog-serverless-compat/Cargo.toml b/crates/datadog-serverless-compat/Cargo.toml index 43c552f9..99b825ae 100644 --- a/crates/datadog-serverless-compat/Cargo.toml +++ b/crates/datadog-serverless-compat/Cargo.toml @@ -7,7 +7,7 @@ description = "Binary to run trace-agent and dogstatsd servers in Serverless env [dependencies] datadog-trace-agent = { path = "../datadog-trace-agent" } -libdd-trace-utils = { git = "https://github.com/DataDog/libdatadog", rev = "6b4140068d0dbbb4ae541e4149cc4c89138c38c0" } +libdd-trace-utils = { git = "https://github.com/DataDog/libdatadog", rev = "f97c41f055a441cc80033f53edfbc942694f5515" } dogstatsd = { path = "../dogstatsd", default-features = true } tokio = { version = "1", features = ["macros", "rt-multi-thread"] } tokio-util = { version = "0.7", default-features = false } diff --git a/crates/datadog-trace-agent/Cargo.toml b/crates/datadog-trace-agent/Cargo.toml index 37fdf2d8..bc768d3b 100644 --- a/crates/datadog-trace-agent/Cargo.toml +++ b/crates/datadog-trace-agent/Cargo.toml @@ -20,12 +20,12 @@ async-trait = "0.1.64" tracing = { version = "0.1", default-features = false } serde = { version = "1.0.145", features = ["derive"] } serde_json = "1.0" -libdd-common = { git = "https://github.com/DataDog/libdatadog", rev = "6b4140068d0dbbb4ae541e4149cc4c89138c38c0" } -libdd-trace-protobuf = { git = "https://github.com/DataDog/libdatadog", rev = "6b4140068d0dbbb4ae541e4149cc4c89138c38c0" } -libdd-trace-utils = { git = "https://github.com/DataDog/libdatadog", rev = "6b4140068d0dbbb4ae541e4149cc4c89138c38c0", features = [ +libdd-common = { git = "https://github.com/DataDog/libdatadog", rev = "f97c41f055a441cc80033f53edfbc942694f5515" } +libdd-trace-protobuf = { git = "https://github.com/DataDog/libdatadog", rev = "f97c41f055a441cc80033f53edfbc942694f5515" } +libdd-trace-utils = { git = "https://github.com/DataDog/libdatadog", rev = "f97c41f055a441cc80033f53edfbc942694f5515", features = [ "mini_agent", ] } -libdd-trace-obfuscation = { git = "https://github.com/DataDog/libdatadog", rev = "6b4140068d0dbbb4ae541e4149cc4c89138c38c0" } +libdd-trace-obfuscation = { git = "https://github.com/DataDog/libdatadog", rev = "f97c41f055a441cc80033f53edfbc942694f5515" } datadog-fips = { path = "../datadog-fips" } reqwest = { version = "0.12.23", features = ["json", "http2"], default-features = false } bytes = "1.10.1" @@ -35,6 +35,6 @@ rmp-serde = "1.1.1" serial_test = "2.0.0" duplicate = "0.4.1" tempfile = "3.3.0" -libdd-trace-utils = { git = "https://github.com/DataDog/libdatadog", rev = "6b4140068d0dbbb4ae541e4149cc4c89138c38c0", features = [ +libdd-trace-utils = { git = "https://github.com/DataDog/libdatadog", rev = "f97c41f055a441cc80033f53edfbc942694f5515", features = [ "test-utils", ] } From c759e8d1aec53564d671a3e89dc3d01f0aad36bf Mon Sep 17 00:00:00 2001 From: Duncan Harvey Date: Tue, 10 Feb 2026 11:48:49 -0500 Subject: [PATCH 5/5] update libdatadog rev to d52ee90209cb12a28bdda0114535c1a985a29d95 --- Cargo.lock | 14 +++++++------- crates/datadog-serverless-compat/Cargo.toml | 2 +- crates/datadog-trace-agent/Cargo.toml | 10 +++++----- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1fee6e1b..9985655d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1218,7 +1218,7 @@ checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" [[package]] name = "libdd-common" version = "1.1.0" -source = "git+https://github.com/DataDog/libdatadog?rev=f97c41f055a441cc80033f53edfbc942694f5515#f97c41f055a441cc80033f53edfbc942694f5515" +source = "git+https://github.com/DataDog/libdatadog?rev=d52ee90209cb12a28bdda0114535c1a985a29d95#d52ee90209cb12a28bdda0114535c1a985a29d95" dependencies = [ "anyhow", "cc", @@ -1250,8 +1250,8 @@ dependencies = [ [[package]] name = "libdd-tinybytes" -version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog?rev=f97c41f055a441cc80033f53edfbc942694f5515#f97c41f055a441cc80033f53edfbc942694f5515" +version = "1.1.0" +source = "git+https://github.com/DataDog/libdatadog?rev=d52ee90209cb12a28bdda0114535c1a985a29d95#d52ee90209cb12a28bdda0114535c1a985a29d95" dependencies = [ "serde", ] @@ -1259,7 +1259,7 @@ dependencies = [ [[package]] name = "libdd-trace-normalization" version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog?rev=f97c41f055a441cc80033f53edfbc942694f5515#f97c41f055a441cc80033f53edfbc942694f5515" +source = "git+https://github.com/DataDog/libdatadog?rev=d52ee90209cb12a28bdda0114535c1a985a29d95#d52ee90209cb12a28bdda0114535c1a985a29d95" dependencies = [ "anyhow", "libdd-trace-protobuf", @@ -1268,7 +1268,7 @@ dependencies = [ [[package]] name = "libdd-trace-obfuscation" version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog?rev=f97c41f055a441cc80033f53edfbc942694f5515#f97c41f055a441cc80033f53edfbc942694f5515" +source = "git+https://github.com/DataDog/libdatadog?rev=d52ee90209cb12a28bdda0114535c1a985a29d95#d52ee90209cb12a28bdda0114535c1a985a29d95" dependencies = [ "anyhow", "libdd-common", @@ -1285,7 +1285,7 @@ dependencies = [ [[package]] name = "libdd-trace-protobuf" version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog?rev=f97c41f055a441cc80033f53edfbc942694f5515#f97c41f055a441cc80033f53edfbc942694f5515" +source = "git+https://github.com/DataDog/libdatadog?rev=d52ee90209cb12a28bdda0114535c1a985a29d95#d52ee90209cb12a28bdda0114535c1a985a29d95" dependencies = [ "prost 0.14.3", "serde", @@ -1295,7 +1295,7 @@ dependencies = [ [[package]] name = "libdd-trace-utils" version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog?rev=f97c41f055a441cc80033f53edfbc942694f5515#f97c41f055a441cc80033f53edfbc942694f5515" +source = "git+https://github.com/DataDog/libdatadog?rev=d52ee90209cb12a28bdda0114535c1a985a29d95#d52ee90209cb12a28bdda0114535c1a985a29d95" dependencies = [ "anyhow", "bytes", diff --git a/crates/datadog-serverless-compat/Cargo.toml b/crates/datadog-serverless-compat/Cargo.toml index 99b825ae..b4f96b42 100644 --- a/crates/datadog-serverless-compat/Cargo.toml +++ b/crates/datadog-serverless-compat/Cargo.toml @@ -7,7 +7,7 @@ description = "Binary to run trace-agent and dogstatsd servers in Serverless env [dependencies] datadog-trace-agent = { path = "../datadog-trace-agent" } -libdd-trace-utils = { git = "https://github.com/DataDog/libdatadog", rev = "f97c41f055a441cc80033f53edfbc942694f5515" } +libdd-trace-utils = { git = "https://github.com/DataDog/libdatadog", rev = "d52ee90209cb12a28bdda0114535c1a985a29d95" } dogstatsd = { path = "../dogstatsd", default-features = true } tokio = { version = "1", features = ["macros", "rt-multi-thread"] } tokio-util = { version = "0.7", default-features = false } diff --git a/crates/datadog-trace-agent/Cargo.toml b/crates/datadog-trace-agent/Cargo.toml index bc768d3b..8a608642 100644 --- a/crates/datadog-trace-agent/Cargo.toml +++ b/crates/datadog-trace-agent/Cargo.toml @@ -20,12 +20,12 @@ async-trait = "0.1.64" tracing = { version = "0.1", default-features = false } serde = { version = "1.0.145", features = ["derive"] } serde_json = "1.0" -libdd-common = { git = "https://github.com/DataDog/libdatadog", rev = "f97c41f055a441cc80033f53edfbc942694f5515" } -libdd-trace-protobuf = { git = "https://github.com/DataDog/libdatadog", rev = "f97c41f055a441cc80033f53edfbc942694f5515" } -libdd-trace-utils = { git = "https://github.com/DataDog/libdatadog", rev = "f97c41f055a441cc80033f53edfbc942694f5515", features = [ +libdd-common = { git = "https://github.com/DataDog/libdatadog", rev = "d52ee90209cb12a28bdda0114535c1a985a29d95" } +libdd-trace-protobuf = { git = "https://github.com/DataDog/libdatadog", rev = "d52ee90209cb12a28bdda0114535c1a985a29d95" } +libdd-trace-utils = { git = "https://github.com/DataDog/libdatadog", rev = "d52ee90209cb12a28bdda0114535c1a985a29d95", features = [ "mini_agent", ] } -libdd-trace-obfuscation = { git = "https://github.com/DataDog/libdatadog", rev = "f97c41f055a441cc80033f53edfbc942694f5515" } +libdd-trace-obfuscation = { git = "https://github.com/DataDog/libdatadog", rev = "d52ee90209cb12a28bdda0114535c1a985a29d95" } datadog-fips = { path = "../datadog-fips" } reqwest = { version = "0.12.23", features = ["json", "http2"], default-features = false } bytes = "1.10.1" @@ -35,6 +35,6 @@ rmp-serde = "1.1.1" serial_test = "2.0.0" duplicate = "0.4.1" tempfile = "3.3.0" -libdd-trace-utils = { git = "https://github.com/DataDog/libdatadog", rev = "f97c41f055a441cc80033f53edfbc942694f5515", features = [ +libdd-trace-utils = { git = "https://github.com/DataDog/libdatadog", rev = "d52ee90209cb12a28bdda0114535c1a985a29d95", features = [ "test-utils", ] }