From 0cc6fd6ae6d52714618291cb4021b618d13df152 Mon Sep 17 00:00:00 2001 From: Thomas Hunter II Date: Wed, 18 Mar 2026 10:40:08 -0700 Subject: [PATCH 1/6] feat(process-discovery): add process_tags and container_id to TracerMetadata Bump libdatadog dependency from datadog-library-config v18.1.0 to libdd-library-config v29.0.0 (which includes process_tags and container_id in the TracerMetadata struct), and expose both new fields in the NAPI binding. Co-Authored-By: Claude Sonnet 4.6 --- Cargo.lock | 39 ++++++++++++++++++++++++++++- crates/process_discovery/Cargo.toml | 2 +- crates/process_discovery/src/lib.rs | 6 ++++- test/process-discovery.js | 2 ++ 4 files changed, 46 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4ac9981..e9bb693 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -783,6 +783,23 @@ dependencies = [ "prost", ] +[[package]] +name = "libdd-library-config" +version = "1.0.0" +source = "git+https://github.com/DataDog/libdatadog.git?tag=v29.0.0#001bd56fcbba34fa4ec3f9798a6c4fbcddeffa40" +dependencies = [ + "anyhow", + "libdd-trace-protobuf", + "memfd", + "prost", + "rand", + "rmp", + "rmp-serde", + "rustix", + "serde", + "serde_yaml", +] + [[package]] name = "libdd-libunwind-sys" version = "29.0.0" @@ -817,6 +834,16 @@ dependencies = [ "winver", ] +[[package]] +name = "libdd-trace-protobuf" +version = "1.1.0" +source = "git+https://github.com/DataDog/libdatadog.git?tag=v29.0.0#001bd56fcbba34fa4ec3f9798a6c4fbcddeffa40" +dependencies = [ + "prost", + "serde", + "serde_bytes", +] + [[package]] name = "libloading" version = "0.8.9" @@ -1327,7 +1354,7 @@ name = "process-discovery" version = "0.1.0" dependencies = [ "anyhow", - "datadog-library-config", + "libdd-library-config", "napi", "napi-derive", ] @@ -1639,6 +1666,16 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "serde_bytes" +version = "0.11.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8" +dependencies = [ + "serde", + "serde_core", +] + [[package]] name = "serde_core" version = "1.0.228" diff --git a/crates/process_discovery/Cargo.toml b/crates/process_discovery/Cargo.toml index 1f59cd2..30f94b4 100644 --- a/crates/process_discovery/Cargo.toml +++ b/crates/process_discovery/Cargo.toml @@ -8,7 +8,7 @@ crate-type = ["cdylib", "rlib"] [dependencies] anyhow = "1" -datadog-library-config = { git = "https://github.com/DataDog/libdatadog.git", tag = "v18.1.0" } +libdd-library-config = { git = "https://github.com/DataDog/libdatadog.git", tag = "v29.0.0" } napi = { version = "2" } napi-derive = { version = "2", default-features = false } diff --git a/crates/process_discovery/src/lib.rs b/crates/process_discovery/src/lib.rs index c5cfac1..3649959 100644 --- a/crates/process_discovery/src/lib.rs +++ b/crates/process_discovery/src/lib.rs @@ -1,7 +1,7 @@ use napi::{Error, Status}; use napi_derive::napi; -use datadog_library_config::tracer_metadata; +use libdd_library_config::tracer_metadata; #[napi] pub struct NapiAnonymousFileHandle { @@ -19,6 +19,8 @@ pub struct TracerMetadata { pub service_name: Option, pub service_env: Option, pub service_version: Option, + pub process_tags: Option, + pub container_id: Option, } #[napi] @@ -32,6 +34,8 @@ pub fn store_metadata(data: &TracerMetadata) -> napi::Result Date: Wed, 18 Mar 2026 14:56:39 -0700 Subject: [PATCH 2/6] ci: pin action-prebuildify to last known working version action-prebuildify@main was updated (2026-03-18) with a regression that renames all RUST=true prebuilt .node files to the same destination ('node-napi.node'), causing multi-file artifacts to be overwritten. Pin to the last working commit (d4e89247, 2026-03-16) until upstream action-prebuildify is fixed. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cf5eeb9..50d6f09 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,7 +33,7 @@ jobs: crate: '${{ matrix.crate }}' build: - uses: Datadog/action-prebuildify/.github/workflows/build.yml@main + uses: Datadog/action-prebuildify/.github/workflows/build.yml@d4e89247e6dd34f485c0f92c12f0cc739c2f8c92 # main @ 2026-03-16, last known working version needs: build-test-wasm with: package-manager: 'yarn' From c484cb202ee5665e11b835a197530458479359b0 Mon Sep 17 00:00:00 2001 From: Thomas Hunter II Date: Wed, 18 Mar 2026 15:39:36 -0700 Subject: [PATCH 3/6] refactor(process-discovery): keep datadog-library-config dep name, revert build.yml pin Use Cargo's package alias to keep the existing dep name (datadog-library-config) while upgrading to libdd-library-config v29.0.0, which includes process_tags and container_id. Reverts build.yml back to @main. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/build.yml | 2 +- crates/process_discovery/Cargo.toml | 2 +- crates/process_discovery/src/lib.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 50d6f09..cf5eeb9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,7 +33,7 @@ jobs: crate: '${{ matrix.crate }}' build: - uses: Datadog/action-prebuildify/.github/workflows/build.yml@d4e89247e6dd34f485c0f92c12f0cc739c2f8c92 # main @ 2026-03-16, last known working version + uses: Datadog/action-prebuildify/.github/workflows/build.yml@main needs: build-test-wasm with: package-manager: 'yarn' diff --git a/crates/process_discovery/Cargo.toml b/crates/process_discovery/Cargo.toml index 30f94b4..7c19cc6 100644 --- a/crates/process_discovery/Cargo.toml +++ b/crates/process_discovery/Cargo.toml @@ -8,7 +8,7 @@ crate-type = ["cdylib", "rlib"] [dependencies] anyhow = "1" -libdd-library-config = { git = "https://github.com/DataDog/libdatadog.git", tag = "v29.0.0" } +datadog-library-config = { package = "libdd-library-config", git = "https://github.com/DataDog/libdatadog.git", tag = "v29.0.0" } napi = { version = "2" } napi-derive = { version = "2", default-features = false } diff --git a/crates/process_discovery/src/lib.rs b/crates/process_discovery/src/lib.rs index 3649959..c3d5c66 100644 --- a/crates/process_discovery/src/lib.rs +++ b/crates/process_discovery/src/lib.rs @@ -1,7 +1,7 @@ use napi::{Error, Status}; use napi_derive::napi; -use libdd_library_config::tracer_metadata; +use datadog_library_config::tracer_metadata; #[napi] pub struct NapiAnonymousFileHandle { From bfc37fdecaaf90fb362cbaab59e292d6a3423f55 Mon Sep 17 00:00:00 2001 From: Thomas Hunter II Date: Wed, 18 Mar 2026 15:53:10 -0700 Subject: [PATCH 4/6] Revert "refactor(process-discovery): keep datadog-library-config dep name, revert build.yml pin" This reverts commit c484cb202ee5665e11b835a197530458479359b0. --- .github/workflows/build.yml | 2 +- crates/process_discovery/Cargo.toml | 2 +- crates/process_discovery/src/lib.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cf5eeb9..50d6f09 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,7 +33,7 @@ jobs: crate: '${{ matrix.crate }}' build: - uses: Datadog/action-prebuildify/.github/workflows/build.yml@main + uses: Datadog/action-prebuildify/.github/workflows/build.yml@d4e89247e6dd34f485c0f92c12f0cc739c2f8c92 # main @ 2026-03-16, last known working version needs: build-test-wasm with: package-manager: 'yarn' diff --git a/crates/process_discovery/Cargo.toml b/crates/process_discovery/Cargo.toml index 7c19cc6..30f94b4 100644 --- a/crates/process_discovery/Cargo.toml +++ b/crates/process_discovery/Cargo.toml @@ -8,7 +8,7 @@ crate-type = ["cdylib", "rlib"] [dependencies] anyhow = "1" -datadog-library-config = { package = "libdd-library-config", git = "https://github.com/DataDog/libdatadog.git", tag = "v29.0.0" } +libdd-library-config = { git = "https://github.com/DataDog/libdatadog.git", tag = "v29.0.0" } napi = { version = "2" } napi-derive = { version = "2", default-features = false } diff --git a/crates/process_discovery/src/lib.rs b/crates/process_discovery/src/lib.rs index c3d5c66..3649959 100644 --- a/crates/process_discovery/src/lib.rs +++ b/crates/process_discovery/src/lib.rs @@ -1,7 +1,7 @@ use napi::{Error, Status}; use napi_derive::napi; -use datadog_library_config::tracer_metadata; +use libdd_library_config::tracer_metadata; #[napi] pub struct NapiAnonymousFileHandle { From 4d7be7131fabf977c65382b2e0e7b26e0efe73dc Mon Sep 17 00:00:00 2001 From: Thomas Hunter II Date: Thu, 19 Mar 2026 08:28:21 -0700 Subject: [PATCH 5/6] try unpinning prebuildify and specify gyp version --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 50d6f09..a84454e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,11 +33,12 @@ jobs: crate: '${{ matrix.crate }}' build: - uses: Datadog/action-prebuildify/.github/workflows/build.yml@d4e89247e6dd34f485c0f92c12f0cc739c2f8c92 # main @ 2026-03-16, last known working version + uses: Datadog/action-prebuildify/.github/workflows/build.yml@main needs: build-test-wasm with: package-manager: 'yarn' cache: false + node-gyp-build-major: 3 min-node-version: 18 rust: true only: darwin-arm64,darwin-x64,linux-arm64,linux-x64 From c9027a622c614e7672c724690689d6eb089f4f62 Mon Sep 17 00:00:00 2001 From: Thomas Hunter II Date: Thu, 19 Mar 2026 09:20:42 -0700 Subject: [PATCH 6/6] pin version of prebuildify due to incompat --- .github/workflows/build.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a84454e..50d6f09 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,12 +33,11 @@ jobs: crate: '${{ matrix.crate }}' build: - uses: Datadog/action-prebuildify/.github/workflows/build.yml@main + uses: Datadog/action-prebuildify/.github/workflows/build.yml@d4e89247e6dd34f485c0f92c12f0cc739c2f8c92 # main @ 2026-03-16, last known working version needs: build-test-wasm with: package-manager: 'yarn' cache: false - node-gyp-build-major: 3 min-node-version: 18 rust: true only: darwin-arm64,darwin-x64,linux-arm64,linux-x64