diff --git a/ddtrace/internal/datadog/profiling/cmake/FindLibdatadog.cmake b/ddtrace/internal/datadog/profiling/cmake/FindLibdatadog.cmake index 3a96fbeb353..bb4692fc60a 100644 --- a/ddtrace/internal/datadog/profiling/cmake/FindLibdatadog.cmake +++ b/ddtrace/internal/datadog/profiling/cmake/FindLibdatadog.cmake @@ -17,17 +17,20 @@ include(FetchContent) # Set version if not already set if(NOT DEFINED TAG_LIBDATADOG) set(TAG_LIBDATADOG - "v14.3.1" + "v16.0.3" CACHE STRING "libdatadog github tag") endif() if(NOT DEFINED DD_CHECKSUMS) set(DD_CHECKSUMS - "57f83aff275628bb1af89c22bb4bd696726daf2a9e09b6cd0d966b29e65a7ad6 libdatadog-aarch64-alpine-linux-musl.tar.gz" - "2be2efa98dfc32f109abdd79242a8e046a7a300c77634135eb293e000ecd4a4c libdatadog-aarch64-apple-darwin.tar.gz" - "36db8d50ccabb71571158ea13835c0f1d05d30b32135385f97c16343cfb6ddd4 libdatadog-aarch64-unknown-linux-gnu.tar.gz" - "2f61fd21cf2f8147743e414b4a8c77250a17be3aecc42a69ffe54f0a603d5c92 libdatadog-x86_64-alpine-linux-musl.tar.gz" - "f01f05600591063eba4faf388f54c155ab4e6302e5776c7855e3734955f7daf7 libdatadog-x86_64-unknown-linux-gnu.tar.gz") + "dd08d3a4dbbd765392121d27b790d7818e80dd28500b554db16e9186b1025ba9 libdatadog-aarch64-alpine-linux-musl.tar.gz" + "2d7933e09dc39706e9c99c7edcff5c60f7567ea2777157596de828f62f39035b libdatadog-aarch64-apple-darwin.tar.gz" + "decc01a2e0f732cabcc56594429a3dbc13678070e07f24891555dcc02df2e516 libdatadog-aarch64-unknown-linux-gnu.tar.gz" + "fdf4e188d0e92150ad2fbb22e65a645d86d8a4eb04bbd9754683ae1adaf48eb4 libdatadog-i686-alpine-linux-musl.tar.gz" + "63ace200493cd8e108be11cbf5ba19b5bd9a2e1cb730bdefd0a14ae217b716f5 libdatadog-i686-unknown-linux-gnu.tar.gz" + "8e09afd3cfb5ace85501f37b4bd6378299ebbf71189ccc2173169998b75b4b56 libdatadog-x86_64-alpine-linux-musl.tar.gz" + "ced5db61e0ca8e974b9d59b0b6833c28e19445a3e4ec3c548fda965806c17560 libdatadog-x86_64-apple-darwin.tar.gz" + "caaec84fc9afbcb3ec4618791b3c3f1ead65196009e9f07fd382e863dc3bdc66 libdatadog-x86_64-unknown-linux-gnu.tar.gz") endif() # Determine platform-specific tarball name in a way that conforms to the libdatadog naming scheme in Github releases diff --git a/ddtrace/internal/datadog/profiling/dd_wrapper/src/sample.cpp b/ddtrace/internal/datadog/profiling/dd_wrapper/src/sample.cpp index 4483a021803..443771b06c4 100644 --- a/ddtrace/internal/datadog/profiling/dd_wrapper/src/sample.cpp +++ b/ddtrace/internal/datadog/profiling/dd_wrapper/src/sample.cpp @@ -61,7 +61,7 @@ Datadog::Sample::profile_clear_state() void Datadog::Sample::push_frame_impl(std::string_view name, std::string_view filename, uint64_t address, int64_t line) { - static const ddog_prof_Mapping null_mapping = { 0, 0, 0, to_slice(""), to_slice("") }; + static const ddog_prof_Mapping null_mapping = { 0, 0, 0, to_slice(""), { 0 }, to_slice(""), { 0 } }; name = string_storage.insert(name); filename = string_storage.insert(filename); @@ -71,8 +71,11 @@ Datadog::Sample::push_frame_impl(std::string_view name, std::string_view filenam .mapping = null_mapping, // No support for mappings in Python .function = { .name = to_slice(name), + .name_id = { 0 }, .system_name = {}, // No support for system_name in Python + .system_name_id = { 0 }, .filename = to_slice(filename), + .filename_id = { 0 }, .start_line = 0, // We don't know the start_line for the function }, .address = address, diff --git a/releasenotes/notes/upgrade-libdatadog-v16-0-3-c47ce9b03c69cb63.yaml b/releasenotes/notes/upgrade-libdatadog-v16-0-3-c47ce9b03c69cb63.yaml new file mode 100644 index 00000000000..43396d077c4 --- /dev/null +++ b/releasenotes/notes/upgrade-libdatadog-v16-0-3-c47ce9b03c69cb63.yaml @@ -0,0 +1,4 @@ +--- +upgrade: + - | + Bumps libdatadog dependency to v16.0.3. \ No newline at end of file diff --git a/src/core/Cargo.lock b/src/core/Cargo.lock index f840798f96e..ba3b416241b 100644 --- a/src/core/Cargo.lock +++ b/src/core/Cargo.lock @@ -28,14 +28,24 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "datadog-ddsketch" -version = "14.3.1" -source = "git+https://github.com/DataDog/libdatadog?rev=v14.3.1#48240f2588665a03c2061879345566ec7e70fabf" +version = "16.0.3" +source = "git+https://github.com/DataDog/libdatadog?rev=v16.0.3#ce8c536ddef78a49142fe4a6c77ab0a1263c1018" dependencies = [ "prost", ] [[package]] -name = "ddtrace-core" +name = "datadog-library-config" +version = "0.0.1" +source = "git+https://github.com/DataDog/libdatadog?rev=v16.0.3#ce8c536ddef78a49142fe4a6c77ab0a1263c1018" +dependencies = [ + "anyhow", + "serde", + "serde_yaml", +] + +[[package]] +name = "ddtrace-native" version = "0.1.0" dependencies = [ "datadog-ddsketch", diff --git a/src/core/Cargo.toml b/src/core/Cargo.toml index 94eeb6d7a3e..74d17a683e3 100644 --- a/src/core/Cargo.toml +++ b/src/core/Cargo.toml @@ -10,7 +10,8 @@ opt-level = 3 [dependencies] pyo3 = { version = "0.22.3", features = ["extension-module"] } -datadog-ddsketch = { git = "https://github.com/DataDog/libdatadog", rev = "v14.3.1" } +datadog-ddsketch = { git = "https://github.com/DataDog/libdatadog", rev = "v16.0.3" } +datadog-library-config = { git = "https://github.com/DataDog/libdatadog", rev = "v16.0.3" } [build-dependencies] pyo3-build-config = "0.21.2"