From 184ec6737320d4558398e09d5a9df8d92eeacb22 Mon Sep 17 00:00:00 2001 From: Gregory LEOCADIE Date: Thu, 25 Sep 2025 11:07:03 +0200 Subject: [PATCH 01/12] Bump to libdatadog v21 --- build/cmake/FindLibdatadog.cmake | 14 +++++++------- build/vcpkg_local_ports/libdatadog/portfile.cmake | 4 ++-- build/vcpkg_local_ports/libdatadog/vcpkg.json | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/build/cmake/FindLibdatadog.cmake b/build/cmake/FindLibdatadog.cmake index 8fa55756bd06..1968802a60ca 100644 --- a/build/cmake/FindLibdatadog.cmake +++ b/build/cmake/FindLibdatadog.cmake @@ -4,12 +4,12 @@ endif() include(FetchContent) -set(LIBDATADOG_VERSION "v20.0.0" CACHE STRING "libdatadog version") +set(LIBDATADOG_VERSION "v21.0.0" CACHE STRING "libdatadog version") if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") # For Darwin, we'll download both architectures and combine them - set(SHA256_LIBDATADOG_ARM64 "916a207ea1343744062ff44f421f198bc9d79ae2be7624f4ba355542ff03b7ec" CACHE STRING "libdatadog arm64 sha256") - set(SHA256_LIBDATADOG_X86_64 "879d213a5cbf982500833323828c862a5efc824afdb03628daa8f363e70cbfe9" CACHE STRING "libdatadog x86_64 sha256") + set(SHA256_LIBDATADOG_ARM64 "c1665c80fcd04ca27a2c59f3a9e0e140feb50ae25596f5290fa1a5a4f165b3f4" CACHE STRING "libdatadog arm64 sha256") + set(SHA256_LIBDATADOG_X86_64 "ab8b332406615a6de00db4d6353edcdeaa17aa8c905dafb570320bc453ddf9af" CACHE STRING "libdatadog x86_64 sha256") set(FILE_TO_DOWNLOAD_ARM64 libdatadog-aarch64-apple-darwin.tar.gz) set(FILE_TO_DOWNLOAD_X86_64 libdatadog-x86_64-apple-darwin.tar.gz) @@ -62,18 +62,18 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") else() if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64") if(DEFINED ENV{IsAlpine} AND "$ENV{IsAlpine}" MATCHES "true") - set(SHA256_LIBDATADOG "12791239d3d0bfeab8fc659d10dd64e8ccf9ad87aa3f293c3f509a57bf2b3ade" CACHE STRING "libdatadog sha256") + set(SHA256_LIBDATADOG "547aec1aeecae7bc12d6eb38a30eb6107777886c20dd335be917a40ecee4c23a" CACHE STRING "libdatadog sha256") set(FILE_TO_DOWNLOAD libdatadog-aarch64-alpine-linux-musl.tar.gz) else() - set(SHA256_LIBDATADOG "368903a0a73b700ba2a6a8aee91b2be49af9ef6077b684b9f1aace408f8917b1" CACHE STRING "libdatadog sha256") + set(SHA256_LIBDATADOG "14506ec3ddc23c4017ddb7ae98c78e0eb1a24cdfd924fc85bb2cabffc38a8556" CACHE STRING "libdatadog sha256") set(FILE_TO_DOWNLOAD libdatadog-aarch64-unknown-linux-gnu.tar.gz) endif() else() if(DEFINED ENV{IsAlpine} AND "$ENV{IsAlpine}" MATCHES "true") - set(SHA256_LIBDATADOG "bcf85135fea719aa192d176b08bb62056beff5d96ddbd114dfc28e50fcfea08c" CACHE STRING "libdatadog sha256") + set(SHA256_LIBDATADOG "6becd32b63cab8e5106a2d39823b2716c3c9fd130f1770aa2e27f5c1d0b05ac5" CACHE STRING "libdatadog sha256") set(FILE_TO_DOWNLOAD libdatadog-${CMAKE_SYSTEM_PROCESSOR}-alpine-linux-musl.tar.gz) else() - set(SHA256_LIBDATADOG "84b779bdaa3da7668795e264a5ac4b015185044d147a142727349026eb49d428" CACHE STRING "libdatadog sha256") + set(SHA256_LIBDATADOG "b958049329589502d87a2f37db992eec5e93886422d516118d2cd1d848ba3bb9" CACHE STRING "libdatadog sha256") set(FILE_TO_DOWNLOAD libdatadog-${CMAKE_SYSTEM_PROCESSOR}-unknown-linux-gnu.tar.gz) endif() endif() diff --git a/build/vcpkg_local_ports/libdatadog/portfile.cmake b/build/vcpkg_local_ports/libdatadog/portfile.cmake index 446069304fa5..7b2147989712 100644 --- a/build/vcpkg_local_ports/libdatadog/portfile.cmake +++ b/build/vcpkg_local_ports/libdatadog/portfile.cmake @@ -3,11 +3,11 @@ set(LIBDATADOG_VERSION ${VERSION}) if(TARGET_TRIPLET STREQUAL "x64-windows" OR TARGET_TRIPLET STREQUAL "x64-windows-static") set(PLATFORM "x64") - set(LIBDATADOG_HASH "f43b4e0a41a4f1d20995e13bc43b7d3502120c2809aefa177f3eea73db1f430e9de350f6f54bdadae09820ad7a492b7f054ec0180d94c33e44fb9a462ab3153a") + set(LIBDATADOG_HASH "0bf3701e53608756d4cdf4dd223a84635e77d5ce7982ac9d1510a5db6a49be5e87b78c8f094ebcfd3d7b676eb22ba5be7c3c01d2fe523c8329b6274d4f6aa146") elseif(TARGET_TRIPLET STREQUAL "x86-windows" OR TARGET_TRIPLET STREQUAL "x86-windows-static") set(PLATFORM "x86") - set(LIBDATADOG_HASH "9cdc780f52edcccf272098f46ee2200e2fa3d56b29be21b5bfc1bcf7943f9a0efd7b7d9e84ca6340e618ec92c4b19d7625d6907592027d4ca67241b08b9063a6") + set(LIBDATADOG_HASH "f5973af51e52a709ede358dd2215bf8ea93ef713ea360716eed9a71369f52a2095d5ab7960c7272bf30c4a22936b6cf04089f2863c4b5cfa835ed81aae1f2d39") else() message(FATAL_ERROR "Unsupported triplet: ${TARGET_TRIPLET}") endif() diff --git a/build/vcpkg_local_ports/libdatadog/vcpkg.json b/build/vcpkg_local_ports/libdatadog/vcpkg.json index 83e4b026f16d..505544c755e0 100644 --- a/build/vcpkg_local_ports/libdatadog/vcpkg.json +++ b/build/vcpkg_local_ports/libdatadog/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libdatadog", - "version-string": "20.0.0", + "version-string": "21.0.0", "description": "Package providing libdatadog prebuilt binaries for Windows only.", "dependencies": [] } From aec16128b6507f85cb9ae497b21ba17177f5660d Mon Sep 17 00:00:00 2001 From: Gregory LEOCADIE Date: Fri, 3 Oct 2025 09:37:58 +0200 Subject: [PATCH 02/12] Bump to libdatadog v22 --- build/cmake/FindLibdatadog.cmake | 14 +++++++------- build/vcpkg_local_ports/libdatadog/portfile.cmake | 4 ++-- build/vcpkg_local_ports/libdatadog/vcpkg.json | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/build/cmake/FindLibdatadog.cmake b/build/cmake/FindLibdatadog.cmake index 1968802a60ca..ca281980a0e4 100644 --- a/build/cmake/FindLibdatadog.cmake +++ b/build/cmake/FindLibdatadog.cmake @@ -4,12 +4,12 @@ endif() include(FetchContent) -set(LIBDATADOG_VERSION "v21.0.0" CACHE STRING "libdatadog version") +set(LIBDATADOG_VERSION "v22.0.0" CACHE STRING "libdatadog version") if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") # For Darwin, we'll download both architectures and combine them - set(SHA256_LIBDATADOG_ARM64 "c1665c80fcd04ca27a2c59f3a9e0e140feb50ae25596f5290fa1a5a4f165b3f4" CACHE STRING "libdatadog arm64 sha256") - set(SHA256_LIBDATADOG_X86_64 "ab8b332406615a6de00db4d6353edcdeaa17aa8c905dafb570320bc453ddf9af" CACHE STRING "libdatadog x86_64 sha256") + set(SHA256_LIBDATADOG_ARM64 "8982e04d45e9721a9ff7c8c28e8f25f8507458d73c2e0d7cacd315d39e170dba" CACHE STRING "libdatadog arm64 sha256") + set(SHA256_LIBDATADOG_X86_64 "1d47b9d63b91e97420f8b1da9393c3fc28ddfd65d09cf95aaef9ae2d5236c9b0" CACHE STRING "libdatadog x86_64 sha256") set(FILE_TO_DOWNLOAD_ARM64 libdatadog-aarch64-apple-darwin.tar.gz) set(FILE_TO_DOWNLOAD_X86_64 libdatadog-x86_64-apple-darwin.tar.gz) @@ -62,18 +62,18 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") else() if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64") if(DEFINED ENV{IsAlpine} AND "$ENV{IsAlpine}" MATCHES "true") - set(SHA256_LIBDATADOG "547aec1aeecae7bc12d6eb38a30eb6107777886c20dd335be917a40ecee4c23a" CACHE STRING "libdatadog sha256") + set(SHA256_LIBDATADOG "250bf6011a1ab3c177ed6743faf64457f8dd7ed4ed1a97af4683327407dd13ab" CACHE STRING "libdatadog sha256") set(FILE_TO_DOWNLOAD libdatadog-aarch64-alpine-linux-musl.tar.gz) else() - set(SHA256_LIBDATADOG "14506ec3ddc23c4017ddb7ae98c78e0eb1a24cdfd924fc85bb2cabffc38a8556" CACHE STRING "libdatadog sha256") + set(SHA256_LIBDATADOG "47367657799c6273315a25a70c5f9d7b3258fbd46bd3b6e74a85d509b3d3679c" CACHE STRING "libdatadog sha256") set(FILE_TO_DOWNLOAD libdatadog-aarch64-unknown-linux-gnu.tar.gz) endif() else() if(DEFINED ENV{IsAlpine} AND "$ENV{IsAlpine}" MATCHES "true") - set(SHA256_LIBDATADOG "6becd32b63cab8e5106a2d39823b2716c3c9fd130f1770aa2e27f5c1d0b05ac5" CACHE STRING "libdatadog sha256") + set(SHA256_LIBDATADOG "433d2d274543dbcccf055d708d93f7b07927ddca2273a87aedb82971e02f1e64" CACHE STRING "libdatadog sha256") set(FILE_TO_DOWNLOAD libdatadog-${CMAKE_SYSTEM_PROCESSOR}-alpine-linux-musl.tar.gz) else() - set(SHA256_LIBDATADOG "b958049329589502d87a2f37db992eec5e93886422d516118d2cd1d848ba3bb9" CACHE STRING "libdatadog sha256") + set(SHA256_LIBDATADOG "65a92ae10f264775082e67b29067d0d4712f0c24e600d6d4f819c5ef2ca8d257" CACHE STRING "libdatadog sha256") set(FILE_TO_DOWNLOAD libdatadog-${CMAKE_SYSTEM_PROCESSOR}-unknown-linux-gnu.tar.gz) endif() endif() diff --git a/build/vcpkg_local_ports/libdatadog/portfile.cmake b/build/vcpkg_local_ports/libdatadog/portfile.cmake index 7b2147989712..b08899845c99 100644 --- a/build/vcpkg_local_ports/libdatadog/portfile.cmake +++ b/build/vcpkg_local_ports/libdatadog/portfile.cmake @@ -3,11 +3,11 @@ set(LIBDATADOG_VERSION ${VERSION}) if(TARGET_TRIPLET STREQUAL "x64-windows" OR TARGET_TRIPLET STREQUAL "x64-windows-static") set(PLATFORM "x64") - set(LIBDATADOG_HASH "0bf3701e53608756d4cdf4dd223a84635e77d5ce7982ac9d1510a5db6a49be5e87b78c8f094ebcfd3d7b676eb22ba5be7c3c01d2fe523c8329b6274d4f6aa146") + set(LIBDATADOG_HASH "a65fd9bf56b008befa0d0fab37f83138a5b3128853d6b7539435a3af02bb1054c07011dae1be4a3be236087bca561858da4ffc0e357b94d5b7f7f3898e272339") elseif(TARGET_TRIPLET STREQUAL "x86-windows" OR TARGET_TRIPLET STREQUAL "x86-windows-static") set(PLATFORM "x86") - set(LIBDATADOG_HASH "f5973af51e52a709ede358dd2215bf8ea93ef713ea360716eed9a71369f52a2095d5ab7960c7272bf30c4a22936b6cf04089f2863c4b5cfa835ed81aae1f2d39") + set(LIBDATADOG_HASH "6cf2a1241b29a08c9ec09cb52d01457e5537f97c1f8e82f34b52b0a4776dc8334ad3d85f4ee3858f1c9c96005cd18c84081cb4e09512106e670c79c2fc8a2bbd") else() message(FATAL_ERROR "Unsupported triplet: ${TARGET_TRIPLET}") endif() diff --git a/build/vcpkg_local_ports/libdatadog/vcpkg.json b/build/vcpkg_local_ports/libdatadog/vcpkg.json index 505544c755e0..e27e57992df7 100644 --- a/build/vcpkg_local_ports/libdatadog/vcpkg.json +++ b/build/vcpkg_local_ports/libdatadog/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libdatadog", - "version-string": "21.0.0", + "version-string": "22.0.0", "description": "Package providing libdatadog prebuilt binaries for Windows only.", "dependencies": [] } From 0fd3e43ecd3c8166e77d9662261dc5a45d3ec9fc Mon Sep 17 00:00:00 2001 From: Gregory LEOCADIE Date: Fri, 3 Oct 2025 18:36:59 +0200 Subject: [PATCH 03/12] bump to libdatadog v22.0.1 --- build/cmake/FindLibdatadog.cmake | 14 +++++++------- build/vcpkg_local_ports/libdatadog/portfile.cmake | 4 ++-- build/vcpkg_local_ports/libdatadog/vcpkg.json | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/build/cmake/FindLibdatadog.cmake b/build/cmake/FindLibdatadog.cmake index ca281980a0e4..1770fe03c201 100644 --- a/build/cmake/FindLibdatadog.cmake +++ b/build/cmake/FindLibdatadog.cmake @@ -4,12 +4,12 @@ endif() include(FetchContent) -set(LIBDATADOG_VERSION "v22.0.0" CACHE STRING "libdatadog version") +set(LIBDATADOG_VERSION "v22.0.1" CACHE STRING "libdatadog version") if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") # For Darwin, we'll download both architectures and combine them - set(SHA256_LIBDATADOG_ARM64 "8982e04d45e9721a9ff7c8c28e8f25f8507458d73c2e0d7cacd315d39e170dba" CACHE STRING "libdatadog arm64 sha256") - set(SHA256_LIBDATADOG_X86_64 "1d47b9d63b91e97420f8b1da9393c3fc28ddfd65d09cf95aaef9ae2d5236c9b0" CACHE STRING "libdatadog x86_64 sha256") + set(SHA256_LIBDATADOG_ARM64 "36145902ed4d4cc9745315671f9ec5d33b7b1b3d76588353dfa79acd2e5f463a" CACHE STRING "libdatadog arm64 sha256") + set(SHA256_LIBDATADOG_X86_64 "afb55ef719d6f74b9240b5ea5b5afcddd532b03a620c25bfb978188bc081ecf9" CACHE STRING "libdatadog x86_64 sha256") set(FILE_TO_DOWNLOAD_ARM64 libdatadog-aarch64-apple-darwin.tar.gz) set(FILE_TO_DOWNLOAD_X86_64 libdatadog-x86_64-apple-darwin.tar.gz) @@ -62,18 +62,18 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") else() if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64") if(DEFINED ENV{IsAlpine} AND "$ENV{IsAlpine}" MATCHES "true") - set(SHA256_LIBDATADOG "250bf6011a1ab3c177ed6743faf64457f8dd7ed4ed1a97af4683327407dd13ab" CACHE STRING "libdatadog sha256") + set(SHA256_LIBDATADOG "1a9ace8904db9e5232732d43ec72b7c796866059614abec254b4c2c91665a5d0" CACHE STRING "libdatadog sha256") set(FILE_TO_DOWNLOAD libdatadog-aarch64-alpine-linux-musl.tar.gz) else() - set(SHA256_LIBDATADOG "47367657799c6273315a25a70c5f9d7b3258fbd46bd3b6e74a85d509b3d3679c" CACHE STRING "libdatadog sha256") + set(SHA256_LIBDATADOG "ec79b9a0b8d0163c04058c28455d083dc518ffdec9870698d87187abe059a825" CACHE STRING "libdatadog sha256") set(FILE_TO_DOWNLOAD libdatadog-aarch64-unknown-linux-gnu.tar.gz) endif() else() if(DEFINED ENV{IsAlpine} AND "$ENV{IsAlpine}" MATCHES "true") - set(SHA256_LIBDATADOG "433d2d274543dbcccf055d708d93f7b07927ddca2273a87aedb82971e02f1e64" CACHE STRING "libdatadog sha256") + set(SHA256_LIBDATADOG "c44cfc89d65b3e46964dccbf98508caf3e1897a295f6bdb798b65b692c74d520" CACHE STRING "libdatadog sha256") set(FILE_TO_DOWNLOAD libdatadog-${CMAKE_SYSTEM_PROCESSOR}-alpine-linux-musl.tar.gz) else() - set(SHA256_LIBDATADOG "65a92ae10f264775082e67b29067d0d4712f0c24e600d6d4f819c5ef2ca8d257" CACHE STRING "libdatadog sha256") + set(SHA256_LIBDATADOG "803c96e0d96e129d2dafd151d4d1209c7ad5d05e5002702ea0cd322a2133190a" CACHE STRING "libdatadog sha256") set(FILE_TO_DOWNLOAD libdatadog-${CMAKE_SYSTEM_PROCESSOR}-unknown-linux-gnu.tar.gz) endif() endif() diff --git a/build/vcpkg_local_ports/libdatadog/portfile.cmake b/build/vcpkg_local_ports/libdatadog/portfile.cmake index b08899845c99..641a896cdecf 100644 --- a/build/vcpkg_local_ports/libdatadog/portfile.cmake +++ b/build/vcpkg_local_ports/libdatadog/portfile.cmake @@ -3,11 +3,11 @@ set(LIBDATADOG_VERSION ${VERSION}) if(TARGET_TRIPLET STREQUAL "x64-windows" OR TARGET_TRIPLET STREQUAL "x64-windows-static") set(PLATFORM "x64") - set(LIBDATADOG_HASH "a65fd9bf56b008befa0d0fab37f83138a5b3128853d6b7539435a3af02bb1054c07011dae1be4a3be236087bca561858da4ffc0e357b94d5b7f7f3898e272339") + set(LIBDATADOG_HASH "fdc6e5f35342e8a8c0b4ca1e1b0e1a31cdbb82767428d491db2a93a1221c1fc3b3c774b827ab8edc2af2e77b9edffc99a289060abbb457b125d9e38bb090424d") elseif(TARGET_TRIPLET STREQUAL "x86-windows" OR TARGET_TRIPLET STREQUAL "x86-windows-static") set(PLATFORM "x86") - set(LIBDATADOG_HASH "6cf2a1241b29a08c9ec09cb52d01457e5537f97c1f8e82f34b52b0a4776dc8334ad3d85f4ee3858f1c9c96005cd18c84081cb4e09512106e670c79c2fc8a2bbd") + set(LIBDATADOG_HASH "b8acc35088a94f3e0547596dc761d3fc472b4cb73e7a7e141650f289f3e0ffee12a32705b4e3bfa20c94a1463c9d2d31106152fce07b1b8d7408394d866e2856") else() message(FATAL_ERROR "Unsupported triplet: ${TARGET_TRIPLET}") endif() diff --git a/build/vcpkg_local_ports/libdatadog/vcpkg.json b/build/vcpkg_local_ports/libdatadog/vcpkg.json index e27e57992df7..088b96ed58ad 100644 --- a/build/vcpkg_local_ports/libdatadog/vcpkg.json +++ b/build/vcpkg_local_ports/libdatadog/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libdatadog", - "version-string": "22.0.0", + "version-string": "22.0.1", "description": "Package providing libdatadog prebuilt binaries for Windows only.", "dependencies": [] } From c609ca6af04c0d17fb9f69903994769d47bc6414 Mon Sep 17 00:00:00 2001 From: Gregory LEOCADIE Date: Fri, 3 Oct 2025 20:14:20 +0200 Subject: [PATCH 04/12] TO REMOVE --- .../Datadog.Profiler.Native/CorProfilerCallback.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/profiler/src/ProfilerEngine/Datadog.Profiler.Native/CorProfilerCallback.cpp b/profiler/src/ProfilerEngine/Datadog.Profiler.Native/CorProfilerCallback.cpp index c804dc9b8896..8091b094fac4 100644 --- a/profiler/src/ProfilerEngine/Datadog.Profiler.Native/CorProfilerCallback.cpp +++ b/profiler/src/ProfilerEngine/Datadog.Profiler.Native/CorProfilerCallback.cpp @@ -3,6 +3,8 @@ // from dotnet coreclr includes +// TO REMOVE: only to trigger profiler tests +// #include "cor.h" #include "corprof.h" // end From 39ec26fcdf4876c759d2f589b55faf3a4b609e4c Mon Sep 17 00:00:00 2001 From: Gregory LEOCADIE Date: Mon, 6 Oct 2025 11:01:30 +0200 Subject: [PATCH 05/12] Fix bug in HandsOff config --- .../LibDatadog/HandsOffConfiguration/ConfiguratorHelper.cs | 5 +++-- tracer/src/Datadog.Trace/LibDatadog/NativeInterop.cs | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/tracer/src/Datadog.Trace/LibDatadog/HandsOffConfiguration/ConfiguratorHelper.cs b/tracer/src/Datadog.Trace/LibDatadog/HandsOffConfiguration/ConfiguratorHelper.cs index 753ca34487fe..2dab67792f27 100644 --- a/tracer/src/Datadog.Trace/LibDatadog/HandsOffConfiguration/ConfiguratorHelper.cs +++ b/tracer/src/Datadog.Trace/LibDatadog/HandsOffConfiguration/ConfiguratorHelper.cs @@ -35,6 +35,7 @@ internal static ConfigurationResult GetConfiguration(string? handsOffLocalConfig var configHandle = IntPtr.Zero; Error? resultError = null; LibraryConfigs? libraryConfigs = null; + LibraryConfigResult configurationResult = default; try { languageCs = new CharSlice(TracerConstants.Language); @@ -55,7 +56,7 @@ internal static ConfigurationResult GetConfiguration(string? handsOffLocalConfig NativeInterop.LibraryConfig.ConfiguratorWithFleetPath(configHandle, fleetPath.Value); } - var configurationResult = NativeInterop.LibraryConfig.ConfiguratorGet(configHandle); + configurationResult = NativeInterop.LibraryConfig.ConfiguratorGet(configHandle); var result = configurationResult.Result; if (configurationResult.Tag == ResultTag.Err) @@ -108,7 +109,7 @@ internal static ConfigurationResult GetConfiguration(string? handsOffLocalConfig if (libraryConfigs.HasValue) { - NativeInterop.LibraryConfig.LibraryConfigDrop(libraryConfigs.Value); + NativeInterop.LibraryConfig.LibraryConfigDrop(configurationResult); } if (configHandle != IntPtr.Zero) diff --git a/tracer/src/Datadog.Trace/LibDatadog/NativeInterop.cs b/tracer/src/Datadog.Trace/LibDatadog/NativeInterop.cs index c5b5b032d478..5d790dacdeaf 100644 --- a/tracer/src/Datadog.Trace/LibDatadog/NativeInterop.cs +++ b/tracer/src/Datadog.Trace/LibDatadog/NativeInterop.cs @@ -143,6 +143,6 @@ internal static extern TracerMemfdHandleResult StoreTracerMetadata( internal static extern void ConfiguratorDrop(IntPtr configurator); [DllImport(DllName, EntryPoint = "ddog_library_config_drop")] - internal static extern void LibraryConfigDrop(LibraryConfigs configs); + internal static extern void LibraryConfigDrop(LibraryConfigResult configs); } } From 9dd4764ec344138ebeb2e3edec52af1e6cdc960f Mon Sep 17 00:00:00 2001 From: Damien MEHALA Date: Tue, 23 Sep 2025 15:48:49 +0200 Subject: [PATCH 06/12] [skip ci] fix: update process discovery FFI --- .../ConfiguratorHelper.cs | 5 ++- .../Datadog.Trace/LibDatadog/NativeInterop.cs | 23 ++++++------ .../ServiceDiscovery/MetadataKind.cs | 22 ++++++++++++ .../ServiceDiscoveryHelper.cs | 36 +++++++++++++------ 4 files changed, 62 insertions(+), 24 deletions(-) create mode 100644 tracer/src/Datadog.Trace/LibDatadog/ServiceDiscovery/MetadataKind.cs diff --git a/tracer/src/Datadog.Trace/LibDatadog/HandsOffConfiguration/ConfiguratorHelper.cs b/tracer/src/Datadog.Trace/LibDatadog/HandsOffConfiguration/ConfiguratorHelper.cs index 2dab67792f27..753ca34487fe 100644 --- a/tracer/src/Datadog.Trace/LibDatadog/HandsOffConfiguration/ConfiguratorHelper.cs +++ b/tracer/src/Datadog.Trace/LibDatadog/HandsOffConfiguration/ConfiguratorHelper.cs @@ -35,7 +35,6 @@ internal static ConfigurationResult GetConfiguration(string? handsOffLocalConfig var configHandle = IntPtr.Zero; Error? resultError = null; LibraryConfigs? libraryConfigs = null; - LibraryConfigResult configurationResult = default; try { languageCs = new CharSlice(TracerConstants.Language); @@ -56,7 +55,7 @@ internal static ConfigurationResult GetConfiguration(string? handsOffLocalConfig NativeInterop.LibraryConfig.ConfiguratorWithFleetPath(configHandle, fleetPath.Value); } - configurationResult = NativeInterop.LibraryConfig.ConfiguratorGet(configHandle); + var configurationResult = NativeInterop.LibraryConfig.ConfiguratorGet(configHandle); var result = configurationResult.Result; if (configurationResult.Tag == ResultTag.Err) @@ -109,7 +108,7 @@ internal static ConfigurationResult GetConfiguration(string? handsOffLocalConfig if (libraryConfigs.HasValue) { - NativeInterop.LibraryConfig.LibraryConfigDrop(configurationResult); + NativeInterop.LibraryConfig.LibraryConfigDrop(libraryConfigs.Value); } if (configHandle != IntPtr.Zero) diff --git a/tracer/src/Datadog.Trace/LibDatadog/NativeInterop.cs b/tracer/src/Datadog.Trace/LibDatadog/NativeInterop.cs index 5d790dacdeaf..1dfe587d13c5 100644 --- a/tracer/src/Datadog.Trace/LibDatadog/NativeInterop.cs +++ b/tracer/src/Datadog.Trace/LibDatadog/NativeInterop.cs @@ -116,16 +116,17 @@ internal static class Common internal static class LibraryConfig { - [DllImport(DllName, EntryPoint = "ddog_store_tracer_metadata")] - internal static extern TracerMemfdHandleResult StoreTracerMetadata( - byte schemaVersion, - CharSlice runtimeId, - CharSlice tracerLanguage, - CharSlice tracerVersion, - CharSlice hostname, - CharSlice serviceName, - CharSlice serviceEnv, - CharSlice serviceVersion); + [DllImport(DllName, EntryPoint = "ddog_tracer_metadata_new")] + internal static extern IntPtr TracerMetadataNew(); + + [DllImport(DllName, EntryPoint = "ddog_tracer_metadata_free")] + internal static extern void TracerMetadataFree(IntPtr metadata); + + [DllImport(DllName, EntryPoint = "ddog_tracer_metadata_set")] + internal static extern void TracerMetadataSet(IntPtr metadata, MetadataKind kind, CString value); + + [DllImport(DllName, EntryPoint = "ddog_tracer_metadata_store")] + internal static extern TracerMemfdHandleResult StoreTracerMetadata(IntPtr metadata); [DllImport(DllName, EntryPoint = "ddog_library_configurator_new")] internal static extern IntPtr ConfiguratorNew(byte debugLogs, CharSlice language); @@ -143,6 +144,6 @@ internal static extern TracerMemfdHandleResult StoreTracerMetadata( internal static extern void ConfiguratorDrop(IntPtr configurator); [DllImport(DllName, EntryPoint = "ddog_library_config_drop")] - internal static extern void LibraryConfigDrop(LibraryConfigResult configs); + internal static extern void LibraryConfigDrop(LibraryConfigs configs); } } diff --git a/tracer/src/Datadog.Trace/LibDatadog/ServiceDiscovery/MetadataKind.cs b/tracer/src/Datadog.Trace/LibDatadog/ServiceDiscovery/MetadataKind.cs new file mode 100644 index 000000000000..2595cdc26bb3 --- /dev/null +++ b/tracer/src/Datadog.Trace/LibDatadog/ServiceDiscovery/MetadataKind.cs @@ -0,0 +1,22 @@ +// +// Unless explicitly stated otherwise all files in this repository are licensed under the Apache 2 License. +// This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc. +// + +#nullable enable +using System; + +namespace Datadog.Trace.LibDatadog.ServiceDiscovery; + +internal enum MetadataKind : int +{ + RuntimeId = 0, + TracerLanguage = 1, + TracerVersion = 2, + Hostname = 3, + ServiceName = 4, + ServiceEnvironment = 5, + ServiceVersion = 6, + ProcessTags = 7, + ContainerId = 8, +} diff --git a/tracer/src/Datadog.Trace/LibDatadog/ServiceDiscovery/ServiceDiscoveryHelper.cs b/tracer/src/Datadog.Trace/LibDatadog/ServiceDiscovery/ServiceDiscoveryHelper.cs index 5544f7d8bc3d..cc0a67bc4960 100644 --- a/tracer/src/Datadog.Trace/LibDatadog/ServiceDiscovery/ServiceDiscoveryHelper.cs +++ b/tracer/src/Datadog.Trace/LibDatadog/ServiceDiscovery/ServiceDiscoveryHelper.cs @@ -31,7 +31,6 @@ internal static StoreMetadataResult StoreTracerMetadata(TracerSettings tracerSet try { var result = StoreTracerMetadata( - 1, Tracer.RuntimeId, TracerConstants.Language, TracerConstants.ThreePartVersion, @@ -66,7 +65,6 @@ internal static StoreMetadataResult StoreTracerMetadata(TracerSettings tracerSet } private static TracerMemfdHandleResult StoreTracerMetadata( - byte schemaVersion, string runtimeId, string tracerLanguage, string tracerVersion, @@ -75,14 +73,32 @@ private static TracerMemfdHandleResult StoreTracerMetadata( string? serviceEnv, string? serviceVersion) { - using var runtimeIdCharSlice = new CharSlice(runtimeId); - using var tracerLanguageCharSlice = new CharSlice(tracerLanguage); - using var tracerVersionCharSlice = new CharSlice(tracerVersion); - using var hostnameCharSlice = new CharSlice(hostname); - using var serviceNameCharSlice = new CharSlice(serviceName); - using var serviceEnvCharSlice = new CharSlice(serviceEnv); - using var serviceVersionCharSlice = new CharSlice(serviceVersion); + IntPtr ptr = IntPtr.Zero; + try + { + ptr = NativeInterop.LibraryConfig.TracerMetadataNew(); + SetMetadata(ptr, MetadataKind.RuntimeId, runtimeId); + SetMetadata(ptr, MetadataKind.TracerLanguage, tracerLanguage); + SetMetadata(ptr, MetadataKind.TracerVersion, tracerVersion); + SetMetadata(ptr, MetadataKind.Hostname, hostname); + SetMetadata(ptr, MetadataKind.ServiceName, serviceName); + SetMetadata(ptr, MetadataKind.ServiceEnvironment, serviceEnv); + SetMetadata(ptr, MetadataKind.ServiceVersion, serviceVersion); - return NativeInterop.LibraryConfig.StoreTracerMetadata(schemaVersion, runtimeIdCharSlice, tracerLanguageCharSlice, tracerVersionCharSlice, hostnameCharSlice, serviceNameCharSlice, serviceEnvCharSlice, serviceVersionCharSlice); + return NativeInterop.LibraryConfig.StoreTracerMetadata(ptr); + } + finally + { + if (ptr != IntPtr.Zero) + { + NativeInterop.LibraryConfig.TracerMetadataFree(ptr); + } + } + + void SetMetadata(IntPtr ptr, MetadataKind kind, string? value) + { + using var valueCharSlice = new CString(value); + NativeInterop.LibraryConfig.TracerMetadataSet(ptr, kind, valueCharSlice); + } } } From 67241a8d7e7900166b70a5324b26c61362ede0af Mon Sep 17 00:00:00 2001 From: Gregory LEOCADIE Date: Tue, 7 Oct 2025 10:18:24 +0200 Subject: [PATCH 07/12] Changes according to libdatadog example --- .../ConfiguratorHelper.cs | 28 ++++++++----------- .../Datadog.Trace/LibDatadog/NativeInterop.cs | 2 +- 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/tracer/src/Datadog.Trace/LibDatadog/HandsOffConfiguration/ConfiguratorHelper.cs b/tracer/src/Datadog.Trace/LibDatadog/HandsOffConfiguration/ConfiguratorHelper.cs index 753ca34487fe..e09a68706f4d 100644 --- a/tracer/src/Datadog.Trace/LibDatadog/HandsOffConfiguration/ConfiguratorHelper.cs +++ b/tracer/src/Datadog.Trace/LibDatadog/HandsOffConfiguration/ConfiguratorHelper.cs @@ -33,8 +33,7 @@ internal static ConfigurationResult GetConfiguration(string? handsOffLocalConfig CString? localPath = null; CString? fleetPath = null; var configHandle = IntPtr.Zero; - Error? resultError = null; - LibraryConfigs? libraryConfigs = null; + LibraryConfigResult? configurationResult = null; try { languageCs = new CharSlice(TracerConstants.Language); @@ -55,18 +54,18 @@ internal static ConfigurationResult GetConfiguration(string? handsOffLocalConfig NativeInterop.LibraryConfig.ConfiguratorWithFleetPath(configHandle, fleetPath.Value); } - var configurationResult = NativeInterop.LibraryConfig.ConfiguratorGet(configHandle); - var result = configurationResult.Result; + configurationResult = NativeInterop.LibraryConfig.ConfiguratorGet(configHandle); + var result = configurationResult.Value.Result; - if (configurationResult.Tag == ResultTag.Err) + if (configurationResult.Value.Tag == ResultTag.Err) { - resultError = result.Error; - var error = resultError.Value.Message.ToUtf8String(); + var resultError = result.Error; + var error = resultError.Message.ToUtf8String(); return new ConfigurationResult(null, error, Result.LibDatadogCallError); } - libraryConfigs = result.Ok; - var configsLength = (int)libraryConfigs.Value.Length; + var libraryConfigs = result.Ok; + var configsLength = (int)libraryConfigs.Length; var configEntriesLocal = new Dictionary(); var configEntriesRemote = new Dictionary(); var structSize = Marshal.SizeOf(); @@ -74,7 +73,7 @@ internal static ConfigurationResult GetConfiguration(string? handsOffLocalConfig { unsafe { - var ptr = new IntPtr(libraryConfigs.Value.Ptr + (structSize * i)); + var ptr = new IntPtr(libraryConfigs.Ptr + (structSize * i)); var libraryConfig = (LibraryConfig*)ptr; var name = libraryConfig->Name.ToUtf8String(); var value = libraryConfig->Value.ToUtf8String(); @@ -100,15 +99,10 @@ internal static ConfigurationResult GetConfiguration(string? handsOffLocalConfig languageCs?.Dispose(); localPath?.Dispose(); fleetPath?.Dispose(); - if (resultError.HasValue) - { - var resultErrorValue = resultError.Value; - NativeInterop.Common.DropError(ref resultErrorValue); - } - if (libraryConfigs.HasValue) + if (configurationResult.HasValue) { - NativeInterop.LibraryConfig.LibraryConfigDrop(libraryConfigs.Value); + NativeInterop.LibraryConfig.LibraryConfigDrop(configurationResult.Value); } if (configHandle != IntPtr.Zero) diff --git a/tracer/src/Datadog.Trace/LibDatadog/NativeInterop.cs b/tracer/src/Datadog.Trace/LibDatadog/NativeInterop.cs index 1dfe587d13c5..833214b006fb 100644 --- a/tracer/src/Datadog.Trace/LibDatadog/NativeInterop.cs +++ b/tracer/src/Datadog.Trace/LibDatadog/NativeInterop.cs @@ -144,6 +144,6 @@ internal static class LibraryConfig internal static extern void ConfiguratorDrop(IntPtr configurator); [DllImport(DllName, EntryPoint = "ddog_library_config_drop")] - internal static extern void LibraryConfigDrop(LibraryConfigs configs); + internal static extern void LibraryConfigDrop(LibraryConfigResult configs); } } From c45066c527312c0872135fc7e5e0c7b5324e1719 Mon Sep 17 00:00:00 2001 From: Gregory LEOCADIE Date: Tue, 7 Oct 2025 10:40:10 +0200 Subject: [PATCH 08/12] Add mising logs field --- .../HandsOffConfiguration/InteropStructs/LibraryConfigs.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/tracer/src/Datadog.Trace/LibDatadog/HandsOffConfiguration/InteropStructs/LibraryConfigs.cs b/tracer/src/Datadog.Trace/LibDatadog/HandsOffConfiguration/InteropStructs/LibraryConfigs.cs index 4cbe3497e190..74882b42b1e8 100644 --- a/tracer/src/Datadog.Trace/LibDatadog/HandsOffConfiguration/InteropStructs/LibraryConfigs.cs +++ b/tracer/src/Datadog.Trace/LibDatadog/HandsOffConfiguration/InteropStructs/LibraryConfigs.cs @@ -14,4 +14,5 @@ internal struct LibraryConfigs public nint Ptr; // const LibraryConfig* public nuint Length; public nuint Capacity; + public CString Logs; // ffi::CString } From 1620c049f44a79212457e31775e3968d15969970 Mon Sep 17 00:00:00 2001 From: Gregory LEOCADIE Date: Wed, 8 Oct 2025 10:47:24 +0200 Subject: [PATCH 09/12] Enable by default telemetry on mock agent --- tracer/test/Datadog.Trace.TestHelpers/MockTracerAgent.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tracer/test/Datadog.Trace.TestHelpers/MockTracerAgent.cs b/tracer/test/Datadog.Trace.TestHelpers/MockTracerAgent.cs index d8e902ee19a3..7c7411a82356 100644 --- a/tracer/test/Datadog.Trace.TestHelpers/MockTracerAgent.cs +++ b/tracer/test/Datadog.Trace.TestHelpers/MockTracerAgent.cs @@ -113,7 +113,7 @@ protected MockTracerAgent(bool telemetryEnabled, TestTransports transport) /// public bool ShouldDeserializeTraces { get; set; } = true; - public static TcpUdpAgent Create(ITestOutputHelper output, int? port = null, int retries = 5, bool useStatsd = false, bool doNotBindPorts = false, int? requestedStatsDPort = null, bool useTelemetry = false, AgentConfiguration agentConfiguration = null) + public static TcpUdpAgent Create(ITestOutputHelper output, int? port = null, int retries = 5, bool useStatsd = false, bool doNotBindPorts = false, int? requestedStatsDPort = null, bool useTelemetry = true, AgentConfiguration agentConfiguration = null) => new TcpUdpAgent(port, retries, useStatsd, doNotBindPorts, requestedStatsDPort, useTelemetry) { Output = output, Configuration = agentConfiguration ?? new() }; #if NETCOREAPP3_1_OR_GREATER From a8699e9c2f6fcfeca379e89e30404b6d2f1527c9 Mon Sep 17 00:00:00 2001 From: Gregory LEOCADIE Date: Wed, 5 Nov 2025 14:21:24 +0100 Subject: [PATCH 10/12] Bump to v23.0.0 --- build/cmake/FindLibdatadog.cmake | 14 +++++++------- build/vcpkg_local_ports/libdatadog/portfile.cmake | 4 ++-- build/vcpkg_local_ports/libdatadog/vcpkg.json | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/build/cmake/FindLibdatadog.cmake b/build/cmake/FindLibdatadog.cmake index 1770fe03c201..97c1279dabcd 100644 --- a/build/cmake/FindLibdatadog.cmake +++ b/build/cmake/FindLibdatadog.cmake @@ -4,12 +4,12 @@ endif() include(FetchContent) -set(LIBDATADOG_VERSION "v22.0.1" CACHE STRING "libdatadog version") +set(LIBDATADOG_VERSION "v23.0.0" CACHE STRING "libdatadog version") if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") # For Darwin, we'll download both architectures and combine them - set(SHA256_LIBDATADOG_ARM64 "36145902ed4d4cc9745315671f9ec5d33b7b1b3d76588353dfa79acd2e5f463a" CACHE STRING "libdatadog arm64 sha256") - set(SHA256_LIBDATADOG_X86_64 "afb55ef719d6f74b9240b5ea5b5afcddd532b03a620c25bfb978188bc081ecf9" CACHE STRING "libdatadog x86_64 sha256") + set(SHA256_LIBDATADOG_ARM64 "10e14157f51feb3338d6a4338aaa22c68a7f3871408b98a613c9b848bb9f67c9" CACHE STRING "libdatadog arm64 sha256") + set(SHA256_LIBDATADOG_X86_64 "9d1596c241e33fde4cc99b5e16bbba85696c02c6d33ee416b0b1267b921a4fb2" CACHE STRING "libdatadog x86_64 sha256") set(FILE_TO_DOWNLOAD_ARM64 libdatadog-aarch64-apple-darwin.tar.gz) set(FILE_TO_DOWNLOAD_X86_64 libdatadog-x86_64-apple-darwin.tar.gz) @@ -62,18 +62,18 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") else() if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64") if(DEFINED ENV{IsAlpine} AND "$ENV{IsAlpine}" MATCHES "true") - set(SHA256_LIBDATADOG "1a9ace8904db9e5232732d43ec72b7c796866059614abec254b4c2c91665a5d0" CACHE STRING "libdatadog sha256") + set(SHA256_LIBDATADOG "01b4913bbbd3780c813bc1a59f6e5626a12d1846318552fc04e65754a32ccf87" CACHE STRING "libdatadog sha256") set(FILE_TO_DOWNLOAD libdatadog-aarch64-alpine-linux-musl.tar.gz) else() - set(SHA256_LIBDATADOG "ec79b9a0b8d0163c04058c28455d083dc518ffdec9870698d87187abe059a825" CACHE STRING "libdatadog sha256") + set(SHA256_LIBDATADOG "04f243b103817018ea438a3282c7e1e0b8e20fd2297000fb2d7edb6fbff5c3b2" CACHE STRING "libdatadog sha256") set(FILE_TO_DOWNLOAD libdatadog-aarch64-unknown-linux-gnu.tar.gz) endif() else() if(DEFINED ENV{IsAlpine} AND "$ENV{IsAlpine}" MATCHES "true") - set(SHA256_LIBDATADOG "c44cfc89d65b3e46964dccbf98508caf3e1897a295f6bdb798b65b692c74d520" CACHE STRING "libdatadog sha256") + set(SHA256_LIBDATADOG "adc56b0a5f8d7808ca6d9bc59c563fbcaa013a1da4f21db7d7b217bfa2037a01" CACHE STRING "libdatadog sha256") set(FILE_TO_DOWNLOAD libdatadog-${CMAKE_SYSTEM_PROCESSOR}-alpine-linux-musl.tar.gz) else() - set(SHA256_LIBDATADOG "803c96e0d96e129d2dafd151d4d1209c7ad5d05e5002702ea0cd322a2133190a" CACHE STRING "libdatadog sha256") + set(SHA256_LIBDATADOG "c2db57b42d9808130fd2882fdf30e4fe955cd9dc3c27a7c68f663cfb0e940385" CACHE STRING "libdatadog sha256") set(FILE_TO_DOWNLOAD libdatadog-${CMAKE_SYSTEM_PROCESSOR}-unknown-linux-gnu.tar.gz) endif() endif() diff --git a/build/vcpkg_local_ports/libdatadog/portfile.cmake b/build/vcpkg_local_ports/libdatadog/portfile.cmake index 641a896cdecf..dbbc3099c02c 100644 --- a/build/vcpkg_local_ports/libdatadog/portfile.cmake +++ b/build/vcpkg_local_ports/libdatadog/portfile.cmake @@ -3,11 +3,11 @@ set(LIBDATADOG_VERSION ${VERSION}) if(TARGET_TRIPLET STREQUAL "x64-windows" OR TARGET_TRIPLET STREQUAL "x64-windows-static") set(PLATFORM "x64") - set(LIBDATADOG_HASH "fdc6e5f35342e8a8c0b4ca1e1b0e1a31cdbb82767428d491db2a93a1221c1fc3b3c774b827ab8edc2af2e77b9edffc99a289060abbb457b125d9e38bb090424d") + set(LIBDATADOG_HASH "d9ea259ad2b85bb0e560d4316a410dc0d0b769fe52a7adcabd4226b000e6262159190bb0c3027856e048bba064255b89d0a594b5a414b7bd6b715e72debc393f") elseif(TARGET_TRIPLET STREQUAL "x86-windows" OR TARGET_TRIPLET STREQUAL "x86-windows-static") set(PLATFORM "x86") - set(LIBDATADOG_HASH "b8acc35088a94f3e0547596dc761d3fc472b4cb73e7a7e141650f289f3e0ffee12a32705b4e3bfa20c94a1463c9d2d31106152fce07b1b8d7408394d866e2856") + set(LIBDATADOG_HASH "7aaeb29fc9c522dcc8f3d7be90da14ef6052c756a1f162a241b17b109b6e92d0096345e2d22db05083b652e4f06eb29d15d8ba3fd191a1afbf0409da42c95185") else() message(FATAL_ERROR "Unsupported triplet: ${TARGET_TRIPLET}") endif() diff --git a/build/vcpkg_local_ports/libdatadog/vcpkg.json b/build/vcpkg_local_ports/libdatadog/vcpkg.json index 088b96ed58ad..2d90b19cf1e4 100644 --- a/build/vcpkg_local_ports/libdatadog/vcpkg.json +++ b/build/vcpkg_local_ports/libdatadog/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libdatadog", - "version-string": "22.0.1", + "version-string": "23.0.0", "description": "Package providing libdatadog prebuilt binaries for Windows only.", "dependencies": [] } From 378daa1da701490c27c058db3c21e5b7e06f636a Mon Sep 17 00:00:00 2001 From: Gregory LEOCADIE Date: Wed, 5 Nov 2025 14:36:19 +0100 Subject: [PATCH 11/12] TO BE REMOVED: check that system-tests are ok --- .azure-pipelines/ultimate-pipeline.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.azure-pipelines/ultimate-pipeline.yml b/.azure-pipelines/ultimate-pipeline.yml index 510251e089d5..98efa8fd01d2 100644 --- a/.azure-pipelines/ultimate-pipeline.yml +++ b/.azure-pipelines/ultimate-pipeline.yml @@ -4734,7 +4734,7 @@ stages: versionSpec: '3.12' displayName: Install python 3.12 - - script: git clone --depth 1 https://github.com/DataDog/system-tests.git + - script: git clone -b gleocadie/disable-test-discovery-test-for-dotnet --depth 1 https://github.com/DataDog/system-tests.git displayName: Get system tests repo - script: | @@ -4836,7 +4836,7 @@ stages: versionSpec: '3.12' displayName: Install python 3.12 - - script: git clone --depth 1 https://github.com/DataDog/system-tests.git + - script: git clone -b gleocadie/disable-test-discovery-test-for-dotnet --depth 1 https://github.com/DataDog/system-tests.git displayName: Get system tests repo - template: steps/download-artifact.yml From 48c3b9da268c5d9e278706b6b24109856cad9c89 Mon Sep 17 00:00:00 2001 From: Gregory LEOCADIE Date: Thu, 6 Nov 2025 15:28:55 +0100 Subject: [PATCH 12/12] Add support for Zstd --- .../Datadog.Profiler.IntegrationTests.csproj | 1 + .../Helpers/SamplesHelper.cs | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/profiler/test/Datadog.Profiler.IntegrationTests/Datadog.Profiler.IntegrationTests.csproj b/profiler/test/Datadog.Profiler.IntegrationTests/Datadog.Profiler.IntegrationTests.csproj index a730b8acc7f6..511199f4e871 100644 --- a/profiler/test/Datadog.Profiler.IntegrationTests/Datadog.Profiler.IntegrationTests.csproj +++ b/profiler/test/Datadog.Profiler.IntegrationTests/Datadog.Profiler.IntegrationTests.csproj @@ -86,6 +86,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive all + diff --git a/profiler/test/Datadog.Profiler.IntegrationTests/Helpers/SamplesHelper.cs b/profiler/test/Datadog.Profiler.IntegrationTests/Helpers/SamplesHelper.cs index 3c27d30db31b..c0160e6085ed 100644 --- a/profiler/test/Datadog.Profiler.IntegrationTests/Helpers/SamplesHelper.cs +++ b/profiler/test/Datadog.Profiler.IntegrationTests/Helpers/SamplesHelper.cs @@ -11,12 +11,14 @@ using K4os.Compression.LZ4.Streams; using Perftools.Profiles; using Xunit; +using ZstdSharp; namespace Datadog.Profiler.IntegrationTests.Helpers { public static class SamplesHelper { private static readonly byte[] Lz4MagicNumber = BitConverter.GetBytes(0x184D2204); + private static readonly byte[] ZstdMagicNumber = BitConverter.GetBytes(0xFD2FB528); public static int GetSamplesCount(string directory) { @@ -213,6 +215,10 @@ private static Stream GetStream(string filename) { return LZ4Stream.Decode(s); } + else if (ZstdMagicNumber.SequenceEqual(buffer)) + { + return new DecompressionStream(s); + } else { return s;