From 8221b6f38806bca61b37e0255d9db020e1cb51c3 Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Sat, 7 Mar 2026 14:35:10 +0100 Subject: [PATCH 01/15] Update libdatadog Signed-off-by: Bob Weinand --- Cargo.lock | 603 ++++++++---------- components-rs/common.h | 30 +- components-rs/crashtracker.h | 46 +- components-rs/sidecar.h | 2 +- libdatadog | 2 +- .../agent_sampling_sidecar.phpt | 3 +- tests/ext/crashtracker_segfault.phpt | 2 +- .../debugger_span_decoration_probe.phpt | 2 +- 8 files changed, 332 insertions(+), 358 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7fa7a3447f6..25dc4acb245 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "addr2line" @@ -159,18 +159,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "assert-type-eq" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd49a41856ee21a0cfb2b1cfbfcca0f1d3e6c257c38939f0d6ecfaf177f2ea47" - -[[package]] -name = "assert_matches" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" - [[package]] name = "assert_no_alloc" version = "1.1.2" @@ -319,7 +307,7 @@ dependencies = [ "addr2line", "cfg-if", "libc 0.2.177", - "miniz_oxide", + "miniz_oxide 0.8.3", "object 0.36.7", "rustc-demangle", "windows-targets 0.52.6", @@ -405,15 +393,15 @@ checksum = "a1d084b0137aaa901caf9f1e8b21daa6aa24d41cd806e111335541eff9683bd6" [[package]] name = "blazesym" -version = "0.2.0-rc.5" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95824d1dd4f20b4a4dfa63b72954e81914a718357231468180b30314e85057fa" +checksum = "48ceccc54b9c3e60e5f36b0498908c8c0f87387229cb0e0e5d65a074e00a8ba4" dependencies = [ - "cpp_demangle", + "cpp_demangle 0.5.1", "gimli 0.32.0", "libc 0.2.177", "memmap2", - "miniz_oxide", + "miniz_oxide 0.9.0", "rustc-demangle", ] @@ -562,9 +550,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.9.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" +checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" dependencies = [ "serde", ] @@ -951,6 +939,15 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "cpp_demangle" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0667304c32ea56cb4cd6d2d7c0cfe9a2f8041229db8c033af7f8d69492429def" +dependencies = [ + "cfg-if", +] + [[package]] name = "cpu-time" version = "1.0.0" @@ -1025,6 +1022,12 @@ dependencies = [ "itertools 0.10.5", ] +[[package]] +name = "critical-section" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" + [[package]] name = "crossbeam-channel" version = "0.5.15" @@ -1208,6 +1211,12 @@ dependencies = [ "syn 2.0.96", ] +[[package]] +name = "data-encoding" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" + [[package]] name = "datadog-ffe" version = "1.0.0" @@ -1234,28 +1243,24 @@ name = "datadog-ipc" version = "0.1.0" dependencies = [ "anyhow", - "bytes", + "bincode", "criterion", "datadog-ipc-macros", "futures", "glibc_version", "io-lifetimes", "libc 0.2.177", - "libdd-common 1.1.0", + "libdd-common 2.0.0", "libdd-tinybytes", "memfd", "nix 0.29.0", "page_size", - "pin-project", "pretty_assertions", "sendfd", "serde", "spawn_worker", - "tarpc", "tempfile", "tokio", - "tokio-serde", - "tokio-util", "tracing", "tracing-subscriber", "winapi 0.3.9", @@ -1266,6 +1271,8 @@ dependencies = [ name = "datadog-ipc-macros" version = "0.0.1" dependencies = [ + "heck 0.5.0", + "proc-macro2", "quote", "syn 2.0.96", ] @@ -1275,14 +1282,15 @@ name = "datadog-live-debugger" version = "0.0.1" dependencies = [ "anyhow", + "bytes", "constcat", + "http", "http-body-util", - "hyper 1.6.0", - "libdd-common 1.1.0", + "libdd-common 2.0.0", "libdd-data-pipeline", "percent-encoding 2.3.1", "regex", - "regex-automata 0.4.9", + "regex-automata", "serde", "serde_json", "smallvec", @@ -1297,7 +1305,7 @@ version = "0.0.1" dependencies = [ "build_common", "datadog-live-debugger", - "libdd-common 1.1.0", + "libdd-common 2.0.0", "libdd-common-ffi", "log 0.4.25", "percent-encoding 2.3.1", @@ -1328,7 +1336,7 @@ dependencies = [ "lazy_static", "libc 0.2.177", "libdd-alloc", - "libdd-common 1.1.0 (git+https://github.com/DataDog/libdatadog?tag=v27.0.0)", + "libdd-common 1.1.0", "libdd-library-config-ffi", "libdd-profiling", "log 0.4.25", @@ -1359,7 +1367,7 @@ dependencies = [ "http-body-util", "hyper 1.6.0", "hyper-util", - "libdd-common 1.1.0", + "libdd-common 2.0.0", "libdd-trace-protobuf", "manual_future", "regex", @@ -1393,9 +1401,8 @@ dependencies = [ "http", "http-body-util", "httpmock", - "hyper 1.6.0", "libc 0.2.177", - "libdd-common 1.1.0", + "libdd-common 2.0.0", "libdd-common-ffi", "libdd-crashtracker", "libdd-crashtracker-ffi", @@ -1440,7 +1447,7 @@ dependencies = [ "datadog-sidecar", "http", "libc 0.2.177", - "libdd-common 1.1.0", + "libdd-common 2.0.0", "libdd-common-ffi", "libdd-crashtracker-ffi", "libdd-dogstatsd-client", @@ -1483,7 +1490,7 @@ dependencies = [ "itertools 0.11.0", "lazy_static", "libc 0.2.177", - "libdd-common 1.1.0", + "libdd-common 2.0.0", "libdd-common-ffi", "libdd-crashtracker-ffi", "libdd-library-config-ffi", @@ -1494,7 +1501,7 @@ dependencies = [ "log 0.4.25", "paste", "regex", - "regex-automata 0.4.9", + "regex-automata", "serde", "serde_json", "serde_with", @@ -1618,18 +1625,6 @@ version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" -[[package]] -name = "educe" -version = "0.4.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f0042ff8246a363dbe77d2ceedb073339e85a804b9a47636c6e016a9a32c05f" -dependencies = [ - "enum-ordinalize", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "either" version = "1.13.0" @@ -1646,13 +1641,12 @@ dependencies = [ ] [[package]] -name = "enum-ordinalize" -version = "3.1.15" +name = "enum-as-inner" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bf1fa3f06bbff1ea5b1a9c7b14aa992a39657db60a2759457328d7e058f49ee" +checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" dependencies = [ - "num-bigint", - "num-traits", + "heck 0.5.0", "proc-macro2", "quote", "syn 2.0.96", @@ -1698,9 +1692,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "erased-serde" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3" +checksum = "d2add8a07dd6a8d93ff627029c51de145e12686fbc36ecb298ac22e74cf02dec" dependencies = [ "serde", "serde_core", @@ -1780,7 +1774,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" dependencies = [ "crc32fast", - "miniz_oxide", + "miniz_oxide 0.8.3", ] [[package]] @@ -1917,22 +1911,6 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" -[[package]] -name = "futures-test" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5961fb6311645f46e2cdc2964a8bfae6743fd72315eaec181a71ae3eb2467113" -dependencies = [ - "futures-core", - "futures-executor", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "futures-util", - "pin-project", -] - [[package]] name = "futures-timer" version = "3.0.3" @@ -2182,6 +2160,52 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "hickory-proto" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502" +dependencies = [ + "async-trait", + "cfg-if", + "data-encoding", + "enum-as-inner", + "futures-channel", + "futures-io", + "futures-util", + "idna 1.0.3", + "ipnet", + "once_cell", + "rand 0.9.0", + "ring", + "thiserror 2.0.12", + "tinyvec", + "tokio", + "tracing", + "url 2.5.4", +] + +[[package]] +name = "hickory-resolver" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a" +dependencies = [ + "cfg-if", + "futures-util", + "hickory-proto", + "ipconfig", + "moka", + "once_cell", + "parking_lot", + "rand 0.9.0", + "resolv-conf", + "smallvec", + "thiserror 2.0.12", + "tokio", + "tracing", +] + [[package]] name = "home" version = "0.5.9" @@ -2583,12 +2607,6 @@ dependencies = [ "rustversion", ] -[[package]] -name = "integer-encoding" -version = "3.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02" - [[package]] name = "io-lifetimes" version = "1.0.11" @@ -2600,6 +2618,18 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "ipconfig" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" +dependencies = [ + "socket2 0.5.10", + "widestring", + "windows-sys 0.48.0", + "winreg", +] + [[package]] name = "ipnet" version = "2.11.0" @@ -2776,9 +2806,9 @@ dependencies = [ [[package]] name = "libdd-common" version = "1.1.0" +source = "git+https://github.com/DataDog/libdatadog?tag=v27.0.0#72e56a3dcf9189a92db1f177c4c9d844725079f7" dependencies = [ "anyhow", - "bytes", "cc", "const_format", "futures", @@ -2792,11 +2822,9 @@ dependencies = [ "hyper 1.6.0", "hyper-rustls", "hyper-util", - "indexmap 2.12.1", "libc 0.2.177", - "maplit", "mime 0.3.17", - "multer", + "multipart", "nix 0.29.0", "pin-project", "rand 0.8.5", @@ -2806,7 +2834,6 @@ dependencies = [ "rustls-native-certs", "serde", "static_assertions", - "tempfile", "thiserror 1.0.69", "tokio", "tokio-rustls", @@ -2816,10 +2843,10 @@ dependencies = [ [[package]] name = "libdd-common" -version = "1.1.0" -source = "git+https://github.com/DataDog/libdatadog?tag=v27.0.0#72e56a3dcf9189a92db1f177c4c9d844725079f7" +version = "2.0.0" dependencies = [ "anyhow", + "bytes", "cc", "const_format", "futures", @@ -2833,9 +2860,11 @@ dependencies = [ "hyper 1.6.0", "hyper-rustls", "hyper-util", + "indexmap 2.12.1", "libc 0.2.177", + "maplit", "mime 0.3.17", - "multipart", + "multer", "nix 0.29.0", "pin-project", "rand 0.8.5", @@ -2845,6 +2874,7 @@ dependencies = [ "rustls-native-certs", "serde", "static_assertions", + "tempfile", "thiserror 1.0.69", "tokio", "tokio-rustls", @@ -2864,7 +2894,7 @@ dependencies = [ "crossbeam-queue", "function_name", "hyper 1.6.0", - "libdd-common 1.1.0", + "libdd-common 2.0.0", "serde", ] @@ -2883,7 +2913,7 @@ dependencies = [ "goblin", "http", "libc 0.2.177", - "libdd-common 1.1.0", + "libdd-common 2.0.0", "libdd-telemetry", "nix 0.29.0", "num-derive", @@ -2912,7 +2942,7 @@ dependencies = [ "build_common", "function_name", "libc 0.2.177", - "libdd-common 1.1.0", + "libdd-common 2.0.0", "libdd-common-ffi", "libdd-crashtracker", "serde", @@ -2925,7 +2955,7 @@ dependencies = [ [[package]] name = "libdd-data-pipeline" -version = "1.0.0" +version = "2.0.0" dependencies = [ "anyhow", "arc-swap", @@ -2936,9 +2966,7 @@ dependencies = [ "http", "http-body-util", "httpmock", - "hyper 1.6.0", - "hyper-util", - "libdd-common 1.1.0", + "libdd-common 2.0.0", "libdd-ddsketch", "libdd-dogstatsd-client", "libdd-log", @@ -2962,7 +2990,7 @@ dependencies = [ [[package]] name = "libdd-ddsketch" -version = "1.0.0" +version = "1.0.1" dependencies = [ "prost", "prost-build", @@ -2971,12 +2999,12 @@ dependencies = [ [[package]] name = "libdd-dogstatsd-client" -version = "1.0.0" +version = "1.0.1" dependencies = [ "anyhow", "cadence", "http", - "libdd-common 1.1.0", + "libdd-common 2.0.0", "serde", "tokio", "tracing", @@ -2987,12 +3015,16 @@ name = "libdd-library-config" version = "1.0.0" dependencies = [ "anyhow", + "libdd-trace-protobuf", "memfd", + "prost", "rand 0.8.5", "rmp", "rmp-serde", + "rustix 1.1.3", "serde", "serde_yaml", + "serial_test", "tempfile", ] @@ -3003,7 +3035,7 @@ dependencies = [ "anyhow", "build_common", "constcat", - "libdd-common 1.1.0", + "libdd-common 2.0.0", "libdd-common-ffi", "libdd-library-config", "tempfile", @@ -3040,7 +3072,7 @@ dependencies = [ "httparse", "indexmap 2.12.1", "libdd-alloc", - "libdd-common 1.1.0 (git+https://github.com/DataDog/libdatadog?tag=v27.0.0)", + "libdd-common 1.1.0", "libdd-profiling-protobuf", "mime 0.3.17", "parking_lot", @@ -3067,7 +3099,7 @@ dependencies = [ [[package]] name = "libdd-telemetry" -version = "2.0.0" +version = "3.0.0" dependencies = [ "anyhow", "base64 0.22.1", @@ -3075,10 +3107,8 @@ dependencies = [ "hashbrown 0.15.2", "http", "http-body-util", - "hyper 1.6.0", - "hyper-util", "libc 0.2.177", - "libdd-common 1.1.0", + "libdd-common 2.0.0", "libdd-ddsketch", "serde", "serde_json", @@ -3098,7 +3128,7 @@ dependencies = [ "build_common", "function_name", "libc 0.2.177", - "libdd-common 1.1.0", + "libdd-common 2.0.0", "libdd-common-ffi", "libdd-telemetry", "paste", @@ -3121,7 +3151,7 @@ dependencies = [ [[package]] name = "libdd-trace-normalization" -version = "1.0.0" +version = "1.0.1" dependencies = [ "anyhow", "arbitrary", @@ -3133,7 +3163,7 @@ dependencies = [ [[package]] name = "libdd-trace-protobuf" -version = "1.0.0" +version = "1.1.0" dependencies = [ "prost", "prost-build", @@ -3146,7 +3176,7 @@ dependencies = [ [[package]] name = "libdd-trace-stats" -version = "1.0.0" +version = "1.0.1" dependencies = [ "criterion", "hashbrown 0.15.2", @@ -3158,7 +3188,7 @@ dependencies = [ [[package]] name = "libdd-trace-utils" -version = "1.0.0" +version = "2.0.0" dependencies = [ "anyhow", "bolero", @@ -3169,11 +3199,12 @@ dependencies = [ "flate2", "futures", "http", + "http-body", "http-body-util", "httpmock", "hyper 1.6.0", "indexmap 2.12.1", - "libdd-common 1.1.0", + "libdd-common 2.0.0", "libdd-tinybytes", "libdd-trace-normalization", "libdd-trace-protobuf", @@ -3287,11 +3318,11 @@ checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" [[package]] name = "matchers" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" dependencies = [ - "regex-automata 0.1.10", + "regex-automata", ] [[package]] @@ -3414,6 +3445,15 @@ name = "miniz_oxide" version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" +dependencies = [ + "adler2", +] + +[[package]] +name = "miniz_oxide" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5faa9f23e86bd5768d76def086192ff5f869fb088da12a976ea21e9796b975f6" dependencies = [ "adler2", "simd-adler32", @@ -3446,6 +3486,23 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41f5c9112cb662acd3b204077e0de5bc66305fa8df65c8019d5adb10e9ab6e58" +[[package]] +name = "moka" +version = "0.12.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85f8024e1c8e71c778968af91d43700ce1d11b219d127d79fb2934153b82b42b" +dependencies = [ + "crossbeam-channel", + "crossbeam-epoch", + "crossbeam-utils", + "equivalent", + "parking_lot", + "portable-atomic", + "smallvec", + "tagptr", + "uuid", +] + [[package]] name = "msvc-demangler" version = "0.10.1" @@ -3578,22 +3635,11 @@ dependencies = [ [[package]] name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi 0.3.9", -] - -[[package]] -name = "num-bigint" -version = "0.4.6" +version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "num-integer", - "num-traits", + "windows-sys 0.61.2", ] [[package]] @@ -3613,15 +3659,6 @@ dependencies = [ "syn 2.0.96", ] -[[package]] -name = "num-integer" -version = "0.1.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] - [[package]] name = "num-traits" version = "0.2.19" @@ -3826,6 +3863,10 @@ name = "once_cell" version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +dependencies = [ + "critical-section", + "portable-atomic", +] [[package]] name = "oorandom" @@ -3839,60 +3880,6 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" -[[package]] -name = "opentelemetry" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6105e89802af13fdf48c49d7646d3b533a70e536d818aae7e78ba0433d01acb8" -dependencies = [ - "async-trait", - "crossbeam-channel", - "futures-channel", - "futures-executor", - "futures-util", - "js-sys", - "lazy_static", - "percent-encoding 2.3.1", - "pin-project", - "rand 0.8.5", - "thiserror 1.0.69", - "tokio", - "tokio-stream", -] - -[[package]] -name = "opentelemetry-jaeger" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8c0b12cd9e3f9b35b52f6e0dac66866c519b26f424f4bbf96e3fe8bfbdc5229" -dependencies = [ - "async-trait", - "lazy_static", - "opentelemetry", - "opentelemetry-semantic-conventions", - "thiserror 1.0.69", - "thrift", - "tokio", -] - -[[package]] -name = "opentelemetry-semantic-conventions" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "985cc35d832d412224b2cffe2f9194b1b89b6aa5d0bef76d080dce09d90e62bd" -dependencies = [ - "opentelemetry", -] - -[[package]] -name = "ordered-float" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3305af35278dd29f46fcdd139e0b1fbfae2153f0e5928b39b035542dd31e37b7" -dependencies = [ - "num-traits", -] - [[package]] name = "os_info" version = "3.14.0" @@ -3909,12 +3896,6 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - [[package]] name = "page_size" version = "0.6.0" @@ -4203,7 +4184,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "059a34f111a9dee2ce1ac2826a68b24601c4298cfeb1a587c3cb493d5ab46f52" dependencies = [ "libc 0.2.177", - "nix 0.29.0", + "nix 0.30.1", ] [[package]] @@ -4297,7 +4278,7 @@ dependencies = [ "rand 0.8.5", "rand_chacha 0.3.1", "rand_xorshift 0.3.0", - "regex-syntax 0.8.5", + "regex-syntax", "unarray", ] @@ -4829,17 +4810,8 @@ checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.9", - "regex-syntax 0.8.5", -] - -[[package]] -name = "regex-automata" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax 0.6.29", + "regex-automata", + "regex-syntax", ] [[package]] @@ -4850,15 +4822,9 @@ checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.5", + "regex-syntax", ] -[[package]] -name = "regex-syntax" -version = "0.6.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - [[package]] name = "regex-syntax" version = "0.8.5" @@ -4884,6 +4850,7 @@ dependencies = [ "bytes", "futures-core", "futures-util", + "hickory-resolver", "http", "http-body", "http-body-util", @@ -4893,6 +4860,7 @@ dependencies = [ "js-sys", "log 0.4.25", "mime_guess 2.0.5", + "once_cell", "percent-encoding 2.3.1", "pin-project-lite", "quinn", @@ -4911,6 +4879,12 @@ dependencies = [ "web-sys", ] +[[package]] +name = "resolv-conf" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" + [[package]] name = "ring" version = "0.17.14" @@ -5133,6 +5107,15 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "scc" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46e6f046b7fef48e2660c57ed794263155d713de679057f2d0c169bfc6e756cc" +dependencies = [ + "sdd", +] + [[package]] name = "schannel" version = "0.1.27" @@ -5198,6 +5181,12 @@ dependencies = [ "syn 2.0.96", ] +[[package]] +name = "sdd" +version = "3.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "490dcfcbfef26be6800d11870ff2df8774fa6e86d047e3e8c8a76b25655e41ca" + [[package]] name = "security-framework" version = "3.5.1" @@ -5382,6 +5371,32 @@ dependencies = [ "unsafe-libyaml", ] +[[package]] +name = "serial_test" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "911bd979bf1070a3f3aa7b691a3b3e9968f339ceeec89e08c280a8a22207a32f" +dependencies = [ + "futures-executor", + "futures-util", + "log 0.4.25", + "once_cell", + "parking_lot", + "scc", + "serial_test_derive", +] + +[[package]] +name = "serial_test_derive" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a7d91949b85b0d2fb687445e448b40d322b6b3e4af6b44a29b21d9a5f33e6d9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.96", +] + [[package]] name = "sha1" version = "0.10.6" @@ -5665,7 +5680,7 @@ version = "12.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98cf6a95abff97de4d7ff3473f33cacd38f1ddccad5c1feab435d6760300e3b6" dependencies = [ - "cpp_demangle", + "cpp_demangle 0.4.4", "msvc-demangler", "rustc-demangle", "symbolic-common", @@ -5732,11 +5747,17 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "tagptr" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" + [[package]] name = "target-lexicon" -version = "0.13.4" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1dd07eb858a2067e2f3c7155d54e929265c264e6f37efe3ee7a8d1b5a1dd0ba" +checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca" [[package]] name = "target-triple" @@ -5744,51 +5765,6 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ac9aa371f599d22256307c24a9d748c041e548cbf599f35d890f9d365361790" -[[package]] -name = "tarpc" -version = "0.31.0" -dependencies = [ - "anyhow", - "assert_matches", - "bincode", - "bytes", - "flate2", - "fnv", - "futures", - "futures-test", - "humantime", - "opentelemetry", - "opentelemetry-jaeger", - "pin-project", - "pin-utils", - "rand 0.8.5", - "serde", - "serde_bytes", - "static_assertions", - "tarpc-plugins", - "thiserror 1.0.69", - "tokio", - "tokio-serde", - "tokio-util", - "tracing", - "tracing-opentelemetry", - "tracing-subscriber", - "trybuild", -] - -[[package]] -name = "tarpc-plugins" -version = "0.12.0" -dependencies = [ - "assert-type-eq", - "futures", - "proc-macro2", - "quote", - "serde", - "syn 1.0.109", - "tarpc", -] - [[package]] name = "tempdir" version = "0.3.7" @@ -5893,28 +5869,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "threadpool" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" -dependencies = [ - "num_cpus", -] - -[[package]] -name = "thrift" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b82ca8f46f95b3ce96081fe3dd89160fdea970c254bb72925255d1b62aae692e" -dependencies = [ - "byteorder", - "integer-encoding", - "log 0.4.25", - "ordered-float", - "threadpool", -] - [[package]] name = "time" version = "0.1.45" @@ -6045,22 +5999,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "tokio-serde" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "911a61637386b789af998ee23f50aa30d5fd7edcec8d6d3dedae5e5815205466" -dependencies = [ - "bincode", - "bytes", - "educe", - "futures-core", - "futures-sink", - "pin-project", - "serde", - "serde_json", -] - [[package]] name = "tokio-stream" version = "0.1.17" @@ -6084,7 +6022,6 @@ dependencies = [ "futures-util", "hashbrown 0.14.5", "pin-project-lite", - "slab", "tokio", ] @@ -6224,9 +6161,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.41" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "log 0.4.25", "pin-project-lite", @@ -6248,9 +6185,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.28" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", @@ -6259,9 +6196,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.33" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", "valuable", @@ -6278,19 +6215,6 @@ dependencies = [ "tracing-core", ] -[[package]] -name = "tracing-opentelemetry" -version = "0.17.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbbe89715c1dbbb790059e2565353978564924ee85017b5fff365c872ff6721f" -dependencies = [ - "once_cell", - "opentelemetry", - "tracing", - "tracing-core", - "tracing-subscriber", -] - [[package]] name = "tracing-serde" version = "0.2.0" @@ -6303,14 +6227,14 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.19" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" +checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e" dependencies = [ "matchers", "nu-ansi-term", "once_cell", - "regex", + "regex-automata", "serde", "serde_json", "sharded-slab", @@ -6334,21 +6258,6 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" -[[package]] -name = "trybuild" -version = "1.0.102" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f14b5c02a137632f68194ec657ecb92304138948e8957c932127eb1b58c23be" -dependencies = [ - "glob", - "serde", - "serde_derive", - "serde_json", - "target-triple", - "termcolor", - "toml", -] - [[package]] name = "twoway" version = "0.1.8" @@ -6759,6 +6668,12 @@ dependencies = [ "rustix 0.38.43", ] +[[package]] +name = "widestring" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72069c3113ab32ab29e5584db3c6ec55d416895e60715417b5b883a357c3e471" + [[package]] name = "winapi" version = "0.2.8" @@ -7244,6 +7159,16 @@ dependencies = [ "memchr", ] +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + [[package]] name = "winver" version = "1.0.0" diff --git a/components-rs/common.h b/components-rs/common.h index e53c4ef311d..5d125dabac5 100644 --- a/components-rs/common.h +++ b/components-rs/common.h @@ -429,13 +429,10 @@ typedef struct ddog_RemoteConfigState ddog_RemoteConfigState; typedef struct ddog_SidecarActionsBuffer ddog_SidecarActionsBuffer; /** - * `SidecarTransport` is a wrapper around a BlockingTransport struct from the `datadog_ipc` crate - * that handles transparent reconnection. - * It is used for sending `SidecarInterfaceRequest` and receiving `SidecarInterfaceResponse`. + * `SidecarTransport` wraps a [`SidecarInterfaceChannel`] with transparent reconnection support. * * This transport is used for communication between different parts of the sidecar service. - * It is a blocking transport, meaning that it will block the current thread until the operation is - * complete. + * It is a blocking transport (all operations block the current thread). */ typedef struct ddog_SidecarTransport ddog_SidecarTransport; @@ -1388,6 +1385,14 @@ typedef struct ddog_crasht_Slice_CInt { uintptr_t len; } ddog_crasht_Slice_CInt; +/** + * Represents an object that should only be referred to by its handle. + * Do not access its member for any reason, only use the C API functions on this struct. + */ +typedef struct ddog_crasht_Handle_StackTrace { + struct ddog_crasht_StackTrace *inner; +} ddog_crasht_Handle_StackTrace; + /** * A generic result type for when an operation may fail, * or may return in case of success. @@ -1493,14 +1498,6 @@ typedef struct ddog_crasht_Span { ddog_CharSlice thread_name; } ddog_crasht_Span; -/** - * Represents an object that should only be referred to by its handle. - * Do not access its member for any reason, only use the C API functions on this struct. - */ -typedef struct ddog_crasht_Handle_StackTrace { - struct ddog_crasht_StackTrace *inner; -} ddog_crasht_Handle_StackTrace; - typedef struct ddog_crasht_ThreadData { bool crashed; ddog_CharSlice name; @@ -1875,6 +1872,13 @@ void ddog_endpoint_set_timeout(struct ddog_Endpoint *endpoint, uint64_t millis); void ddog_endpoint_set_test_token(struct ddog_Endpoint *endpoint, ddog_CharSlice token); +/** + * Set whether to use the system DNS resolver when building the reqwest client. + * If false, the default in-process resolver is used. + */ +void ddog_endpoint_set_use_system_resolver(struct ddog_Endpoint *endpoint, + bool use_system_resolver); + void ddog_endpoint_drop(struct ddog_Endpoint*); struct ddog_Option_U32 ddog_Option_U32_some(uint32_t v); diff --git a/components-rs/crashtracker.h b/components-rs/crashtracker.h index 69f1e565029..65ab3af974b 100644 --- a/components-rs/crashtracker.h +++ b/components-rs/crashtracker.h @@ -131,6 +131,45 @@ struct ddog_VoidResult ddog_crasht_init_without_receiver(struct ddog_crasht_Conf */ struct ddog_crasht_Slice_CInt ddog_crasht_default_signals(void); +/** + * Report an unhandled exception as a crash event. + * + * This function sends a crash report for an unhandled exception detected + * by the runtime. It is intended to be called when the process is in a + * terminal state due to an unhandled exception. + * + * # Parameters + * - `error_type`: Optional type/class of the exception (e.g. "NullPointerException"). Pass empty + * CharSlice for unknown. + * - `error_message`: Optional error message. Pass empty CharSlice for no message. + * - `runtime_stack`: Stack trace from the runtime. Consumed by this call. + * + * If the crash-tracker has not been initialized, this function is a no-op. + * + * # Side effects + * This function disables the signal-based crash handler before performing + * any work. This means that if the process receives a fatal signal (SIGSEGV) + * during or after this call, the crashtracker will not produce a + * second crash report. The previous signal handler (if any) will still be + * chained. + * + * # Failure mode + * If a fatal signal occurs while this function is in progress, the calling + * process is in an unrecoverable state; the crashtracker cannot report the + * secondary fault and the caller's own signal handler (if any) will execute + * in a potentially corrupted context. Callers should treat this function as a + * terminal operation and exit shortly after it returns. + * + * # Safety + * Crash-tracking functions are not reentrant. + * No other crash-handler functions should be called concurrently. + * The `runtime_stack` handle must be valid and will be consumed. + */ +DDOG_CHECK_RETURN +struct ddog_VoidResult ddog_crasht_report_unhandled_exception(ddog_CharSlice error_type, + ddog_CharSlice error_message, + struct ddog_crasht_Handle_StackTrace *runtime_stack); + /** * Removes all existing additional tags * Expected to be used after a fork, to reset the additional tags on the child @@ -661,7 +700,12 @@ struct ddog_VoidResult ddog_crasht_CrashInfoBuilder_with_thread_name(struct ddog * The `builder` can be null, but if non-null it must point to a Builder made by this module, * which has not previously been dropped. * All arguments must be valid. - * This method requires that the builder has a UUID and metadata set + * This method requires that the builder has `metadata` and `kind` set + * Applications can add `message` or `sig_info` to the builder to provide additional context. + * If set, the data will be used to derive the crash ping message in the order of + * - an explicit message set with `with_message` + * - sig_info set with `with_sig_info` + * - kind set with `with_kind` */ DDOG_CHECK_RETURN struct ddog_VoidResult ddog_crasht_CrashInfoBuilder_upload_ping_to_endpoint(struct ddog_crasht_Handle_CrashInfoBuilder *builder, diff --git a/components-rs/sidecar.h b/components-rs/sidecar.h index 2d694f91507..c05919baf43 100644 --- a/components-rs/sidecar.h +++ b/components-rs/sidecar.h @@ -194,7 +194,7 @@ ddog_MaybeError ddog_sidecar_session_set_config(struct ddog_SidecarTransport **t uintptr_t force_drop_size, ddog_CharSlice log_level, ddog_CharSlice log_path, - void *remote_config_notify_function, + void *_remote_config_notify_function, const enum ddog_RemoteConfigProduct *remote_config_products, uintptr_t remote_config_products_count, const enum ddog_RemoteConfigCapabilities *remote_config_capabilities, diff --git a/libdatadog b/libdatadog index a0cef26b024..0eda87774a4 160000 --- a/libdatadog +++ b/libdatadog @@ -1 +1 @@ -Subproject commit a0cef26b0240f19dd994d471d5679e8c426adfc8 +Subproject commit 0eda87774a443c58554d97f34063d8c81df21845 diff --git a/tests/ext/background-sender/agent_sampling_sidecar.phpt b/tests/ext/background-sender/agent_sampling_sidecar.phpt index c23eaea3294..527b670f785 100644 --- a/tests/ext/background-sender/agent_sampling_sidecar.phpt +++ b/tests/ext/background-sender/agent_sampling_sidecar.phpt @@ -37,7 +37,8 @@ function checkUpdated($marker) { } } } - usleep(100000); + $fn = "us" . "leep"; // do not retry + $fn(100000); } while (--$retries); foreach (glob("/dev/shm/*") as $f) { var_dump($f, bin2hex(file_get_contents($f))); diff --git a/tests/ext/crashtracker_segfault.phpt b/tests/ext/crashtracker_segfault.phpt index 8101393693c..f1a2949727d 100644 --- a/tests/ext/crashtracker_segfault.phpt +++ b/tests/ext/crashtracker_segfault.phpt @@ -51,7 +51,7 @@ $rr->waitForRequest(function ($request) { if (!isset($payload["message"]["metadata"])) { break; } - if (($payload["message"]["kind"] ?? "") == "Crash ping") { + if (!isset($payload["message"]["os_info"])) { continue; } diff --git a/tests/ext/live-debugger/debugger_span_decoration_probe.phpt b/tests/ext/live-debugger/debugger_span_decoration_probe.phpt index 9716393f6d7..e325910d42d 100644 --- a/tests/ext/live-debugger/debugger_span_decoration_probe.phpt +++ b/tests/ext/live-debugger/debugger_span_decoration_probe.phpt @@ -98,7 +98,7 @@ array(2) { ["_dd.di.ret.probe_id"]=> string(1) "3" } -string(%d) "/debugger/v1/input?ddtags=debugger_version:1.%s,env:none,version:,runtime_id:%s-%s-%s-%s-%s,host_name:%s" +string(%d) "/debugger/v1/diagnostics?ddtags=debugger_version:1.%s,env:none,version:,runtime_id:%s-%s-%s-%s-%s,host_name:%s" array(1) { [0]=> array(6) { From 44e6296e730e9c761fa46e4c7fefca544a777f26 Mon Sep 17 00:00:00 2001 From: Levi Morrison Date: Wed, 11 Mar 2026 14:30:50 -0600 Subject: [PATCH 02/15] build(profiling): update libdatadog to v29 --- Cargo.lock | 649 ++++++------------------------------------- profiling/Cargo.toml | 6 +- 2 files changed, 89 insertions(+), 566 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 25dc4acb245..19e1366c40f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -143,12 +143,6 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" -[[package]] -name = "ascii" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97be891acc47ca214468e09425d02cef3af2c94d0d82081cd02061f996802f14" - [[package]] name = "assert-json-diff" version = "2.0.2" @@ -203,15 +197,6 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" -[[package]] -name = "autocfg" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dde43e75fd43e8a1bf86103336bc699aa8d17ad1be60c76c0bdfd4828e19b78" -dependencies = [ - "autocfg 1.4.0", -] - [[package]] name = "autocfg" version = "1.4.0" @@ -270,8 +255,8 @@ dependencies = [ "itoa", "matchit", "memchr", - "mime 0.3.17", - "percent-encoding 2.3.1", + "mime", + "percent-encoding", "pin-project-lite", "serde_core", "sync_wrapper", @@ -291,7 +276,7 @@ dependencies = [ "http", "http-body", "http-body-util", - "mime 0.3.17", + "mime", "pin-project-lite", "sync_wrapper", "tower-layer", @@ -313,16 +298,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "base64" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643" -dependencies = [ - "byteorder", - "safemem", -] - [[package]] name = "base64" version = "0.21.7" @@ -356,7 +331,7 @@ dependencies = [ "itertools 0.12.1", "lazy_static", "lazycell", - "log 0.4.25", + "log", "prettyplease", "proc-macro2", "quote", @@ -517,16 +492,6 @@ dependencies = [ "cc", ] -[[package]] -name = "buf_redux" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b953a6887648bb07a535631f2bc00fbdb2a2216f135552cb3f534ed136b9c07f" -dependencies = [ - "memchr", - "safemem", -] - [[package]] name = "build_common" version = "0.0.1" @@ -613,7 +578,7 @@ dependencies = [ "clap", "heck 0.4.1", "indexmap 2.12.1", - "log 0.4.25", + "log", "proc-macro2", "quote", "serde", @@ -632,7 +597,7 @@ dependencies = [ "clap", "heck 0.5.0", "indexmap 2.12.1", - "log 0.4.25", + "log", "proc-macro2", "quote", "serde", @@ -704,12 +669,6 @@ dependencies = [ "windows-link 0.1.1", ] -[[package]] -name = "chunked_transfer" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "498d20a7aaf62625b9bf26e637cf7736417cde1d0c99f1d04d1170229a85cf87" - [[package]] name = "ciborium" version = "0.2.2" @@ -788,15 +747,6 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" -[[package]] -name = "cloudabi" -version = "0.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "cmake" version = "0.1.57" @@ -1226,7 +1176,7 @@ dependencies = [ "derive_more", "env_logger 0.10.2", "faststr", - "log 0.4.25", + "log", "md5", "pyo3", "regex", @@ -1235,7 +1185,7 @@ dependencies = [ "serde_json", "serde_with", "thiserror 2.0.12", - "url 2.5.4", + "url", ] [[package]] @@ -1288,7 +1238,7 @@ dependencies = [ "http-body-util", "libdd-common 2.0.0", "libdd-data-pipeline", - "percent-encoding 2.3.1", + "percent-encoding", "regex", "regex-automata", "serde", @@ -1307,8 +1257,8 @@ dependencies = [ "datadog-live-debugger", "libdd-common 2.0.0", "libdd-common-ffi", - "log 0.4.25", - "percent-encoding 2.3.1", + "log", + "percent-encoding", "serde_json", "tokio", "tokio-util", @@ -1336,10 +1286,10 @@ dependencies = [ "lazy_static", "libc 0.2.177", "libdd-alloc", - "libdd-common 1.1.0", + "libdd-common 2.0.0 (git+https://github.com/DataDog/libdatadog?tag=v29.0.0)", "libdd-library-config-ffi", "libdd-profiling", - "log 0.4.25", + "log", "perfcnt", "rand 0.8.5", "rand_distr", @@ -1365,7 +1315,7 @@ dependencies = [ "futures-util", "http", "http-body-util", - "hyper 1.6.0", + "hyper", "hyper-util", "libdd-common 2.0.0", "libdd-trace-protobuf", @@ -1375,7 +1325,7 @@ dependencies = [ "serde_json", "serde_with", "sha2", - "time 0.3.37", + "time", "tokio", "tokio-util", "tracing", @@ -1498,7 +1448,7 @@ dependencies = [ "libdd-telemetry-ffi", "libdd-tinybytes", "libdd-trace-utils", - "log 0.4.25", + "log", "paste", "regex", "regex-automata", @@ -1658,7 +1608,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0" dependencies = [ - "log 0.4.25", + "log", ] [[package]] @@ -1669,7 +1619,7 @@ checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" dependencies = [ "humantime", "is-terminal", - "log 0.4.25", + "log", "regex", "termcolor", ] @@ -1681,7 +1631,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcaee3d8e3cfc3fd92428d477bc97fc29ec8716d180c0d74c643bb26166660e0" dependencies = [ "env_filter", - "log 0.4.25", + "log", ] [[package]] @@ -1810,7 +1760,7 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ - "percent-encoding 2.3.1", + "percent-encoding", ] [[package]] @@ -2010,17 +1960,11 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daa0a64d21a7eb230583b4c5f4e23b7e4e57974f96620f42a7e75e08ae66d745" dependencies = [ - "log 0.4.25", + "log", "plain", "scroll", ] -[[package]] -name = "groupable" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32619942b8be646939eaf3db0602b39f5229b74575b67efc897811ded1db4e57" - [[package]] name = "h2" version = "0.4.8" @@ -2117,7 +2061,7 @@ dependencies = [ "headers-core", "http", "httpdate", - "mime 0.3.17", + "mime", "sha1", ] @@ -2173,7 +2117,7 @@ dependencies = [ "futures-channel", "futures-io", "futures-util", - "idna 1.0.3", + "idna", "ipnet", "once_cell", "rand 0.9.0", @@ -2182,7 +2126,7 @@ dependencies = [ "tinyvec", "tokio", "tracing", - "url 2.5.4", + "url", ] [[package]] @@ -2278,7 +2222,7 @@ dependencies = [ "headers", "http", "http-body-util", - "hyper 1.6.0", + "hyper", "hyper-util", "path-tree", "regex", @@ -2291,7 +2235,7 @@ dependencies = [ "thiserror 2.0.12", "tokio", "tracing", - "url 2.5.4", + "url", ] [[package]] @@ -2300,25 +2244,6 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" -[[package]] -name = "hyper" -version = "0.10.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a0652d9a2609a968c14be1a9ea00bf4b1d64e2e1f53a1b51b6fff3a6e829273" -dependencies = [ - "base64 0.9.3", - "httparse", - "language-tags", - "log 0.3.9", - "mime 0.2.6", - "num_cpus", - "time 0.1.45", - "traitobject", - "typeable", - "unicase 1.4.2", - "url 1.7.2", -] - [[package]] name = "hyper" version = "1.6.0" @@ -2348,7 +2273,7 @@ checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" dependencies = [ "futures-util", "http", - "hyper 1.6.0", + "hyper", "hyper-util", "rustls", "rustls-native-certs", @@ -2365,7 +2290,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0" dependencies = [ - "hyper 1.6.0", + "hyper", "hyper-util", "pin-project-lite", "tokio", @@ -2385,10 +2310,10 @@ dependencies = [ "futures-util", "http", "http-body", - "hyper 1.6.0", + "hyper", "ipnet", "libc 0.2.177", - "percent-encoding 2.3.1", + "percent-encoding", "pin-project-lite", "socket2 0.5.10", "tokio", @@ -2543,17 +2468,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" -[[package]] -name = "idna" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" -dependencies = [ - "matches", - "unicode-bidi", - "unicode-normalization", -] - [[package]] name = "idna" version = "1.0.3" @@ -2581,7 +2495,7 @@ version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ - "autocfg 1.4.0", + "autocfg", "hashbrown 0.12.3", "serde", ] @@ -2646,22 +2560,6 @@ dependencies = [ "serde", ] -[[package]] -name = "iron" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6d308ca2d884650a8bf9ed2ff4cb13fbb2207b71f64cda11dc9b892067295e8" -dependencies = [ - "hyper 0.10.16", - "log 0.3.9", - "mime_guess 1.8.8", - "modifier", - "num_cpus", - "plugin", - "typemap", - "url 1.7.2", -] - [[package]] name = "is-terminal" version = "0.4.13" @@ -2722,7 +2620,7 @@ dependencies = [ "cfg-if", "combine", "jni-sys", - "log 0.4.25", + "log", "thiserror 1.0.69", "walkdir", "windows-sys 0.45.0", @@ -2763,12 +2661,6 @@ dependencies = [ "winapi-build", ] -[[package]] -name = "language-tags" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" - [[package]] name = "lazy_static" version = "1.4.0" @@ -2796,7 +2688,7 @@ checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" [[package]] name = "libdd-alloc" version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog?tag=v27.0.0#72e56a3dcf9189a92db1f177c4c9d844725079f7" +source = "git+https://github.com/DataDog/libdatadog?tag=v29.0.0#001bd56fcbba34fa4ec3f9798a6c4fbcddeffa40" dependencies = [ "allocator-api2", "libc 0.2.177", @@ -2805,10 +2697,10 @@ dependencies = [ [[package]] name = "libdd-common" -version = "1.1.0" -source = "git+https://github.com/DataDog/libdatadog?tag=v27.0.0#72e56a3dcf9189a92db1f177c4c9d844725079f7" +version = "2.0.0" dependencies = [ "anyhow", + "bytes", "cc", "const_format", "futures", @@ -2819,12 +2711,14 @@ dependencies = [ "http-body", "http-body-util", "httparse", - "hyper 1.6.0", + "hyper", "hyper-rustls", "hyper-util", + "indexmap 2.12.1", "libc 0.2.177", - "mime 0.3.17", - "multipart", + "maplit", + "mime", + "multer", "nix 0.29.0", "pin-project", "rand 0.8.5", @@ -2834,6 +2728,7 @@ dependencies = [ "rustls-native-certs", "serde", "static_assertions", + "tempfile", "thiserror 1.0.69", "tokio", "tokio-rustls", @@ -2844,6 +2739,7 @@ dependencies = [ [[package]] name = "libdd-common" version = "2.0.0" +source = "git+https://github.com/DataDog/libdatadog?tag=v29.0.0#001bd56fcbba34fa4ec3f9798a6c4fbcddeffa40" dependencies = [ "anyhow", "bytes", @@ -2857,13 +2753,11 @@ dependencies = [ "http-body", "http-body-util", "httparse", - "hyper 1.6.0", + "hyper", "hyper-rustls", "hyper-util", - "indexmap 2.12.1", "libc 0.2.177", - "maplit", - "mime 0.3.17", + "mime", "multer", "nix 0.29.0", "pin-project", @@ -2874,7 +2768,6 @@ dependencies = [ "rustls-native-certs", "serde", "static_assertions", - "tempfile", "thiserror 1.0.69", "tokio", "tokio-rustls", @@ -2893,7 +2786,7 @@ dependencies = [ "chrono", "crossbeam-queue", "function_name", - "hyper 1.6.0", + "hyper", "libdd-common 2.0.0", "serde", ] @@ -3055,7 +2948,7 @@ dependencies = [ [[package]] name = "libdd-profiling" version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog?tag=v27.0.0#72e56a3dcf9189a92db1f177c4c9d844725079f7" +source = "git+https://github.com/DataDog/libdatadog?tag=v29.0.0#001bd56fcbba34fa4ec3f9798a6c4fbcddeffa40" dependencies = [ "allocator-api2", "anyhow", @@ -3072,14 +2965,16 @@ dependencies = [ "httparse", "indexmap 2.12.1", "libdd-alloc", - "libdd-common 1.1.0", + "libdd-common 2.0.0 (git+https://github.com/DataDog/libdatadog?tag=v29.0.0)", "libdd-profiling-protobuf", - "mime 0.3.17", + "mime", "parking_lot", "prost", "rand 0.8.5", "reqwest", "rustc-hash 1.1.0", + "rustls", + "rustls-platform-verifier", "serde", "serde_json", "target-triple", @@ -3092,7 +2987,7 @@ dependencies = [ [[package]] name = "libdd-profiling-protobuf" version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog?tag=v27.0.0#72e56a3dcf9189a92db1f177c4c9d844725079f7" +source = "git+https://github.com/DataDog/libdatadog?tag=v29.0.0#001bd56fcbba34fa4ec3f9798a6c4fbcddeffa40" dependencies = [ "prost", ] @@ -3202,7 +3097,7 @@ dependencies = [ "http-body", "http-body-util", "httpmock", - "hyper 1.6.0", + "hyper", "indexmap 2.12.1", "libdd-common 2.0.0", "libdd-tinybytes", @@ -3272,19 +3167,10 @@ version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ - "autocfg 1.4.0", + "autocfg", "scopeguard", ] -[[package]] -name = "log" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" -dependencies = [ - "log 0.4.25", -] - [[package]] name = "log" version = "0.4.25" @@ -3325,12 +3211,6 @@ dependencies = [ "regex-automata", ] -[[package]] -name = "matches" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" - [[package]] name = "matchit" version = "0.8.4" @@ -3373,7 +3253,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" dependencies = [ - "autocfg 1.4.0", + "autocfg", ] [[package]] @@ -3397,41 +3277,20 @@ dependencies = [ "windows-sys 0.42.0", ] -[[package]] -name = "mime" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0" -dependencies = [ - "log 0.3.9", -] - [[package]] name = "mime" version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" -[[package]] -name = "mime_guess" -version = "1.8.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216929a5ee4dd316b1702eedf5e74548c123d370f47841ceaac38ca154690ca3" -dependencies = [ - "mime 0.2.6", - "phf 0.7.24", - "phf_codegen 0.7.24", - "unicase 1.4.2", -] - [[package]] name = "mime_guess" version = "2.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" dependencies = [ - "mime 0.3.17", - "unicase 2.8.1", + "mime", + "unicase", ] [[package]] @@ -3480,12 +3339,6 @@ dependencies = [ "tempdir", ] -[[package]] -name = "modifier" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f5c9112cb662acd3b204077e0de5bc66305fa8df65c8019d5adb10e9ab6e58" - [[package]] name = "moka" version = "0.12.14" @@ -3524,7 +3377,7 @@ dependencies = [ "http", "httparse", "memchr", - "mime 0.3.17", + "mime", "spin", "version_check 0.9.5", ] @@ -3535,59 +3388,6 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" -[[package]] -name = "multipart" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00dec633863867f29cb39df64a397cdf4a6354708ddd7759f70c7fb51c5f9182" -dependencies = [ - "buf_redux", - "httparse", - "hyper 0.10.16", - "iron", - "log 0.4.25", - "mime 0.3.17", - "mime_guess 2.0.5", - "nickel", - "quick-error", - "rand 0.8.5", - "safemem", - "tempfile", - "tiny_http", - "twoway", -] - -[[package]] -name = "mustache" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51956ef1c5d20a1384524d91e616fb44dfc7d8f249bf696d49c97dd3289ecab5" -dependencies = [ - "log 0.3.9", - "serde", -] - -[[package]] -name = "nickel" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5061a832728db2dacb61cefe0ce303b58f85764ec680e71d9138229640a46d9" -dependencies = [ - "groupable", - "hyper 0.10.16", - "lazy_static", - "log 0.3.9", - "modifier", - "mustache", - "plugin", - "regex", - "serde", - "serde_json", - "time 0.1.45", - "typemap", - "url 1.7.2", -] - [[package]] name = "nix" version = "0.29.0" @@ -3665,20 +3465,10 @@ version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ - "autocfg 1.4.0", + "autocfg", "libm", ] -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi 0.3.9", - "libc 0.2.177", -] - [[package]] name = "objc2" version = "0.6.3" @@ -3887,7 +3677,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4022a17595a00d6a369236fdae483f0de7f0a339960a53118b818238e132224" dependencies = [ "android_system_properties", - "log 0.4.25", + "log", "nix 0.30.1", "objc2", "objc2-foundation", @@ -3950,12 +3740,6 @@ dependencies = [ "smallvec", ] -[[package]] -name = "percent-encoding" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" - [[package]] name = "percent-encoding" version = "2.3.1" @@ -3986,32 +3770,13 @@ dependencies = [ "indexmap 2.12.1", ] -[[package]] -name = "phf" -version = "0.7.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18" -dependencies = [ - "phf_shared 0.7.24", -] - [[package]] name = "phf" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2ac8b67553a7ca9457ce0e526948cad581819238f4a9d1ea74545851fa24f37" dependencies = [ - "phf_shared 0.9.0", -] - -[[package]] -name = "phf_codegen" -version = "0.7.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03e85129e324ad4166b06b2c7491ae27fe3ec353af72e72cd1654c7225d517e" -dependencies = [ - "phf_generator 0.7.24", - "phf_shared 0.7.24", + "phf_shared", ] [[package]] @@ -4020,18 +3785,8 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "963adb11cf22ee65dfd401cf75577c1aa0eca58c0b97f9337d2da61d3e640503" dependencies = [ - "phf_generator 0.9.1", - "phf_shared 0.9.0", -] - -[[package]] -name = "phf_generator" -version = "0.7.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09364cc93c159b8b06b1f4dd8a4398984503483891b0c26b867cf431fb132662" -dependencies = [ - "phf_shared 0.7.24", - "rand 0.6.5", + "phf_generator", + "phf_shared", ] [[package]] @@ -4040,27 +3795,17 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d43f3220d96e0080cc9ea234978ccd80d904eafb17be31bb0f76daaea6493082" dependencies = [ - "phf_shared 0.9.0", + "phf_shared", "rand 0.8.5", ] -[[package]] -name = "phf_shared" -version = "0.7.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0" -dependencies = [ - "siphasher 0.2.3", - "unicase 1.4.2", -] - [[package]] name = "phf_shared" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a68318426de33640f02be62b4ae8eb1261be2efbc337b60c54d845bf4484e0d9" dependencies = [ - "siphasher 0.3.11", + "siphasher", ] [[package]] @@ -4144,15 +3889,6 @@ dependencies = [ "plotters-backend", ] -[[package]] -name = "plugin" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a6a0dc3910bc8db877ffed8e457763b317cf880df4ae19109b9f77d277cf6e0" -dependencies = [ - "typemap", -] - [[package]] name = "portable-atomic" version = "1.10.0" @@ -4219,7 +3955,7 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "714c75db297bc88a63783ffc6ab9f830698a6705aa0201416931759ef4c8183d" dependencies = [ - "autocfg 1.4.0", + "autocfg", "equivalent", "indexmap 2.12.1", ] @@ -4277,7 +4013,7 @@ dependencies = [ "num-traits", "rand 0.8.5", "rand_chacha 0.3.1", - "rand_xorshift 0.3.0", + "rand_xorshift", "regex-syntax", "unarray", ] @@ -4300,7 +4036,7 @@ checksum = "343d3bd7056eda839b03204e68deff7d1b13aba7af2b2fd16890697274262ee7" dependencies = [ "heck 0.5.0", "itertools 0.12.1", - "log 0.4.25", + "log", "multimap", "petgraph", "prettyplease", @@ -4451,12 +4187,6 @@ dependencies = [ "syn 2.0.96", ] -[[package]] -name = "quick-error" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" - [[package]] name = "quinn" version = "0.11.9" @@ -4541,25 +4271,6 @@ dependencies = [ "winapi 0.3.9", ] -[[package]] -name = "rand" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" -dependencies = [ - "autocfg 0.1.8", - "libc 0.2.177", - "rand_chacha 0.1.1", - "rand_core 0.4.2", - "rand_hc", - "rand_isaac", - "rand_jitter", - "rand_os", - "rand_pcg", - "rand_xorshift 0.1.1", - "winapi 0.3.9", -] - [[package]] name = "rand" version = "0.8.5" @@ -4582,16 +4293,6 @@ dependencies = [ "zerocopy 0.8.24", ] -[[package]] -name = "rand_chacha" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" -dependencies = [ - "autocfg 0.1.8", - "rand_core 0.3.1", -] - [[package]] name = "rand_chacha" version = "0.3.1" @@ -4655,68 +4356,6 @@ dependencies = [ "rand 0.8.5", ] -[[package]] -name = "rand_hc" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" -dependencies = [ - "rand_core 0.3.1", -] - -[[package]] -name = "rand_isaac" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" -dependencies = [ - "rand_core 0.3.1", -] - -[[package]] -name = "rand_jitter" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" -dependencies = [ - "libc 0.2.177", - "rand_core 0.4.2", - "winapi 0.3.9", -] - -[[package]] -name = "rand_os" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071" -dependencies = [ - "cloudabi", - "fuchsia-cprng", - "libc 0.2.177", - "rand_core 0.4.2", - "rdrand", - "winapi 0.3.9", -] - -[[package]] -name = "rand_pcg" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" -dependencies = [ - "autocfg 0.1.8", - "rand_core 0.4.2", -] - -[[package]] -name = "rand_xorshift" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" -dependencies = [ - "rand_core 0.3.1", -] - [[package]] name = "rand_xorshift" version = "0.3.0" @@ -4854,14 +4493,14 @@ dependencies = [ "http", "http-body", "http-body-util", - "hyper 1.6.0", + "hyper", "hyper-rustls", "hyper-util", "js-sys", - "log 0.4.25", - "mime_guess 2.0.5", + "log", + "mime_guess", "once_cell", - "percent-encoding 2.3.1", + "percent-encoding", "pin-project-lite", "quinn", "rustls", @@ -4873,7 +4512,7 @@ dependencies = [ "tower", "tower-http", "tower-service", - "url 2.5.4", + "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -5039,7 +4678,7 @@ dependencies = [ "core-foundation", "core-foundation-sys", "jni", - "log 0.4.25", + "log", "once_cell", "rustls", "rustls-native-certs", @@ -5092,12 +4731,6 @@ version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" -[[package]] -name = "safemem" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" - [[package]] name = "same-file" version = "1.0.6" @@ -5343,7 +4976,7 @@ dependencies = [ "serde_derive", "serde_json", "serde_with_macros", - "time 0.3.37", + "time", ] [[package]] @@ -5379,7 +5012,7 @@ checksum = "911bd979bf1070a3f3aa7b691a3b3e9968f339ceeec89e08c280a8a22207a32f" dependencies = [ "futures-executor", "futures-util", - "log 0.4.25", + "log", "once_cell", "parking_lot", "scc", @@ -5483,12 +5116,6 @@ version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa" -[[package]] -name = "siphasher" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac" - [[package]] name = "siphasher" version = "0.3.11" @@ -5501,7 +5128,7 @@ version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ - "autocfg 1.4.0", + "autocfg", ] [[package]] @@ -5869,17 +5496,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "time" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" -dependencies = [ - "libc 0.2.177", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi 0.3.9", -] - [[package]] name = "time" version = "0.3.37" @@ -5911,19 +5527,6 @@ dependencies = [ "time-core", ] -[[package]] -name = "tiny_http" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e22cb179b63e5fc2d0b5be237dc107da072e2407809ac70a8ce85b93fe8f562" -dependencies = [ - "ascii", - "chrono", - "chunked_transfer", - "log 0.4.25", - "url 1.7.2", -] - [[package]] name = "tinystr" version = "0.7.6" @@ -6084,10 +5687,10 @@ dependencies = [ "http", "http-body", "http-body-util", - "hyper 1.6.0", + "hyper", "hyper-timeout", "hyper-util", - "percent-encoding 2.3.1", + "percent-encoding", "pin-project", "socket2 0.6.2", "sync_wrapper", @@ -6165,7 +5768,7 @@ version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ - "log 0.4.25", + "log", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -6179,7 +5782,7 @@ checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" dependencies = [ "crossbeam-channel", "thiserror 1.0.69", - "time 0.3.37", + "time", "tracing-subscriber", ] @@ -6210,7 +5813,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" dependencies = [ - "log 0.4.25", + "log", "once_cell", "tracing-core", ] @@ -6246,27 +5849,12 @@ dependencies = [ "tracing-serde", ] -[[package]] -name = "traitobject" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04a79e25382e2e852e8da874249358d382ebaf259d0d34e75d8db16a7efabbc7" - [[package]] name = "try-lock" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" -[[package]] -name = "twoway" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59b11b2b5241ba34be09c3cc85a36e56e48f9888862e19cedf23336d35316ed1" -dependencies = [ - "memchr", -] - [[package]] name = "twox-hash" version = "1.6.3" @@ -6277,27 +5865,12 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "typeable" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887" - [[package]] name = "typeid" version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" -[[package]] -name = "typemap" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "653be63c80a3296da5551e1bfd2cca35227e13cdd08c6668903ae2f4f77aa1f6" -dependencies = [ - "unsafe-any", -] - [[package]] name = "typenum" version = "1.17.0" @@ -6310,42 +5883,18 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" -[[package]] -name = "unicase" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33" -dependencies = [ - "version_check 0.1.5", -] - [[package]] name = "unicase" version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" -[[package]] -name = "unicode-bidi" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" - [[package]] name = "unicode-ident" version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" -[[package]] -name = "unicode-normalization" -version = "0.1.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8" -dependencies = [ - "tinyvec", -] - [[package]] name = "unicode-width" version = "0.2.1" @@ -6364,15 +5913,6 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3" -[[package]] -name = "unsafe-any" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30360d7979f5e9c6e6cea48af192ea8fab4afb3cf72597154b8f08935bc9c7f" -dependencies = [ - "traitobject", -] - [[package]] name = "unsafe-libyaml" version = "0.2.11" @@ -6385,17 +5925,6 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" -[[package]] -name = "url" -version = "1.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a" -dependencies = [ - "idna 0.1.5", - "matches", - "percent-encoding 1.0.1", -] - [[package]] name = "url" version = "2.5.4" @@ -6403,8 +5932,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", - "idna 1.0.3", - "percent-encoding 2.3.1", + "idna", + "percent-encoding", ] [[package]] @@ -6526,12 +6055,6 @@ dependencies = [ "try-lock", ] -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -6566,7 +6089,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", - "log 0.4.25", + "log", "proc-macro2", "quote", "syn 2.0.96", @@ -7208,8 +6731,8 @@ dependencies = [ "bit_field", "bitflags 1.3.2", "csv", - "phf 0.9.0", - "phf_codegen 0.9.0", + "phf", + "phf_codegen", "raw-cpuid", "serde_json", ] diff --git a/profiling/Cargo.toml b/profiling/Cargo.toml index eb431378862..bac521a0765 100644 --- a/profiling/Cargo.toml +++ b/profiling/Cargo.toml @@ -23,9 +23,9 @@ cpu-time = { version = "1.0" } chrono = { version = "0.4" } crossbeam-channel = { version = "0.5", default-features = false, features = ["std"] } http = { version = "1.4" } -libdd-alloc = { git = "https://github.com/DataDog/libdatadog", tag = "v27.0.0" } -libdd-profiling = { git = "https://github.com/DataDog/libdatadog", tag = "v27.0.0" } -libdd-common = { git = "https://github.com/DataDog/libdatadog", tag = "v27.0.0" } +libdd-alloc = { git = "https://github.com/DataDog/libdatadog", tag = "v29.0.0" } +libdd-profiling = { git = "https://github.com/DataDog/libdatadog", tag = "v29.0.0" } +libdd-common = { git = "https://github.com/DataDog/libdatadog", tag = "v29.0.0" } libdd-library-config-ffi = { path = "../libdatadog/libdd-library-config-ffi" } env_logger = { version = "0.11", default-features = false } lazy_static = { version = "1.4" } From a20115f228529f318e542a01327758caa7ec3dbc Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Thu, 12 Mar 2026 13:18:37 +0100 Subject: [PATCH 03/15] Add configurable size Signed-off-by: Bob Weinand --- components-rs/ddtrace.h | 4 +++- components-rs/sidecar.rs | 5 +++++ ext/configuration.h | 2 ++ ext/sidecar.c | 2 +- libdatadog | 2 +- 5 files changed, 12 insertions(+), 3 deletions(-) diff --git a/components-rs/ddtrace.h b/components-rs/ddtrace.h index c0bab2a9eab..8dc2dee7635 100644 --- a/components-rs/ddtrace.h +++ b/components-rs/ddtrace.h @@ -115,7 +115,9 @@ ddog_MaybeError ddog_sidecar_connect_php(struct ddog_SidecarTransport **connecti ddog_CharSlice log_level, bool enable_telemetry, void (*on_reconnect)(struct ddog_SidecarTransport*), - const struct ddog_Endpoint *crashtracker_endpoint); + const struct ddog_Endpoint *crashtracker_endpoint, + uint64_t backpressure_bytes, + uint64_t backpressure_queue); void ddtrace_sidecar_reconnect(struct ddog_SidecarTransport **transport, struct ddog_SidecarTransport *(*factory)(void)); diff --git a/components-rs/sidecar.rs b/components-rs/sidecar.rs index 0b94deeeab9..45ed50a0a15 100644 --- a/components-rs/sidecar.rs +++ b/components-rs/sidecar.rs @@ -119,6 +119,8 @@ pub extern "C" fn ddog_sidecar_connect_php( enable_telemetry: bool, on_reconnect: Option, crashtracker_endpoint: Option<&Endpoint>, + backpressure_bytes: u64, + backpressure_queue: u64, ) -> MaybeError { let mut cfg = config::FromEnv::config(); cfg.self_telemetry = enable_telemetry; @@ -151,6 +153,8 @@ pub extern "C" fn ddog_sidecar_connect_php( cfg.child_env.insert(OsStr::new("DD_TRACE_LOG_LEVEL").into(), log_level); } + cfg.pipe_buffer_size = backpressure_bytes as usize; + let reconnect_fn = on_reconnect.map(|on_reconnect| { let cfg = cfg.clone(); Box::new(move || { @@ -162,6 +166,7 @@ pub extern "C" fn ddog_sidecar_connect_php( let mut stream = try_c!(sidecar_connect(cfg)); stream.reconnect_fn = reconnect_fn; + let _ = stream.set_backpressure(backpressure_bytes as usize, backpressure_queue); *connection = Box::into_raw(stream); MaybeError::None diff --git a/ext/configuration.h b/ext/configuration.h index 97b97875608..dae81c23319 100644 --- a/ext/configuration.h +++ b/ext/configuration.h @@ -222,6 +222,8 @@ enum ddtrace_sampling_rules_format { CONFIG(INT, DD_TRACE_AGENT_MAX_PAYLOAD_SIZE, "52428800", .ini_change = zai_config_system_ini_change) \ CONFIG(INT, DD_TRACE_AGENT_STACK_INITIAL_SIZE, "131072", .ini_change = zai_config_system_ini_change) \ CONFIG(INT, DD_TRACE_AGENT_STACK_BACKLOG, "12", .ini_change = zai_config_system_ini_change) \ + CONFIG(INT, DD_TRACE_SIDECAR_BACKPRESSURE_BYTES, "4194304", .ini_change = zai_config_system_ini_change) \ + CONFIG(INT, DD_TRACE_SIDECAR_BACKPRESSURE_QUEUE, "100", .ini_change = zai_config_system_ini_change) \ CONFIG(STRING, DD_TRACE_AGENT_TEST_SESSION_TOKEN, "", .ini_change = ddtrace_alter_test_session_token) \ CONFIG(BOOL, DD_TRACE_PROPAGATE_USER_ID_DEFAULT, "false") \ CONFIG(CUSTOM(INT), DD_DBM_PROPAGATION_MODE, "disabled", .parser = dd_parse_dbm_mode) \ diff --git a/ext/sidecar.c b/ext/sidecar.c index 73b653fd7cb..336cb710698 100644 --- a/ext/sidecar.c +++ b/ext/sidecar.c @@ -208,7 +208,7 @@ static ddog_SidecarTransport *dd_sidecar_connection_factory_ex(bool is_fork) { } ddog_SidecarTransport *sidecar_transport; - if (!ddtrace_ffi_try("Failed connecting to the sidecar", ddog_sidecar_connect_php(&sidecar_transport, logpath, dd_zend_string_to_CharSlice(get_global_DD_TRACE_LOG_LEVEL()), get_global_DD_INSTRUMENTATION_TELEMETRY_ENABLED(), dd_sidecar_on_reconnect, ddtrace_endpoint))) { + if (!ddtrace_ffi_try("Failed connecting to the sidecar", ddog_sidecar_connect_php(&sidecar_transport, logpath, dd_zend_string_to_CharSlice(get_global_DD_TRACE_LOG_LEVEL()), get_global_DD_INSTRUMENTATION_TELEMETRY_ENABLED(), dd_sidecar_on_reconnect, ddtrace_endpoint, (uint64_t)get_global_DD_TRACE_SIDECAR_BACKPRESSURE_BYTES(), (uint64_t)get_global_DD_TRACE_SIDECAR_BACKPRESSURE_QUEUE()))) { dd_free_endpoints(); return NULL; } diff --git a/libdatadog b/libdatadog index 0eda87774a4..b77cbec9eb1 160000 --- a/libdatadog +++ b/libdatadog @@ -1 +1 @@ -Subproject commit 0eda87774a443c58554d97f34063d8c81df21845 +Subproject commit b77cbec9eb187e0984cb5d8af7c4e57d56f79fe0 From e4b78399cfe12403a083e7bf0b8027544ddde655 Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Fri, 13 Mar 2026 19:32:28 +0100 Subject: [PATCH 04/15] Update for new metrics stuff Signed-off-by: Bob Weinand --- components-rs/ddtrace.h | 8 ++++---- components-rs/telemetry.rs | 18 ++++++++++-------- ext/otel_config.c | 3 +-- ext/telemetry.c | 30 +++++++++++++----------------- libdatadog | 2 +- 5 files changed, 29 insertions(+), 32 deletions(-) diff --git a/components-rs/ddtrace.h b/components-rs/ddtrace.h index 8dc2dee7635..7f24765bc79 100644 --- a/components-rs/ddtrace.h +++ b/components-rs/ddtrace.h @@ -157,10 +157,10 @@ ddog_MaybeError ddog_sidecar_telemetry_buffer_flush(struct ddog_SidecarTransport const ddog_QueueId *queue_id, struct ddog_SidecarActionsBuffer *buffer); -void ddog_sidecar_telemetry_register_metric_buffer(struct ddog_SidecarActionsBuffer *buffer, - ddog_CharSlice metric_name, - enum ddog_MetricType metric_type, - enum ddog_MetricNamespace namespace_); +ddog_MaybeError ddog_sidecar_telemetry_register_metric(struct ddog_SidecarTransport **transport, + ddog_CharSlice metric_name, + enum ddog_MetricType metric_type, + enum ddog_MetricNamespace namespace_); void ddog_sidecar_telemetry_add_span_metric_point_buffer(struct ddog_SidecarActionsBuffer *buffer, ddog_CharSlice metric_name, diff --git a/components-rs/telemetry.rs b/components-rs/telemetry.rs index c39daa3dcaf..98667ea956a 100644 --- a/components-rs/telemetry.rs +++ b/components-rs/telemetry.rs @@ -5,7 +5,7 @@ use hashbrown::{Equivalent, HashMap}; use std::collections::HashSet; use std::ffi::CString; use std::path::PathBuf; -use std::time::{Duration, Instant, SystemTime}; +use std::time::{Duration, SystemTime}; use datadog_ipc::platform::NamedShmHandle; use datadog_sidecar::one_way_shared_memory::{open_named_shm, OneWayShmReader}; @@ -168,21 +168,23 @@ pub extern "C-unwind" fn ddog_sidecar_telemetry_buffer_flush( } #[no_mangle] -pub unsafe extern "C" fn ddog_sidecar_telemetry_register_metric_buffer( - buffer: &mut SidecarActionsBuffer, +pub unsafe extern "C" fn ddog_sidecar_telemetry_register_metric( + transport: &mut Box, metric_name: CharSlice, metric_type: MetricType, namespace: MetricNamespace, -) { - buffer - .buffer - .push(SidecarAction::RegisterTelemetryMetric(MetricContext { +) -> MaybeError { + try_c!(blocking::register_telemetry_metric( + transport, + MetricContext { name: metric_name.to_utf8_lossy().into_owned(), namespace, metric_type, tags: Vec::default(), common: true, - })); + }, + )); + MaybeError::None } #[no_mangle] diff --git a/ext/otel_config.c b/ext/otel_config.c index c9504a0cabb..538268d43dd 100644 --- a/ext/otel_config.c +++ b/ext/otel_config.c @@ -10,9 +10,8 @@ ZEND_EXTERN_MODULE_GLOBALS(ddtrace); static void report_otel_cfg_telemetry_invalid(const char *otel_cfg, const char *dd_cfg, bool pre_rinit) { if (!pre_rinit && ddtrace_sidecar && get_DD_INSTRUMENTATION_TELEMETRY_ENABLED()) { + ddog_sidecar_telemetry_register_metric(&ddtrace_sidecar, DDOG_CHARSLICE_C("otel.env.invalid"), DDOG_METRIC_TYPE_COUNT, DDOG_METRIC_NAMESPACE_TRACERS); ddog_SidecarActionsBuffer *buffer = ddtrace_telemetry_buffer(); - ddog_sidecar_telemetry_register_metric_buffer(buffer, DDOG_CHARSLICE_C("otel.env.invalid"), DDOG_METRIC_TYPE_COUNT, - DDOG_METRIC_NAMESPACE_TRACERS); ddog_CharSlice tags; tags.len = asprintf((char **)&tags.ptr, "config_opentelemetry:%s,config_datadog:%s", otel_cfg, dd_cfg); ddog_sidecar_telemetry_add_span_metric_point_buffer(buffer, DDOG_CHARSLICE_C("otel.env.invalid"), 1, tags); diff --git a/ext/telemetry.c b/ext/telemetry.c index 2540555756b..6a0f40941ad 100644 --- a/ext/telemetry.c +++ b/ext/telemetry.c @@ -108,15 +108,12 @@ void ddtrace_telemetry_register_services(ddog_SidecarTransport **sidecar) { dd_bgs_queued_id = ddog_sidecar_queueId_generate(); } - ddog_SidecarActionsBuffer *buffer = ddog_sidecar_telemetry_buffer_alloc(); - ddog_sidecar_telemetry_register_metric_buffer(buffer, DDOG_CHARSLICE_C("trace_api.requests"), DDOG_METRIC_TYPE_COUNT, - DDOG_METRIC_NAMESPACE_TRACERS); - ddog_sidecar_telemetry_register_metric_buffer(buffer, DDOG_CHARSLICE_C("trace_api.responses"), DDOG_METRIC_TYPE_COUNT, - DDOG_METRIC_NAMESPACE_TRACERS); - ddog_sidecar_telemetry_register_metric_buffer(buffer, DDOG_CHARSLICE_C("trace_api.errors"), DDOG_METRIC_TYPE_COUNT, - DDOG_METRIC_NAMESPACE_TRACERS); + ddog_sidecar_telemetry_register_metric(sidecar, DDOG_CHARSLICE_C("trace_api.requests"), DDOG_METRIC_TYPE_COUNT, DDOG_METRIC_NAMESPACE_TRACERS); + ddog_sidecar_telemetry_register_metric(sidecar, DDOG_CHARSLICE_C("trace_api.responses"), DDOG_METRIC_TYPE_COUNT, DDOG_METRIC_NAMESPACE_TRACERS); + ddog_sidecar_telemetry_register_metric(sidecar, DDOG_CHARSLICE_C("trace_api.errors"), DDOG_METRIC_TYPE_COUNT, DDOG_METRIC_NAMESPACE_TRACERS); // FIXME: it seems we must call "enqueue_actions" (even with an empty list of actions) for things to work properly + ddog_SidecarActionsBuffer *buffer = ddog_sidecar_telemetry_buffer_alloc(); ddtrace_ffi_try("Failed flushing background sender telemetry buffer", ddog_sidecar_telemetry_buffer_flush(sidecar, ddtrace_sidecar_instance_id, &dd_bgs_queued_id, buffer)); } @@ -223,7 +220,7 @@ void ddtrace_telemetry_finalize() { // Telemetry metrics ddog_CharSlice metric_name = DDOG_CHARSLICE_C("spans_created"); - ddog_sidecar_telemetry_register_metric_buffer(buffer, metric_name, DDOG_METRIC_TYPE_COUNT, DDOG_METRIC_NAMESPACE_TRACERS); + ddog_sidecar_telemetry_register_metric(&ddtrace_sidecar, metric_name, DDOG_METRIC_TYPE_COUNT, DDOG_METRIC_NAMESPACE_TRACERS); zend_string *integration_name; zval *metric_value; ZEND_HASH_FOREACH_STR_KEY_VAL(&DDTRACE_G(telemetry_spans_created_per_integration), integration_name, metric_value) { @@ -232,18 +229,18 @@ void ddtrace_telemetry_finalize() { zai_string_destroy(&tags); } ZEND_HASH_FOREACH_END(); - ddog_sidecar_telemetry_register_metric_buffer(buffer, DDOG_CHARSLICE_C("context_header_style.extracted"), DDOG_METRIC_TYPE_COUNT, DDOG_METRIC_NAMESPACE_TRACERS); + ddog_sidecar_telemetry_register_metric(&ddtrace_sidecar, DDOG_CHARSLICE_C("context_header_style.extracted"), DDOG_METRIC_TYPE_COUNT, DDOG_METRIC_NAMESPACE_TRACERS); ddog_sidecar_telemetry_add_span_metric_point_buffer(buffer, DDOG_CHARSLICE_C("context_header_style.extracted"), DDTRACE_G(baggage_extract_count), DDOG_CHARSLICE_C("header_style:baggage")); - ddog_sidecar_telemetry_register_metric_buffer(buffer, DDOG_CHARSLICE_C("context_header_style.injected"), DDOG_METRIC_TYPE_COUNT, DDOG_METRIC_NAMESPACE_TRACERS); + ddog_sidecar_telemetry_register_metric(&ddtrace_sidecar, DDOG_CHARSLICE_C("context_header_style.injected"), DDOG_METRIC_TYPE_COUNT, DDOG_METRIC_NAMESPACE_TRACERS); ddog_sidecar_telemetry_add_span_metric_point_buffer(buffer, DDOG_CHARSLICE_C("context_header_style.injected"), DDTRACE_G(baggage_inject_count), DDOG_CHARSLICE_C("header_style:baggage")); - ddog_sidecar_telemetry_register_metric_buffer(buffer, DDOG_CHARSLICE_C("context_header.truncated"), DDOG_METRIC_TYPE_COUNT, DDOG_METRIC_NAMESPACE_TRACERS); + ddog_sidecar_telemetry_register_metric(&ddtrace_sidecar, DDOG_CHARSLICE_C("context_header.truncated"), DDOG_METRIC_TYPE_COUNT, DDOG_METRIC_NAMESPACE_TRACERS); ddog_sidecar_telemetry_add_span_metric_point_buffer(buffer, DDOG_CHARSLICE_C("context_header.truncated"), DDTRACE_G(baggage_max_item_count), DDOG_CHARSLICE_C("truncation_reason:baggage_byte_item_exceeded")); ddog_sidecar_telemetry_add_span_metric_point_buffer(buffer, DDOG_CHARSLICE_C("context_header.truncated"), DDTRACE_G(baggage_max_byte_count), DDOG_CHARSLICE_C("truncation_reason:baggage_byte_count_exceeded")); - ddog_sidecar_telemetry_register_metric_buffer(buffer, DDOG_CHARSLICE_C("context_header_style.malformed"), DDOG_METRIC_TYPE_COUNT, DDOG_METRIC_NAMESPACE_TRACERS); + ddog_sidecar_telemetry_register_metric(&ddtrace_sidecar, DDOG_CHARSLICE_C("context_header_style.malformed"), DDOG_METRIC_TYPE_COUNT, DDOG_METRIC_NAMESPACE_TRACERS); ddog_sidecar_telemetry_add_span_metric_point_buffer(buffer, DDOG_CHARSLICE_C("context_header_style.malformed"), DDTRACE_G(baggage_malformed_count), DDOG_CHARSLICE_C("header_style:baggage")); metric_name = DDOG_CHARSLICE_C("logs_created"); - ddog_sidecar_telemetry_register_metric_buffer(buffer, metric_name, DDOG_METRIC_TYPE_COUNT, DDOG_METRIC_NAMESPACE_GENERAL); + ddog_sidecar_telemetry_register_metric(&ddtrace_sidecar, metric_name, DDOG_METRIC_TYPE_COUNT, DDOG_METRIC_NAMESPACE_GENERAL); static struct { ddog_CharSlice level; ddog_CharSlice tags; @@ -358,12 +355,11 @@ ZEND_TLS ddog_SidecarActionsBuffer *metrics_buffer; DDTRACE_PUBLIC void ddtrace_metric_register_buffer(zend_string *name, ddog_MetricType type, ddog_MetricNamespace ns) { - if (!metrics_buffer) { - metrics_buffer = ddog_sidecar_telemetry_buffer_alloc(); + if (!ddtrace_sidecar) { + return; } - ddog_CharSlice metric_name = dd_zend_string_to_CharSlice(name); - ddog_sidecar_telemetry_register_metric_buffer(metrics_buffer, metric_name, type, ns); + ddog_sidecar_telemetry_register_metric(&ddtrace_sidecar, metric_name, type, ns); } DDTRACE_PUBLIC bool ddtrace_metric_add_point(zend_string *name, double value, zend_string *tags) { diff --git a/libdatadog b/libdatadog index b77cbec9eb1..f5906cf9632 160000 --- a/libdatadog +++ b/libdatadog @@ -1 +1 @@ -Subproject commit b77cbec9eb187e0984cb5d8af7c4e57d56f79fe0 +Subproject commit f5906cf9632ace485b4cab684ed43ab4f56823b6 From 9f4bde6df4bf1a719646f445e1c95b90740032d5 Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Fri, 13 Mar 2026 22:49:28 +0100 Subject: [PATCH 05/15] Make this Makefile more cleverer Signed-off-by: Bob Weinand --- Makefile | 9 ++++++++- components-rs/common.h | 2 +- components-rs/ddtrace.h | 6 +++--- components-rs/sidecar.h | 2 -- ext/sidecar.c | 6 ++---- libdatadog | 2 +- 6 files changed, 15 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index a659308034d..3501f5a1f2f 100644 --- a/Makefile +++ b/Makefile @@ -113,7 +113,14 @@ $(BUILD_DIR)/run-tests.php: $(if $(ASSUME_COMPILED),, $(BUILD_DIR)/configure) $(if $(ASSUME_COMPILED), cp $(shell dirname $(shell realpath $(shell which phpize)))/../lib/php/build/run-tests.php $(BUILD_DIR)/run-tests.php) sed -i 's/\bdl(/(bool)(/' $(BUILD_DIR)/run-tests.php # this dl() stuff in run-tests.php is for --EXTENSIONS-- sections, which we don't use; just strip it away (see https://github.com/php/php-src/issues/15367) -$(BUILD_DIR)/Makefile: $(BUILD_DIR)/configure +# ensure list of rust files is up to date +$(BUILD_DIR)/.rust_files_list: $(RUST_FILES) + $(Q) printf '%s\n' $(RUST_FILES) | sort > $(BUILD_DIR)/.rust_files_list.tmp + $(Q) cmp -s $(BUILD_DIR)/.rust_files_list $(BUILD_DIR)/.rust_files_list.tmp 2>/dev/null \ + && rm -f $(BUILD_DIR)/.rust_files_list.tmp \ + || mv $(BUILD_DIR)/.rust_files_list.tmp $(BUILD_DIR)/.rust_files_list + +$(BUILD_DIR)/Makefile: $(BUILD_DIR)/configure $(BUILD_DIR)/.rust_files_list $(Q) (cd $(BUILD_DIR); $(if $(ASAN),CFLAGS="${CFLAGS} -DZEND_TRACK_ARENA_ALLOC") ./configure --$(if $(RUST_DEBUG_BUILD),enable,disable)-ddtrace-rust-debug $(if $(ASAN), --enable-ddtrace-sanitize) $(EXTRA_CONFIGURE_OPTIONS)) $(SO_FILE): $(if $(ASSUME_COMPILED),, $(ALL_OBJECT_FILES) $(BUILD_DIR)/compile_rust.sh) diff --git a/components-rs/common.h b/components-rs/common.h index 5d125dabac5..0b37fe4987f 100644 --- a/components-rs/common.h +++ b/components-rs/common.h @@ -429,7 +429,7 @@ typedef struct ddog_RemoteConfigState ddog_RemoteConfigState; typedef struct ddog_SidecarActionsBuffer ddog_SidecarActionsBuffer; /** - * `SidecarTransport` wraps a [`SidecarInterfaceChannel`] with transparent reconnection support. + * `SidecarTransport` wraps a [`SidecarSender`] with transparent reconnection support. * * This transport is used for communication between different parts of the sidecar service. * It is a blocking transport (all operations block the current thread). diff --git a/components-rs/ddtrace.h b/components-rs/ddtrace.h index 7f24765bc79..8ec6a4ce81f 100644 --- a/components-rs/ddtrace.h +++ b/components-rs/ddtrace.h @@ -158,9 +158,9 @@ ddog_MaybeError ddog_sidecar_telemetry_buffer_flush(struct ddog_SidecarTransport struct ddog_SidecarActionsBuffer *buffer); ddog_MaybeError ddog_sidecar_telemetry_register_metric(struct ddog_SidecarTransport **transport, - ddog_CharSlice metric_name, - enum ddog_MetricType metric_type, - enum ddog_MetricNamespace namespace_); + ddog_CharSlice metric_name, + enum ddog_MetricType metric_type, + enum ddog_MetricNamespace namespace_); void ddog_sidecar_telemetry_add_span_metric_point_buffer(struct ddog_SidecarActionsBuffer *buffer, ddog_CharSlice metric_name, diff --git a/components-rs/sidecar.h b/components-rs/sidecar.h index c05919baf43..a8d72f40384 100644 --- a/components-rs/sidecar.h +++ b/components-rs/sidecar.h @@ -207,7 +207,6 @@ ddog_MaybeError ddog_sidecar_session_set_config(struct ddog_SidecarTransport **t * Updates the process_tags for an existing session. */ ddog_MaybeError ddog_sidecar_session_set_process_tags(struct ddog_SidecarTransport **transport, - ddog_CharSlice session_id, ddog_CharSlice process_tags); /** @@ -361,7 +360,6 @@ ddog_MaybeError ddog_sidecar_dogstatsd_set(struct ddog_SidecarTransport **transp * Sets x-datadog-test-session-token on all requests for the given session. */ ddog_MaybeError ddog_sidecar_set_test_session_token(struct ddog_SidecarTransport **transport, - ddog_CharSlice session_id, ddog_CharSlice token); /** diff --git a/ext/sidecar.c b/ext/sidecar.c index 336cb710698..b0970312745 100644 --- a/ext/sidecar.c +++ b/ext/sidecar.c @@ -129,8 +129,7 @@ void ddtrace_sidecar_update_process_tags(void) { return; } - ddog_CharSlice session_id = (ddog_CharSlice) {.ptr = (char *) dd_sidecar_formatted_session_id, .len = sizeof(dd_sidecar_formatted_session_id)}; - ddog_sidecar_session_set_process_tags(&ddtrace_sidecar, session_id, dd_zend_string_to_CharSlice(process_tags)); + ddog_sidecar_session_set_process_tags(&ddtrace_sidecar, dd_zend_string_to_CharSlice(process_tags)); } static void dd_sidecar_on_reconnect(ddog_SidecarTransport *transport) { @@ -632,9 +631,8 @@ bool ddtrace_alter_test_session_token(zval *old_value, zval *new_value, zend_str UNUSED(old_value, new_str); if (ddtrace_sidecar) { ddog_endpoint_set_test_token(ddtrace_endpoint, dd_zend_string_to_CharSlice(Z_STR_P(new_value))); - ddog_CharSlice session_id = (ddog_CharSlice) {.ptr = (char *) dd_sidecar_formatted_session_id, .len = sizeof(dd_sidecar_formatted_session_id)}; ddtrace_ffi_try("Failed updating test session token", - ddog_sidecar_set_test_session_token(&ddtrace_sidecar, session_id, dd_zend_string_to_CharSlice(Z_STR_P(new_value)))); + ddog_sidecar_set_test_session_token(&ddtrace_sidecar, dd_zend_string_to_CharSlice(Z_STR_P(new_value)))); } #ifndef _WIN32 ddtrace_coms_set_test_session_token(Z_STRVAL_P(new_value), Z_STRLEN_P(new_value)); diff --git a/libdatadog b/libdatadog index f5906cf9632..ec23c6c133e 160000 --- a/libdatadog +++ b/libdatadog @@ -1 +1 @@ -Subproject commit f5906cf9632ace485b4cab684ed43ab4f56823b6 +Subproject commit ec23c6c133e32989687a373ac9fc80553b62b99f From 99afb6332419d1d136cc148aed35ba1f46673408 Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Fri, 13 Mar 2026 23:51:50 +0100 Subject: [PATCH 06/15] Update Signed-off-by: Bob Weinand --- libdatadog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libdatadog b/libdatadog index ec23c6c133e..017635110dc 160000 --- a/libdatadog +++ b/libdatadog @@ -1 +1 @@ -Subproject commit ec23c6c133e32989687a373ac9fc80553b62b99f +Subproject commit 017635110dc626c4248518ab2ce3ed660c233880 From e28161afb21759121fd70d4668e453808851e721 Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Mon, 16 Mar 2026 19:59:08 +0100 Subject: [PATCH 07/15] Fixup windows --- ext/ddtrace.c | 6 +++--- libdatadog | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ext/ddtrace.c b/ext/ddtrace.c index e636e104684..eafa56e770f 100644 --- a/ext/ddtrace.c +++ b/ext/ddtrace.c @@ -1519,15 +1519,15 @@ static PHP_MINIT_FUNCTION(ddtrace) { ddtrace_limiter_create(); ddtrace_standalone_limiter_create(); + ddtrace_log_minit(); + #ifndef _WIN32 /* Snapshot proxy-related env vars once at startup to avoid getenv() * from the background writer thread inside libcurl. */ ddtrace_coms_minit_proxy_env(); - - ddtrace_log_minit(); - ddtrace_dogstatsd_client_minit(); #endif + ddshared_minit(); ddtrace_autoload_minit(); diff --git a/libdatadog b/libdatadog index 017635110dc..f895725d99d 160000 --- a/libdatadog +++ b/libdatadog @@ -1 +1 @@ -Subproject commit 017635110dc626c4248518ab2ce3ed660c233880 +Subproject commit f895725d99dd0b4bcc5395df1ac805f518ec272d From aad064001b90959fb2e70757f911b9064fa342d4 Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Mon, 16 Mar 2026 17:11:02 +0100 Subject: [PATCH 08/15] Fix test Signed-off-by: Bob Weinand --- tests/ext/telemetry/broken_pipe.phpt | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/ext/telemetry/broken_pipe.phpt b/tests/ext/telemetry/broken_pipe.phpt index 87cc6f4ce30..bcbbc1bd631 100644 --- a/tests/ext/telemetry/broken_pipe.phpt +++ b/tests/ext/telemetry/broken_pipe.phpt @@ -29,6 +29,7 @@ dd_trace_serialize_closed_spans(); // force a reconnect, it needs to resubmit telemetry info dd_trace_internal_fn("break_sidecar_connection"); +dd_trace_internal_fn("synchronous_flush", 5000); // await connection breaking dd_trace_internal_fn("finalize_telemetry"); From 229905a3a57a29bd01c8af3cf83577b3cae10f4d Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Mon, 16 Mar 2026 22:18:23 +0100 Subject: [PATCH 09/15] Update libdatadog Signed-off-by: Bob Weinand --- Cargo.lock | 97 +++++++++++++------ components-rs/common.h | 5 +- components-rs/library-config.h | 2 + ext/signals.c | 10 +- libdatadog | 2 +- .../ext/live-debugger/debugger_log_probe.phpt | 2 +- 6 files changed, 75 insertions(+), 43 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5a4d7764460..101d6a44a3c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1200,7 +1200,7 @@ dependencies = [ "glibc_version", "io-lifetimes", "libc 0.2.177", - "libdd-common 2.0.0", + "libdd-common 2.0.1", "libdd-tinybytes", "memfd", "nix 0.29.0", @@ -1236,7 +1236,7 @@ dependencies = [ "constcat", "http", "http-body-util", - "libdd-common 2.0.0", + "libdd-common 2.0.1", "libdd-data-pipeline", "percent-encoding", "regex", @@ -1255,7 +1255,7 @@ version = "0.0.1" dependencies = [ "build_common", "datadog-live-debugger", - "libdd-common 2.0.0", + "libdd-common 2.0.1", "libdd-common-ffi", "log", "percent-encoding", @@ -1286,7 +1286,7 @@ dependencies = [ "lazy_static", "libc 0.2.177", "libdd-alloc", - "libdd-common 2.0.0 (git+https://github.com/DataDog/libdatadog?tag=v29.0.0)", + "libdd-common 2.0.0", "libdd-library-config-ffi", "libdd-profiling", "log", @@ -1318,7 +1318,7 @@ dependencies = [ "http-body-util", "hyper", "hyper-util", - "libdd-common 2.0.0", + "libdd-common 2.0.1", "libdd-trace-protobuf", "manual_future", "regex", @@ -1353,7 +1353,7 @@ dependencies = [ "http-body-util", "httpmock", "libc 0.2.177", - "libdd-common 2.0.0", + "libdd-common 2.0.1", "libdd-common-ffi", "libdd-crashtracker", "libdd-crashtracker-ffi", @@ -1398,7 +1398,7 @@ dependencies = [ "datadog-sidecar", "http", "libc 0.2.177", - "libdd-common 2.0.0", + "libdd-common 2.0.1", "libdd-common-ffi", "libdd-crashtracker-ffi", "libdd-dogstatsd-client", @@ -1441,7 +1441,7 @@ dependencies = [ "itertools 0.11.0", "lazy_static", "libc 0.2.177", - "libdd-common 2.0.0", + "libdd-common 2.0.1", "libdd-common-ffi", "libdd-crashtracker-ffi", "libdd-library-config-ffi", @@ -2699,6 +2699,7 @@ dependencies = [ [[package]] name = "libdd-common" version = "2.0.0" +source = "git+https://github.com/DataDog/libdatadog?tag=v29.0.0#001bd56fcbba34fa4ec3f9798a6c4fbcddeffa40" dependencies = [ "anyhow", "bytes", @@ -2715,9 +2716,7 @@ dependencies = [ "hyper", "hyper-rustls", "hyper-util", - "indexmap 2.12.1", "libc 0.2.177", - "maplit", "mime", "multer", "nix 0.29.0", @@ -2729,7 +2728,6 @@ dependencies = [ "rustls-native-certs", "serde", "static_assertions", - "tempfile", "thiserror 1.0.69", "tokio", "tokio-rustls", @@ -2739,8 +2737,7 @@ dependencies = [ [[package]] name = "libdd-common" -version = "2.0.0" -source = "git+https://github.com/DataDog/libdatadog?tag=v29.0.0#001bd56fcbba34fa4ec3f9798a6c4fbcddeffa40" +version = "2.0.1" dependencies = [ "anyhow", "bytes", @@ -2757,7 +2754,9 @@ dependencies = [ "hyper", "hyper-rustls", "hyper-util", + "indexmap 2.12.1", "libc 0.2.177", + "maplit", "mime", "multer", "nix 0.29.0", @@ -2767,8 +2766,10 @@ dependencies = [ "reqwest", "rustls", "rustls-native-certs", + "rusty-fork", "serde", "static_assertions", + "tempfile", "thiserror 1.0.69", "tokio", "tokio-rustls", @@ -2788,7 +2789,7 @@ dependencies = [ "crossbeam-queue", "function_name", "hyper", - "libdd-common 2.0.0", + "libdd-common 2.0.1", "serde", ] @@ -2797,7 +2798,6 @@ name = "libdd-crashtracker" version = "1.0.0" dependencies = [ "anyhow", - "backtrace", "blazesym", "cc", "chrono", @@ -2807,7 +2807,8 @@ dependencies = [ "goblin", "http", "libc 0.2.177", - "libdd-common 2.0.0", + "libdd-common 2.0.1", + "libdd-libunwind-sys", "libdd-telemetry", "nix 0.29.0", "num-derive", @@ -2836,7 +2837,7 @@ dependencies = [ "build_common", "function_name", "libc 0.2.177", - "libdd-common 2.0.0", + "libdd-common 2.0.1", "libdd-common-ffi", "libdd-crashtracker", "serde", @@ -2849,7 +2850,7 @@ dependencies = [ [[package]] name = "libdd-data-pipeline" -version = "2.0.0" +version = "2.0.1" dependencies = [ "anyhow", "arc-swap", @@ -2860,7 +2861,7 @@ dependencies = [ "http", "http-body-util", "httpmock", - "libdd-common 2.0.0", + "libdd-common 2.0.1", "libdd-ddsketch", "libdd-dogstatsd-client", "libdd-log", @@ -2898,7 +2899,7 @@ dependencies = [ "anyhow", "cadence", "http", - "libdd-common 2.0.0", + "libdd-common 2.0.1", "serde", "tokio", "tracing", @@ -2906,7 +2907,7 @@ dependencies = [ [[package]] name = "libdd-library-config" -version = "1.0.0" +version = "1.1.0" dependencies = [ "anyhow", "libdd-trace-protobuf", @@ -2929,12 +2930,21 @@ dependencies = [ "anyhow", "build_common", "constcat", - "libdd-common 2.0.0", + "libdd-common 2.0.1", "libdd-common-ffi", "libdd-library-config", "tempfile", ] +[[package]] +name = "libdd-libunwind-sys" +version = "0.0.1" +dependencies = [ + "cc", + "libc 0.2.177", + "paste", +] + [[package]] name = "libdd-log" version = "1.0.0" @@ -2966,7 +2976,7 @@ dependencies = [ "httparse", "indexmap 2.12.1", "libdd-alloc", - "libdd-common 2.0.0 (git+https://github.com/DataDog/libdatadog?tag=v29.0.0)", + "libdd-common 2.0.0", "libdd-profiling-protobuf", "mime", "parking_lot", @@ -3004,7 +3014,7 @@ dependencies = [ "http", "http-body-util", "libc 0.2.177", - "libdd-common 2.0.0", + "libdd-common 2.0.1", "libdd-ddsketch", "serde", "serde_json", @@ -3024,7 +3034,7 @@ dependencies = [ "build_common", "function_name", "libc 0.2.177", - "libdd-common 2.0.0", + "libdd-common 2.0.1", "libdd-common-ffi", "libdd-telemetry", "paste", @@ -3047,7 +3057,7 @@ dependencies = [ [[package]] name = "libdd-trace-normalization" -version = "1.0.1" +version = "1.0.2" dependencies = [ "anyhow", "arbitrary", @@ -3059,7 +3069,7 @@ dependencies = [ [[package]] name = "libdd-trace-protobuf" -version = "1.1.0" +version = "2.0.0" dependencies = [ "prost", "prost-build", @@ -3072,7 +3082,7 @@ dependencies = [ [[package]] name = "libdd-trace-stats" -version = "1.0.1" +version = "1.0.3" dependencies = [ "criterion", "hashbrown 0.15.2", @@ -3084,7 +3094,7 @@ dependencies = [ [[package]] name = "libdd-trace-utils" -version = "2.0.0" +version = "2.0.2" dependencies = [ "anyhow", "bolero", @@ -3100,7 +3110,7 @@ dependencies = [ "httpmock", "hyper", "indexmap 2.12.1", - "libdd-common 2.0.0", + "libdd-common 2.0.1", "libdd-tinybytes", "libdd-trace-normalization", "libdd-trace-protobuf", @@ -4197,6 +4207,12 @@ dependencies = [ "syn 2.0.96", ] +[[package]] +name = "quick-error" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" + [[package]] name = "quinn" version = "0.11.9" @@ -4724,6 +4740,18 @@ version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" +[[package]] +name = "rusty-fork" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc6bf79ff24e648f6da1f8d1f011e9cac26491b619e6b9280f2b47f1774e6ee2" +dependencies = [ + "fnv", + "quick-error", + "tempfile", + "wait-timeout", +] + [[package]] name = "ruzstd" version = "0.3.1" @@ -6046,6 +6074,15 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" +[[package]] +name = "wait-timeout" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" +dependencies = [ + "libc 0.2.177", +] + [[package]] name = "walkdir" version = "2.5.0" diff --git a/components-rs/common.h b/components-rs/common.h index 0b37fe4987f..186c9666607 100644 --- a/components-rs/common.h +++ b/components-rs/common.h @@ -1228,9 +1228,6 @@ typedef enum ddog_crasht_SignalNames { * variable to allow downgrading the collector. */ typedef enum ddog_crasht_StacktraceCollection { - /** - * Stacktrace collection occurs in the - */ DDOG_CRASHT_STACKTRACE_COLLECTION_DISABLED, DDOG_CRASHT_STACKTRACE_COLLECTION_WITHOUT_SYMBOLS, /** @@ -1305,7 +1302,7 @@ typedef struct ddog_crasht_Config { * The endpoint to send the crash report to (can be a file://). * If None, the crashtracker will infer the agent host from env variables. */ - const struct ddog_Endpoint *endpoint; + ddog_CharSlice endpoint; /** * Optional filename for a unix domain socket if the receiver is used asynchonously */ diff --git a/components-rs/library-config.h b/components-rs/library-config.h index 4bbc3d17f4a..c29b0cf3e55 100644 --- a/components-rs/library-config.h +++ b/components-rs/library-config.h @@ -91,6 +91,8 @@ void ddog_tracer_metadata_set(struct ddog_TracerMetadata *ptr, /** * Serializes the `TracerMetadata` into a platform-specific memory handle (e.g., memfd on Linux). + * This function also attempts to publish the tracer metadata as an OTel process context + * separately, but will ignore resulting errors. * * # Safety * - `ptr` must be a valid, non-null pointer to a `TracerMetadata`. diff --git a/ext/signals.c b/ext/signals.c index 096bf28b20b..13641e509ed 100644 --- a/ext/signals.c +++ b/ext/signals.c @@ -256,13 +256,9 @@ static void dd_init_crashtracker() { free((void *) socket_path.ptr); socket_path.ptr = crashtracker_socket_path; - ddog_Endpoint *agent_endpoint = ddtrace_sidecar_agent_endpoint(); - if (!agent_endpoint) { - return; - } - + char *endpoint = ddtrace_agent_url(); ddog_crasht_Config config = { - .endpoint = agent_endpoint, + .endpoint = (ddog_CharSlice){ .ptr = endpoint, .len = strlen(endpoint) }, .timeout_ms = 5000, .resolve_frames = DDOG_CRASHT_STACKTRACE_COLLECTION_ENABLED_WITH_INPROCESS_SYMBOLS, .optional_unix_socket_filename = socket_path, @@ -284,7 +280,7 @@ static void dd_init_crashtracker() { ddtrace_register_crashtracking_frames_collection(); - ddog_endpoint_drop(agent_endpoint); + free(endpoint); ddog_Vec_Tag_drop(tags); } diff --git a/libdatadog b/libdatadog index f895725d99d..78104b87365 160000 --- a/libdatadog +++ b/libdatadog @@ -1 +1 @@ -Subproject commit f895725d99dd0b4bcc5395df1ac805f518ec272d +Subproject commit 78104b873653c03d1377b0ceaebcafe1f0dfba3f diff --git a/tests/ext/live-debugger/debugger_log_probe.phpt b/tests/ext/live-debugger/debugger_log_probe.phpt index 7edb7199ba9..87ce0d046a4 100644 --- a/tests/ext/live-debugger/debugger_log_probe.phpt +++ b/tests/ext/live-debugger/debugger_log_probe.phpt @@ -226,7 +226,7 @@ array(6) { ["fileName"]=> string(%d) "%sdebugger_log_probe.php" ["function"]=> - string(8) "foo::Bar" + string(8) "Bar::foo" ["lineNumber"]=> int(11) } From 992785f5832110248aaafc1c26ec35f5e15a7178 Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Tue, 17 Mar 2026 02:43:27 +0100 Subject: [PATCH 10/15] Add automake Signed-off-by: Bob Weinand --- Cargo.lock | 2 +- Makefile | 2 +- config.m4 | 7 +++++++ dockerfiles/ci/alpine_compile_extension/base.Dockerfile | 1 + dockerfiles/ci/centos/7/base.Dockerfile | 9 +++++++++ libdatadog | 2 +- 6 files changed, 20 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 101d6a44a3c..9cdc5b41e5b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2938,7 +2938,7 @@ dependencies = [ [[package]] name = "libdd-libunwind-sys" -version = "0.0.1" +version = "0.1.0" dependencies = [ "cc", "libc 0.2.177", diff --git a/Makefile b/Makefile index 3501f5a1f2f..f6584ae2813 100644 --- a/Makefile +++ b/Makefile @@ -48,7 +48,7 @@ RUN_TESTS_CMD := DD_SERVICE= DD_ENV= REPORT_EXIT_STATUS=1 TEST_PHP_SRCDIR=$(PROJ C_FILES = $(shell find components components-rs ext src/dogstatsd zend_abstract_interface -name '*.c' -o -name '*.h' | awk '{ printf "$(BUILD_DIR)/%s\n", $$1 }' ) TEST_FILES = $(shell find tests/ext -name '*.php*' -o -name '*.inc' -o -name '*.json' -o -name '*.yaml' -o -name 'CONFLICTS' | awk '{ printf "$(BUILD_DIR)/%s\n", $$1 }' ) -RUST_FILES = $(BUILD_DIR)/Cargo.toml $(BUILD_DIR)/Cargo.lock $(shell find components-rs -name '*.c' -o -name '*.rs' -o -name 'Cargo.toml' | awk '{ printf "$(BUILD_DIR)/%s\n", $$1 }' ) $(shell find libdatadog/{build-common,datadog-ffe,datadog-ipc,datadog-ipc-macros,datadog-live-debugger,datadog-live-debugger-ffi,datadog-remote-config,datadog-sidecar,datadog-sidecar-ffi,datadog-sidecar-macros,libdd-alloc,libdd-common,libdd-common-ffi,libdd-crashtracker,libdd-crashtracker-ffi,libdd-data-pipeline,libdd-ddsketch,libdd-dogstatsd-client,libdd-library-config,libdd-library-config-ffi,libdd-log,libdd-telemetry,libdd-telemetry-ffi,libdd-tinybytes,libdd-trace-*,spawn_worker,tools/{cc_utils,sidecar_mockgen},libdd-trace-*,Cargo.toml} \( -type l -o -type f \) \( -path "*/src*" -o -path "*/examples*" -o -path "*Cargo.toml" -o -path "*/build.rs" -o -path "*/tests/dataservice.rs" -o -path "*/tests/service_functional.rs" \) -not -path "*/datadog-ipc/build.rs" -not -path "*/datadog-sidecar-ffi/build.rs") +RUST_FILES = $(BUILD_DIR)/Cargo.toml $(BUILD_DIR)/Cargo.lock $(shell find components-rs -name '*.c' -o -name '*.rs' -o -name 'Cargo.toml' | awk '{ printf "$(BUILD_DIR)/%s\n", $$1 }' ) $(shell find libdatadog/{build-common,datadog-ffe,datadog-ipc,datadog-ipc-macros,datadog-live-debugger,datadog-live-debugger-ffi,datadog-remote-config,datadog-sidecar,datadog-sidecar-ffi,datadog-sidecar-macros,libdd-alloc,libdd-common,libdd-common-ffi,libdd-crashtracker,libdd-crashtracker-ffi,libdd-data-pipeline,libdd-ddsketch,libdd-dogstatsd-client,libdd-library-config,libdd-library-config-ffi,libdd-log,libdd-libunwind-sys,libdd-telemetry,libdd-telemetry-ffi,libdd-tinybytes,libdd-trace-*,spawn_worker,tools/{cc_utils,sidecar_mockgen},libdd-trace-*,Cargo.toml} \( -type l -o -type f \) \( -path "*/src*" -o -path "*/examples*" -o -path "*Cargo.toml" -o -path "*/build.rs" -o -path "*/tests/dataservice.rs" -o -path "*/tests/service_functional.rs" \) -not -path "*/datadog-ipc/build.rs" -not -path "*/datadog-sidecar-ffi/build.rs") ALL_OBJECT_FILES = $(C_FILES) $(RUST_FILES) $(BUILD_DIR)/Makefile TEST_OPCACHE_FILES = $(shell find tests/opcache -name '*.php*' -o -name '.gitkeep' | awk '{ printf "$(BUILD_DIR)/%s\n", $$1 }' ) TEST_STUB_FILES = $(shell find tests/ext -type d -name 'stubs' -exec find '{}' -type f \; | awk '{ printf "$(BUILD_DIR)/%s\n", $$1 }' ) diff --git a/config.m4 b/config.m4 index 9eb5aaca874..79f3f880796 100644 --- a/config.m4 +++ b/config.m4 @@ -64,6 +64,13 @@ if test "$PHP_DDTRACE" != "no"; then PHP_SUBST(DDTRACE_CARGO) fi + dnl As required by libdd-libunwind-sys + if test "$PHP_DDTRACE_RUST_LIBRARY" = "-"; then + AC_CHECK_TOOL(DDTRACE_AUTOMAKE, automake, [:]) + AS_IF([test "$DDTRACE_AUTOMAKE" = ":"], [AC_MSG_ERROR([Please install automake before configuring])]) + PHP_SUBST(DDTRACE_AUTOMAKE) + fi + if test "$PHP_DDTRACE_SANITIZE" != "no"; then dnl gcc needs -lasan, clang needs -shared-libsan ac_cflags=$LDFLAGS diff --git a/dockerfiles/ci/alpine_compile_extension/base.Dockerfile b/dockerfiles/ci/alpine_compile_extension/base.Dockerfile index f1627136c74..9ac236f770a 100644 --- a/dockerfiles/ci/alpine_compile_extension/base.Dockerfile +++ b/dockerfiles/ci/alpine_compile_extension/base.Dockerfile @@ -9,6 +9,7 @@ RUN set -eux; \ apk add --no-cache \ bash \ autoconf \ + automake \ catch2 \ coreutils \ g++ \ diff --git a/dockerfiles/ci/centos/7/base.Dockerfile b/dockerfiles/ci/centos/7/base.Dockerfile index a221aeeb563..423898f31b8 100644 --- a/dockerfiles/ci/centos/7/base.Dockerfile +++ b/dockerfiles/ci/centos/7/base.Dockerfile @@ -15,6 +15,7 @@ RUN set -eux; \ gcc \ gcc-c++ \ git \ + help2man \ libcurl-devel \ libedit-devel \ make \ @@ -55,6 +56,14 @@ RUN set -eux; \ ../configure && make -j $(nproc) && make install; \ cd - && rm -fr build +# Automake required +RUN set -eux; \ + /root/download-src.sh automake https://mirrors.kernel.org/gnu/automake/automake-1.13.4.tar.gz; \ + cd "${SRC_DIR}/automake"; \ + mkdir -v 'build' && cd 'build'; \ + ../configure && make -j $(nproc) && make install; \ + cd - && rm -fr build + # Required: libxml >= 2.9.0 (default version is 2.7.6) RUN source scl_source enable devtoolset-7; set -eux; \ /root/download-src.sh libxml2 http://xmlsoft.org/sources/libxml2-2.9.10.tar.gz; \ diff --git a/libdatadog b/libdatadog index 78104b87365..3e890d5596a 160000 --- a/libdatadog +++ b/libdatadog @@ -1 +1 @@ -Subproject commit 78104b873653c03d1377b0ceaebcafe1f0dfba3f +Subproject commit 3e890d5596ac7f03d52f3124ea2c7b4597aec2bd From ea812810f6e3b4ba2a4f322af34bac0d09a21141 Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Tue, 17 Mar 2026 15:47:52 +0100 Subject: [PATCH 11/15] Include Pid in error log messages Signed-off-by: Bob Weinand --- components-rs/log.rs | 2 +- .../dd_init_open_basedir.phpt | 8 +-- .../error_get_last_is_unaffected.phpt | 6 +-- .../autoload-php-files/file_not_found.phpt | 6 +-- .../ignores_exceptions.phpt | 6 +-- .../ignores_fatal_errors.phpt | 6 +-- .../ext/background-sender/agent_headers.phpt | 4 +- .../agent_headers_container_id.phpt | 4 +- .../agent_headers_container_id_empty.phpt | 4 +- .../agent_headers_container_id_fargate.phpt | 4 +- .../agent_headers_ignore_userland.phpt | 2 +- .../ext/background-sender/agent_sampling.phpt | 8 +-- .../agent_sampling_sidecar.phpt | 8 +-- .../sidecar_handles_invalid_agent_url.phpt | 2 +- tests/ext/close_spans_until.phpt | 52 +++++++++---------- ..._and_backtrace_are_mutually_exclusive.phpt | 2 +- tests/ext/dd_trace_log_file.phpt | 2 +- .../ext/dd_trace_serialize_msgpack_error.phpt | 6 +-- .../dropped_spans_have_negative_duration.phpt | 2 +- tests/ext/flush-autofinish.phpt | 4 +- tests/ext/force_flush_traces.phpt | 2 +- .../curl/distributed_tracing_curl.phpt | 4 +- .../distributed_tracing_curl_copy_handle.phpt | 2 +- .../distributed_tracing_curl_drop_dm.phpt | 2 +- ...ted_tracing_curl_existing_headers_001.phpt | 2 +- ...ted_tracing_curl_existing_headers_002.phpt | 2 +- ...ted_tracing_curl_existing_headers_003.phpt | 2 +- ...distributed_tracing_curl_invalid_tags.phpt | 2 +- ...stributed_tracing_curl_multi_exec_001.phpt | 2 +- ...stributed_tracing_curl_multi_exec_002.phpt | 2 +- ...stributed_tracing_curl_multi_exec_003.phpt | 2 +- ...d_tracing_curl_multi_exec_copy_handle.phpt | 2 +- ..._curl_multi_exec_existing_headers_001.phpt | 2 +- ..._curl_multi_exec_existing_headers_002.phpt | 2 +- .../distributed_tracing_curl_tracestate.phpt | 2 +- .../distributed_tracing_http_streams.phpt | 4 +- ...ributed_tracing_http_streams_disabled.phpt | 4 +- ...acing_http_streams_with_headers_array.phpt | 4 +- ...cing_http_streams_with_headers_string.phpt | 4 +- .../pcntl_fork_long_running_autoflush.phpt | 16 +++--- .../sandbox-prehook/exception_error_log.phpt | 4 +- ...errors_are_ignored_in_tracing_closure.phpt | 8 +-- .../class_resolver_bailout_hook.phpt | 4 +- .../limiter_reset_flush_with_open_spans.phpt | 10 ++-- tests/ext/sandbox/auto_flush.phpt | 8 +-- .../sandbox/auto_flush_attach_exception.phpt | 4 +- .../sandbox/auto_flush_disables_tracing.phpt | 8 +-- .../sandbox/auto_flush_sandbox_exception.phpt | 4 +- .../auto_flush_userland_root_span.phpt | 8 +-- .../deferred_load_attempt_loading_once.phpt | 2 +- tests/ext/sandbox/deferred_load_fatal.phpt | 2 +- .../deferred_load_missing_interface.phpt | 4 +- tests/ext/sandbox/die_in_sandbox.phpt | 8 +-- tests/ext/sandbox/exception_error_log.phpt | 4 +- ...errors_are_ignored_in_tracing_closure.phpt | 8 +-- .../fatal_errors_ignored_in_shutdown.phpt | 4 +- ...tal_errors_ignored_in_tracing_closure.phpt | 4 +- tests/ext/sandbox/hook_function/03.phpt | 4 +- .../hook_does_not_leak_error.phpt | 6 +-- .../hook_function/posthook_error_02.phpt | 4 +- .../hook_function/posthook_exceptions_04.phpt | 4 +- .../hook_function/prehook_error_02.phpt | 4 +- .../hook_function/prehook_exceptions_02.phpt | 4 +- .../hook_function/prehook_exceptions_04.phpt | 4 +- tests/ext/sandbox/hook_limit.phpt | 4 +- tests/ext/sandbox/hook_method/03.phpt | 4 +- .../ext/sandbox/hook_method/posthook_07.phpt | 2 +- .../hook_method/posthook_error_02.phpt | 4 +- .../sandbox/hook_method/prehook_error_02.phpt | 4 +- .../hook_method/prehook_exceptions_02.phpt | 4 +- tests/ext/sandbox/install_hook/hook_file.phpt | 2 +- .../install_hook_return_by_ref.phpt | 4 +- .../install_hook/replace_hook_args.phpt | 6 +-- tests/ext/sandbox/manual_flush.phpt | 4 +- .../retval_is_null_with_exception.phpt | 2 +- tests/ext/sandbox/spans_out_of_sync_01.phpt | 6 +-- tests/ext/sandbox/spans_out_of_sync_02.phpt | 6 +-- tests/ext/sandbox/spans_out_of_sync_03.phpt | 6 +-- tests/ext/sandbox/spans_out_of_sync_04.phpt | 6 +-- tests/ext/sandbox/spans_out_of_sync_05.phpt | 4 +- tests/ext/sandbox/spans_out_of_sync_06.phpt | 4 +- ...c_tracing_closures_will_not_bind_this.phpt | 2 +- tests/ext/span_on_close.phpt | 8 +-- .../start_top_level_span_stack.phpt | 2 +- tests/ext/start_span_without_closing.phpt | 6 +-- ...start_span_without_closing_autofinish.phpt | 6 +-- tests/ext/telemetry/broken_pipe.phpt | 6 +-- .../telemetry/integration_runtime_error.phpt | 8 +-- tests/ext/telemetry/metrics_logs_created.phpt | 6 +-- tests/xdebug/2.7.2/self_disable_php_7.0.phpt | 4 +- tests/xdebug/2.9.2/force_inject.phpt | 4 +- tests/xdebug/2.9.2/self_disable.phpt | 4 +- 92 files changed, 227 insertions(+), 227 deletions(-) diff --git a/components-rs/log.rs b/components-rs/log.rs index f8cd5c890a3..9d7de05abd7 100644 --- a/components-rs/log.rs +++ b/components-rs/log.rs @@ -126,7 +126,7 @@ impl FormatEvent for LogFormatter } else { data.target() }; - format!("[ddtrace] [{}] {}{}\0", target, msg, suffix) + format!("[ddtrace] [{}] [{}] {}{}\0", target, std::process::id(), msg, suffix) } if let Some(msg) = visitor.msg { diff --git a/tests/ext/autoload-php-files/dd_init_open_basedir.phpt b/tests/ext/autoload-php-files/dd_init_open_basedir.phpt index 12a5fabde35..c05c7d9f547 100644 --- a/tests/ext/autoload-php-files/dd_init_open_basedir.phpt +++ b/tests/ext/autoload-php-files/dd_init_open_basedir.phpt @@ -14,8 +14,8 @@ class_exists('DDTrace\OpenBaseDir'); echo 'Done.' . PHP_EOL; ?> --EXPECTF-- -[ddtrace] [warning] Error raised in autoloaded file %s_files_api.php: %s(): Failed opening '%s_files_api.php' for inclusion %s on line %d -[ddtrace] [warning] Error raised in autoloaded file %s_files_tracer.php: %s(): Failed opening '%s_files_tracer.php' for inclusion %s on line %d -[ddtrace] [warning] Error raised in autoloaded file %sDDTrace/OpenBaseDir.php: %s(): Failed opening '%sDDTrace/OpenBaseDir.php' for inclusion %s on line %d +[ddtrace] [warning] [%d] Error raised in autoloaded file %s_files_api.php: %s(): Failed opening '%s_files_api.php' for inclusion %s on line %d +[ddtrace] [warning] [%d] Error raised in autoloaded file %s_files_tracer.php: %s(): Failed opening '%s_files_tracer.php' for inclusion %s on line %d +[ddtrace] [warning] [%d] Error raised in autoloaded file %sDDTrace/OpenBaseDir.php: %s(): Failed opening '%sDDTrace/OpenBaseDir.php' for inclusion %s on line %d Done. -[ddtrace] [info] Flushing trace of size 1 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %s diff --git a/tests/ext/autoload-php-files/error_get_last_is_unaffected.phpt b/tests/ext/autoload-php-files/error_get_last_is_unaffected.phpt index a5cc003137b..bf86e43f422 100644 --- a/tests/ext/autoload-php-files/error_get_last_is_unaffected.phpt +++ b/tests/ext/autoload-php-files/error_get_last_is_unaffected.phpt @@ -14,7 +14,7 @@ class_exists('DDTrace\RaisesNotice'); var_dump(error_get_last()); ?> --EXPECTF-- -[ddtrace] [warning] Error raised in autoloaded file %s_files_api.php: %s(): Failed opening '%s_files_api.php' for inclusion %s on line %d -[ddtrace] [warning] Error raised in autoloaded file %sRaisesNotice.php: Notice? in %s on line %d +[ddtrace] [warning] [%d] Error raised in autoloaded file %s_files_api.php: %s(): Failed opening '%s_files_api.php' for inclusion %s on line %d +[ddtrace] [warning] [%d] Error raised in autoloaded file %sRaisesNotice.php: Notice? in %s on line %d NULL -[ddtrace] [info] Flushing trace of size 1 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %s diff --git a/tests/ext/autoload-php-files/file_not_found.phpt b/tests/ext/autoload-php-files/file_not_found.phpt index 413b3d19ad0..a6454617206 100644 --- a/tests/ext/autoload-php-files/file_not_found.phpt +++ b/tests/ext/autoload-php-files/file_not_found.phpt @@ -15,7 +15,7 @@ echo "Request start" . PHP_EOL; ?> --EXPECTF-- -[ddtrace] [warning] Error raised in autoloaded file %s_files_api.php: %s(): Failed opening '%s_files_api.php' for inclusion %s on line %d -[ddtrace] [warning] Error raised in autoloaded file %s_files_tracer.php: %s(): Failed opening '%s_files_tracer.php' for inclusion %s on line %d +[ddtrace] [warning] [%d] Error raised in autoloaded file %s_files_api.php: %s(): Failed opening '%s_files_api.php' for inclusion %s on line %d +[ddtrace] [warning] [%d] Error raised in autoloaded file %s_files_tracer.php: %s(): Failed opening '%s_files_tracer.php' for inclusion %s on line %d Request start -[ddtrace] [info] Flushing trace of size 1 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %s diff --git a/tests/ext/autoload-php-files/ignores_exceptions.phpt b/tests/ext/autoload-php-files/ignores_exceptions.phpt index 993d1bd08be..b77c513da8b 100644 --- a/tests/ext/autoload-php-files/ignores_exceptions.phpt +++ b/tests/ext/autoload-php-files/ignores_exceptions.phpt @@ -15,8 +15,8 @@ echo "Request start" . PHP_EOL; ?> --EXPECTF-- -[ddtrace] [warning] Error raised in autoloaded file %s_files_api.php: %s(): Failed opening '%s_files_api.php' for inclusion %s on line %d +[ddtrace] [warning] [%d] Error raised in autoloaded file %s_files_api.php: %s(): Failed opening '%s_files_api.php' for inclusion %s on line %d Throwing an exception... -[ddtrace] [warning] Exception thrown in autoloaded file %sRaisesException.php: Oops! +[ddtrace] [warning] [%d] Exception thrown in autoloaded file %sRaisesException.php: Oops! Request start -[ddtrace] [info] Flushing trace of size 1 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %s diff --git a/tests/ext/autoload-php-files/ignores_fatal_errors.phpt b/tests/ext/autoload-php-files/ignores_fatal_errors.phpt index e3a85930201..1e5f7a8826f 100644 --- a/tests/ext/autoload-php-files/ignores_fatal_errors.phpt +++ b/tests/ext/autoload-php-files/ignores_fatal_errors.phpt @@ -17,8 +17,8 @@ echo "Request start" . PHP_EOL; ?> --EXPECTF-- -[ddtrace] [warning] Error raised in autoloaded file %s_files_api.php: %s(): Failed opening '%s_files_api.php' for inclusion %s on line %d +[ddtrace] [warning] [%d] Error raised in autoloaded file %s_files_api.php: %s(): Failed opening '%s_files_api.php' for inclusion %s on line %d Calling a function that does not exist... -[ddtrace] [warning] Error raised in autoloaded file %s: Allowed memory size of 20971520 bytes exhausted %s on line %d +[ddtrace] [warning] [%d] Error raised in autoloaded file %s: Allowed memory size of 20971520 bytes exhausted %s on line %d Request start -[ddtrace] [info] Flushing trace of size 1 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %s diff --git a/tests/ext/background-sender/agent_headers.phpt b/tests/ext/background-sender/agent_headers.phpt index 92e036efbaa..75c4120b047 100644 --- a/tests/ext/background-sender/agent_headers.phpt +++ b/tests/ext/background-sender/agent_headers.phpt @@ -39,7 +39,7 @@ echo 'Done.' . PHP_EOL; ?> --EXPECTF-- -[ddtrace] [info] Flushing trace of size 1 to send-queue for http://request-replayer:80 +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for http://request-replayer:80 content-type: application/msgpack datadog-meta-lang: php @@ -49,4 +49,4 @@ datadog-meta-tracer-version: %s x-datadog-trace-count: 1 Done. -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/background-sender/agent_headers_container_id.phpt b/tests/ext/background-sender/agent_headers_container_id.phpt index c00e04ab7b8..6442f0c7bfa 100644 --- a/tests/ext/background-sender/agent_headers_container_id.phpt +++ b/tests/ext/background-sender/agent_headers_container_id.phpt @@ -38,10 +38,10 @@ echo 'Done.' . PHP_EOL; ?> --EXPECTF-- -[ddtrace] [info] Flushing trace of size 1 to send-queue for http://request-replayer:80 +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for http://request-replayer:80 datadog-container-id:%s9d5b23edb1ba181e8910389a99906598d69ac9a0ead109ee55730cc416d95f7f datadog-meta-lang: php Done. -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/background-sender/agent_headers_container_id_empty.phpt b/tests/ext/background-sender/agent_headers_container_id_empty.phpt index 52b7686d91e..c54653abee0 100644 --- a/tests/ext/background-sender/agent_headers_container_id_empty.phpt +++ b/tests/ext/background-sender/agent_headers_container_id_empty.phpt @@ -38,9 +38,9 @@ echo 'Done.' . PHP_EOL; ?> --EXPECTF-- -[ddtrace] [info] Flushing trace of size 1 to send-queue for http://request-replayer:80 +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for http://request-replayer:80 datadog-meta-lang: php Done. -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/background-sender/agent_headers_container_id_fargate.phpt b/tests/ext/background-sender/agent_headers_container_id_fargate.phpt index 23551339f7e..fa4fccffb7e 100644 --- a/tests/ext/background-sender/agent_headers_container_id_fargate.phpt +++ b/tests/ext/background-sender/agent_headers_container_id_fargate.phpt @@ -37,10 +37,10 @@ echo 'Done.' . PHP_EOL; ?> --EXPECTF-- -[ddtrace] [info] Flushing trace of size 1 to send-queue for http://request-replayer:80 +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for http://request-replayer:80 datadog-container-id:%s34dc0b5e626f2c5c4c5170e34b10e765-1234567890 datadog-meta-lang: php Done. -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/background-sender/agent_headers_ignore_userland.phpt b/tests/ext/background-sender/agent_headers_ignore_userland.phpt index 0db6377960d..224fcd64655 100644 --- a/tests/ext/background-sender/agent_headers_ignore_userland.phpt +++ b/tests/ext/background-sender/agent_headers_ignore_userland.phpt @@ -46,4 +46,4 @@ bool(true) datadog-meta-lang: php Done. -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/background-sender/agent_sampling.phpt b/tests/ext/background-sender/agent_sampling.phpt index 2e277539fbd..cd3a4c9befd 100644 --- a/tests/ext/background-sender/agent_sampling.phpt +++ b/tests/ext/background-sender/agent_sampling.phpt @@ -53,10 +53,10 @@ echo "Specific sampling: {$get_sampling()}\n"; ?> --EXPECTF-- -[ddtrace] [info] Flushing trace of size 1 to send-queue for http://request-replayer:80 +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for http://request-replayer:80 Initial sampling: 1 -[ddtrace] [info] Flushing trace of size 1 to send-queue for http://request-replayer:80 +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for http://request-replayer:80 Generic sampling: 0 -[ddtrace] [info] Flushing trace of size 1 to send-queue for http://request-replayer:80 +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for http://request-replayer:80 Specific sampling: 1 -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/background-sender/agent_sampling_sidecar.phpt b/tests/ext/background-sender/agent_sampling_sidecar.phpt index 527b670f785..79b487830ed 100644 --- a/tests/ext/background-sender/agent_sampling_sidecar.phpt +++ b/tests/ext/background-sender/agent_sampling_sidecar.phpt @@ -106,10 +106,10 @@ if ($error && PHP_OS === "Linux") { ?> --EXPECTF-- -[ddtrace] [info] Flushing trace of size 1 to send-queue for http://request-replayer:80 +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for http://request-replayer:80 Initial sampling: 1 -[ddtrace] [info] Flushing trace of size 1 to send-queue for http://request-replayer:80 +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for http://request-replayer:80 Generic sampling: 0 -[ddtrace] [info] Flushing trace of size 1 to send-queue for http://request-replayer:80 +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for http://request-replayer:80 Specific sampling: 1 -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/background-sender/sidecar_handles_invalid_agent_url.phpt b/tests/ext/background-sender/sidecar_handles_invalid_agent_url.phpt index 4665a9a1106..ffeddf8c2a4 100644 --- a/tests/ext/background-sender/sidecar_handles_invalid_agent_url.phpt +++ b/tests/ext/background-sender/sidecar_handles_invalid_agent_url.phpt @@ -12,4 +12,4 @@ DD_CRASHTRACKING_ENABLED=0 ?> --EXPECTF-- -[ddtrace] [error] Invalid DD_TRACE_AGENT_URL: /invalid. A proper agent URL must be unix:///path/to/agent.sock or http://hostname:port/. +[ddtrace] [error] [%d] Invalid DD_TRACE_AGENT_URL: /invalid. A proper agent URL must be unix:///path/to/agent.sock or http://hostname:port/. diff --git a/tests/ext/close_spans_until.phpt b/tests/ext/close_spans_until.phpt index 2ff84cd1cb0..5c34a590089 100644 --- a/tests/ext/close_spans_until.phpt +++ b/tests/ext/close_spans_until.phpt @@ -25,34 +25,34 @@ var_dump(DDTrace\close_spans_until(null)); var_dump(DDTrace\close_spans_until(null)); ?> --EXPECTF-- -[ddtrace] [span] Creating new root SpanStack: %d, parent_stack: 0 -[ddtrace] [span] Creating new root SpanStack: %d, parent_stack: %d -[ddtrace] [span] Switching to different SpanStack: %d -[ddtrace] [span] Starting new root span: trace_id=%s, span_id=%d, parent_id=0, SpanStack=%d, parent_SpanStack=%d -[ddtrace] [span] Starting new span: trace_id=%s, span_id=%d, parent_id=%d, SpanStack=%d -[ddtrace] [span] Starting new span: trace_id=%s, span_id=%d, parent_id=%d, SpanStack=%d -[ddtrace] [span] Starting new span: trace_id=%s, span_id=%d, parent_id=%d, SpanStack=%d +[ddtrace] [span] [%d] Creating new root SpanStack: %d, parent_stack: 0 +[ddtrace] [span] [%d] Creating new root SpanStack: %d, parent_stack: %d +[ddtrace] [span] [%d] Switching to different SpanStack: %d +[ddtrace] [span] [%d] Starting new root span: trace_id=%s, span_id=%d, parent_id=0, SpanStack=%d, parent_SpanStack=%d +[ddtrace] [span] [%d] Starting new span: trace_id=%s, span_id=%d, parent_id=%d, SpanStack=%d +[ddtrace] [span] [%d] Starting new span: trace_id=%s, span_id=%d, parent_id=%d, SpanStack=%d +[ddtrace] [span] [%d] Starting new span: trace_id=%s, span_id=%d, parent_id=%d, SpanStack=%d bool(false) -[ddtrace] [span] Closing span: trace_id=%s, span_id=%d -[ddtrace] [span] Closing span: trace_id=%s, span_id=%d +[ddtrace] [span] [%d] Closing span: trace_id=%s, span_id=%d +[ddtrace] [span] [%d] Closing span: trace_id=%s, span_id=%d int(2) -[ddtrace] [span] Starting new span: trace_id=%s, span_id=%d, parent_id=%d, SpanStack=%d -[ddtrace] [span] Starting new span: trace_id=%s, span_id=%d, parent_id=%d, SpanStack=%d -[ddtrace] [span] Starting new span: trace_id=%s, span_id=%d, parent_id=%d, SpanStack=%d -[ddtrace] [span] Closing span: trace_id=%s, span_id=%d -[ddtrace] [span] Closing span: trace_id=%s, span_id=%d +[ddtrace] [span] [%d] Starting new span: trace_id=%s, span_id=%d, parent_id=%d, SpanStack=%d +[ddtrace] [span] [%d] Starting new span: trace_id=%s, span_id=%d, parent_id=%d, SpanStack=%d +[ddtrace] [span] [%d] Starting new span: trace_id=%s, span_id=%d, parent_id=%d, SpanStack=%d +[ddtrace] [span] [%d] Closing span: trace_id=%s, span_id=%d +[ddtrace] [span] [%d] Closing span: trace_id=%s, span_id=%d int(2) -[ddtrace] [span] Closing span: trace_id=%s, span_id=%d -[ddtrace] [span] Closing span: trace_id=%s, span_id=%d -[ddtrace] [span] Closing root span: trace_id=%s, span_id=%d -[ddtrace] [span] Switching to different SpanStack: %d +[ddtrace] [span] [%d] Closing span: trace_id=%s, span_id=%d +[ddtrace] [span] [%d] Closing span: trace_id=%s, span_id=%d +[ddtrace] [span] [%d] Closing root span: trace_id=%s, span_id=%d +[ddtrace] [span] [%d] Switching to different SpanStack: %d int(1) int(0) -[ddtrace] [span] Encoding span: Span { service: close_spans_until.php, name: close_spans_until.php, resource: close_spans_until.php, type: cli, trace_id: %d, span_id: %d, parent_id: 0, start: %d, duration: %d, error: 0, meta: %s, metrics: %s, meta_struct: {}, span_links: [], span_events: [] } -[ddtrace] [span] Encoding span: Span { service: close_spans_until.php, name: traced, resource: traced, type: cli, trace_id: %d, span_id: %d, parent_id: %d, start: %d, duration: %d, error: %d, meta: %s, metrics: %s, meta_struct: %s, span_links: %s, span_events: %s } -[ddtrace] [span] Encoding span: Span { service: close_spans_until.php, name: , resource: , type: cli, trace_id: %d, span_id: %d, parent_id: %d, start: %d, duration: %d, error: %d, meta: %s, metrics: %s, meta_struct: %s, span_links: %s, span_events: %s } -[ddtrace] [span] Encoding span: Span { service: close_spans_until.php, name: , resource: , type: cli, trace_id: %d, span_id: %d, parent_id: %d, start: %d, duration: %d, error: %d, meta: %s, metrics: %s, meta_struct: %s, span_links: %s, span_events: %s } -[ddtrace] [span] Encoding span: Span { service: close_spans_until.php, name: , resource: , type: cli, trace_id: %d, span_id: %d, parent_id: %d, start: %d, duration: %d, error: %d, meta: %s, metrics: %s, meta_struct: %s, span_links: %s, span_events: %s } -[ddtrace] [span] Encoding span: Span { service: close_spans_until.php, name: , resource: , type: cli, trace_id: %d, span_id: %d, parent_id: %d, start: %d, duration: %d, error: %d, meta: %s, metrics: %s, meta_struct: %s, span_links: %s, span_events: %s } -[ddtrace] [span] Encoding span: Span { service: close_spans_until.php, name: , resource: , type: cli, trace_id: %d, span_id: %d, parent_id: %d, start: %d, duration: %d, error: %d, meta: %s, metrics: %s, meta_struct: %s, span_links: %s, span_events: %s } -[ddtrace] [info] Flushing trace of size 7 to send-queue for %s +[ddtrace] [span] [%d] Encoding span: Span { service: close_spans_until.php, name: close_spans_until.php, resource: close_spans_until.php, type: cli, trace_id: %d, span_id: %d, parent_id: 0, start: %d, duration: %d, error: 0, meta: %s, metrics: %s, meta_struct: {}, span_links: [], span_events: [] } +[ddtrace] [span] [%d] Encoding span: Span { service: close_spans_until.php, name: traced, resource: traced, type: cli, trace_id: %d, span_id: %d, parent_id: %d, start: %d, duration: %d, error: %d, meta: %s, metrics: %s, meta_struct: %s, span_links: %s, span_events: %s } +[ddtrace] [span] [%d] Encoding span: Span { service: close_spans_until.php, name: , resource: , type: cli, trace_id: %d, span_id: %d, parent_id: %d, start: %d, duration: %d, error: %d, meta: %s, metrics: %s, meta_struct: %s, span_links: %s, span_events: %s } +[ddtrace] [span] [%d] Encoding span: Span { service: close_spans_until.php, name: , resource: , type: cli, trace_id: %d, span_id: %d, parent_id: %d, start: %d, duration: %d, error: %d, meta: %s, metrics: %s, meta_struct: %s, span_links: %s, span_events: %s } +[ddtrace] [span] [%d] Encoding span: Span { service: close_spans_until.php, name: , resource: , type: cli, trace_id: %d, span_id: %d, parent_id: %d, start: %d, duration: %d, error: %d, meta: %s, metrics: %s, meta_struct: %s, span_links: %s, span_events: %s } +[ddtrace] [span] [%d] Encoding span: Span { service: close_spans_until.php, name: , resource: , type: cli, trace_id: %d, span_id: %d, parent_id: %d, start: %d, duration: %d, error: %d, meta: %s, metrics: %s, meta_struct: %s, span_links: %s, span_events: %s } +[ddtrace] [span] [%d] Encoding span: Span { service: close_spans_until.php, name: , resource: , type: cli, trace_id: %d, span_id: %d, parent_id: %d, start: %d, duration: %d, error: %d, meta: %s, metrics: %s, meta_struct: %s, span_links: %s, span_events: %s } +[ddtrace] [info] [%d] Flushing trace of size 7 to send-queue for %s diff --git a/tests/ext/crashtracker_and_backtrace_are_mutually_exclusive.phpt b/tests/ext/crashtracker_and_backtrace_are_mutually_exclusive.phpt index acba65ebace..d1cc7da9504 100644 --- a/tests/ext/crashtracker_and_backtrace_are_mutually_exclusive.phpt +++ b/tests/ext/crashtracker_and_backtrace_are_mutually_exclusive.phpt @@ -18,5 +18,5 @@ print_r(1); ?> --EXPECTF-- -[ddtrace] [warning] Settings 'datadog.log_backtrace' and 'datadog.crashtracking_enabled' are mutually exclusive. Cannot enable the backtrace. +[ddtrace] [warning] [%d] Settings 'datadog.log_backtrace' and 'datadog.crashtracking_enabled' are mutually exclusive. Cannot enable the backtrace. 1 diff --git a/tests/ext/dd_trace_log_file.phpt b/tests/ext/dd_trace_log_file.phpt index 0c282cf1e50..9de047c50f9 100644 --- a/tests/ext/dd_trace_log_file.phpt +++ b/tests/ext/dd_trace_log_file.phpt @@ -18,6 +18,6 @@ echo $m[0]; ?> --EXPECTF-- -[%s] [ddtrace] [span] Creating new root SpanStack: %d, parent_stack: 0 +[%s] [ddtrace] [span] [%d] Creating new root SpanStack: %d, parent_stack: 0 --CLEAN-- diff --git a/tests/ext/dd_trace_serialize_msgpack_error.phpt b/tests/ext/dd_trace_serialize_msgpack_error.phpt index 6b8bb2e2c92..871f5776d05 100644 --- a/tests/ext/dd_trace_serialize_msgpack_error.phpt +++ b/tests/ext/dd_trace_serialize_msgpack_error.phpt @@ -14,7 +14,7 @@ array_map(function ($data) { ]); ?> --EXPECTF-- -[ddtrace] [warning] Serialize values must be of type array, string, int, float, bool or null +[ddtrace] [warning] [%d] Serialize values must be of type array, string, int, float, bool or null array(1) { [0]=> object(stdClass)#%d (0) { @@ -22,7 +22,7 @@ array(1) { } bool(false) -[ddtrace] [warning] Serialize values must be of type array, string, int, float, bool or null +[ddtrace] [warning] [%d] Serialize values must be of type array, string, int, float, bool or null array(2) { [0]=> string(3) "bar" @@ -31,4 +31,4 @@ array(2) { } bool(false) -[ddtrace] [info] Flushing trace of size 1 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %s diff --git a/tests/ext/dropped_spans_have_negative_duration.phpt b/tests/ext/dropped_spans_have_negative_duration.phpt index 4f4b4a316f2..598be4c6c14 100644 --- a/tests/ext/dropped_spans_have_negative_duration.phpt +++ b/tests/ext/dropped_spans_have_negative_duration.phpt @@ -18,4 +18,4 @@ var_dump($outerSpan->getDuration()); --EXPECTF-- int(1) int(-1) -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/flush-autofinish.phpt b/tests/ext/flush-autofinish.phpt index fdda23f3348..e890e936475 100644 --- a/tests/ext/flush-autofinish.phpt +++ b/tests/ext/flush-autofinish.phpt @@ -17,7 +17,7 @@ var_dump(DDTrace\active_span() != null); ?> --EXPECTF-- -[ddtrace] [info] Flushing trace of size 2 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 2 to send-queue for %s bool(true) bool(true) -[ddtrace] [info] Flushing trace of size 1 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %s diff --git a/tests/ext/force_flush_traces.phpt b/tests/ext/force_flush_traces.phpt index 831b16c8727..a5cb2dd776b 100644 --- a/tests/ext/force_flush_traces.phpt +++ b/tests/ext/force_flush_traces.phpt @@ -43,5 +43,5 @@ var_dump(dd_trace_serialize_closed_spans()); // Spans should be flushed, so this --EXPECTF-- tracing process process -[ddtrace] [info] Flushing trace of size %r2.*\n.*1|3%r to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size %r2.*\n.*1|3%r to send-queue for %s kill%r\n*(Killed\n*)?(Termsig=9)?%r diff --git a/tests/ext/integrations/curl/distributed_tracing_curl.phpt b/tests/ext/integrations/curl/distributed_tracing_curl.phpt index 9b5a8073199..9a561f6649a 100644 --- a/tests/ext/integrations/curl/distributed_tracing_curl.phpt +++ b/tests/ext/integrations/curl/distributed_tracing_curl.phpt @@ -53,7 +53,7 @@ echo 'Done.' . PHP_EOL; ?> --EXPECTF-- -[ddtrace] [error] The to be propagated tag '_dd.p.very=looooooooooooooooong' is too long and exceeds the maximum limit of 25 characters and is thus dropped. +[ddtrace] [error] [%d] The to be propagated tag '_dd.p.very=looooooooooooooooong' is too long and exceeds the maximum limit of 25 characters and is thus dropped. b3: %s-%s-1 traceparent: 00-%s-%s tracestate: dd=p:%s;o:phpt-test @@ -68,4 +68,4 @@ bool(true) bool(true) string(15) "inject_max_size" Done. -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/integrations/curl/distributed_tracing_curl_copy_handle.phpt b/tests/ext/integrations/curl/distributed_tracing_curl_copy_handle.phpt index 8f9b7cf10fd..8214b7c9f61 100644 --- a/tests/ext/integrations/curl/distributed_tracing_curl_copy_handle.phpt +++ b/tests/ext/integrations/curl/distributed_tracing_curl_copy_handle.phpt @@ -95,4 +95,4 @@ x-datadog-trace-id: %d x-foo: after-the-copy Done. -[ddtrace] [info] Flushing trace of size 5 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 5 to send-queue for %s diff --git a/tests/ext/integrations/curl/distributed_tracing_curl_drop_dm.phpt b/tests/ext/integrations/curl/distributed_tracing_curl_drop_dm.phpt index f287e0bbaea..0dbb9b8362c 100644 --- a/tests/ext/integrations/curl/distributed_tracing_curl_drop_dm.phpt +++ b/tests/ext/integrations/curl/distributed_tracing_curl_drop_dm.phpt @@ -48,4 +48,4 @@ x-datadog-tags: _dd.p.tid=0000001234567890,_dd.p.usr.id=baz64==,_dd.p.url=http:/ x-datadog-trace-id: 8687463697196027922 bool(false) Done. -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/integrations/curl/distributed_tracing_curl_existing_headers_001.phpt b/tests/ext/integrations/curl/distributed_tracing_curl_existing_headers_001.phpt index db843a66627..e39edbc762e 100644 --- a/tests/ext/integrations/curl/distributed_tracing_curl_existing_headers_001.phpt +++ b/tests/ext/integrations/curl/distributed_tracing_curl_existing_headers_001.phpt @@ -65,4 +65,4 @@ x-mas: tree x-my-custom-header: foo Done. -[ddtrace] [info] Flushing trace of size 3 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 3 to send-queue for %s diff --git a/tests/ext/integrations/curl/distributed_tracing_curl_existing_headers_002.phpt b/tests/ext/integrations/curl/distributed_tracing_curl_existing_headers_002.phpt index f5f15c9bfd8..2f7b20fb70e 100644 --- a/tests/ext/integrations/curl/distributed_tracing_curl_existing_headers_002.phpt +++ b/tests/ext/integrations/curl/distributed_tracing_curl_existing_headers_002.phpt @@ -65,4 +65,4 @@ x-mas: tree x-my-custom-header: foo Done. -[ddtrace] [info] Flushing trace of size 3 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 3 to send-queue for %s diff --git a/tests/ext/integrations/curl/distributed_tracing_curl_existing_headers_003.phpt b/tests/ext/integrations/curl/distributed_tracing_curl_existing_headers_003.phpt index f6ca3ad72d7..2509206ca49 100644 --- a/tests/ext/integrations/curl/distributed_tracing_curl_existing_headers_003.phpt +++ b/tests/ext/integrations/curl/distributed_tracing_curl_existing_headers_003.phpt @@ -82,4 +82,4 @@ x-datadog-parent-id: %d x-orig-header: foo Done. -[ddtrace] [info] Flushing trace of size 3 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 3 to send-queue for %s diff --git a/tests/ext/integrations/curl/distributed_tracing_curl_invalid_tags.phpt b/tests/ext/integrations/curl/distributed_tracing_curl_invalid_tags.phpt index 806838576fe..fdaa4b60d60 100644 --- a/tests/ext/integrations/curl/distributed_tracing_curl_invalid_tags.phpt +++ b/tests/ext/integrations/curl/distributed_tracing_curl_invalid_tags.phpt @@ -48,4 +48,4 @@ x-datadog-origin: ∂~,=;: x-datadog-tags: _dd.p.tid=%s,_dd.p.escaped=_=;: ,_dd.p.dm=-0 bool(false) Done. -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_001.phpt b/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_001.phpt index 6387580196c..5d6ac75c126 100644 --- a/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_001.phpt +++ b/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_001.phpt @@ -72,4 +72,4 @@ x-datadog-parent-id: %d x-datadog-origin: phpt-test x-datadog-parent-id: %d Done. -[ddtrace] [info] Flushing trace of size 2 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 2 to send-queue for %s diff --git a/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_002.phpt b/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_002.phpt index de6eb0607e4..79b4472761b 100644 --- a/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_002.phpt +++ b/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_002.phpt @@ -73,4 +73,4 @@ x-datadog-parent-id: %d x-datadog-origin: phpt-test x-datadog-parent-id: %d Done. -[ddtrace] [info] Flushing trace of size 2 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 2 to send-queue for %s diff --git a/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_003.phpt b/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_003.phpt index 7d3c5c7afec..253fb227705 100644 --- a/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_003.phpt +++ b/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_003.phpt @@ -74,4 +74,4 @@ x-datadog-parent-id: %d x-datadog-origin: phpt-test x-datadog-parent-id: %d Done. -[ddtrace] [info] Flushing trace of size 2 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 2 to send-queue for %s diff --git a/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_copy_handle.phpt b/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_copy_handle.phpt index 6d970bf9507..83312123873 100644 --- a/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_copy_handle.phpt +++ b/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_copy_handle.phpt @@ -91,4 +91,4 @@ x-datadog-origin: phpt-test x-datadog-parent-id: %d x-foo: not copied Done. -[ddtrace] [info] Flushing trace of size 2 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 2 to send-queue for %s diff --git a/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_existing_headers_001.phpt b/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_existing_headers_001.phpt index 8f368c4a95c..c8597de99b4 100644 --- a/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_existing_headers_001.phpt +++ b/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_existing_headers_001.phpt @@ -88,4 +88,4 @@ x-ch-2-foo: foo x-datadog-origin: phpt-test x-datadog-parent-id: %d Done. -[ddtrace] [info] Flushing trace of size 2 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 2 to send-queue for %s diff --git a/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_existing_headers_002.phpt b/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_existing_headers_002.phpt index 1bc60c7be3b..da71329a71f 100644 --- a/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_existing_headers_002.phpt +++ b/tests/ext/integrations/curl/distributed_tracing_curl_multi_exec_existing_headers_002.phpt @@ -92,4 +92,4 @@ x-ch-2-foo: foo x-datadog-origin: phpt-test x-datadog-parent-id: %d Done. -[ddtrace] [info] Flushing trace of size 2 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 2 to send-queue for %s diff --git a/tests/ext/integrations/curl/distributed_tracing_curl_tracestate.phpt b/tests/ext/integrations/curl/distributed_tracing_curl_tracestate.phpt index 6eef07a93dc..e8af4544f27 100644 --- a/tests/ext/integrations/curl/distributed_tracing_curl_tracestate.phpt +++ b/tests/ext/integrations/curl/distributed_tracing_curl_tracestate.phpt @@ -48,4 +48,4 @@ x-datadog-origin: phpt-test x-datadog-tags: _dd.p.tid=1234567890123456,_dd.p.test=qvalue,_dd.p.dm=-0 bool(false) Done. -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/integrations/http_streams/distributed_tracing_http_streams.phpt b/tests/ext/integrations/http_streams/distributed_tracing_http_streams.phpt index 07e30fe74e2..cfa41ac6309 100644 --- a/tests/ext/integrations/http_streams/distributed_tracing_http_streams.phpt +++ b/tests/ext/integrations/http_streams/distributed_tracing_http_streams.phpt @@ -58,7 +58,7 @@ foreach ($span['meta'] as $k => $v) { echo 'Done.' . PHP_EOL; ?> --EXPECTF-- -[ddtrace] [warning] Error loading deferred integration DDTrace\Integrations\Filesystem\FilesystemIntegration: Class not loaded and not autoloadable +[ddtrace] [warning] [%d] Error loading deferred integration DDTrace\Integrations\Filesystem\FilesystemIntegration: Class not loaded and not autoloadable traceparent: %s tracestate: %s x-datadog-parent-id: %d @@ -78,4 +78,4 @@ meta: network.destination.name: %s span.kind: client Done. -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/integrations/http_streams/distributed_tracing_http_streams_disabled.phpt b/tests/ext/integrations/http_streams/distributed_tracing_http_streams_disabled.phpt index c7f241d1716..0a0259b7803 100644 --- a/tests/ext/integrations/http_streams/distributed_tracing_http_streams_disabled.phpt +++ b/tests/ext/integrations/http_streams/distributed_tracing_http_streams_disabled.phpt @@ -41,7 +41,7 @@ var_dump(count($spans) === 1); echo 'Done.' . PHP_EOL; ?> --EXPECTF-- -[ddtrace] [warning] Error loading deferred integration DDTrace\Integrations\Filesystem\FilesystemIntegration: Class not loaded and not autoloadable +[ddtrace] [warning] [%d] Error loading deferred integration DDTrace\Integrations\Filesystem\FilesystemIntegration: Class not loaded and not autoloadable traceparent: %s tracestate: %s x-datadog-parent-id: %d @@ -50,4 +50,4 @@ x-datadog-tags: %s x-datadog-trace-id: %d bool(true) Done. -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/integrations/http_streams/distributed_tracing_http_streams_with_headers_array.phpt b/tests/ext/integrations/http_streams/distributed_tracing_http_streams_with_headers_array.phpt index 56cd880ca19..98cb4604ab6 100644 --- a/tests/ext/integrations/http_streams/distributed_tracing_http_streams_with_headers_array.phpt +++ b/tests/ext/integrations/http_streams/distributed_tracing_http_streams_with_headers_array.phpt @@ -71,7 +71,7 @@ foreach ($responses as $key => $response) { echo 'Done.' . PHP_EOL; ?> --EXPECTF-- -[ddtrace] [warning] Error loading deferred integration DDTrace\Integrations\Filesystem\FilesystemIntegration: Class not loaded and not autoloadable +[ddtrace] [warning] [%d] Error loading deferred integration DDTrace\Integrations\Filesystem\FilesystemIntegration: Class not loaded and not autoloadable Response #0 traceparent: %s tracestate: %s @@ -93,4 +93,4 @@ x-datadog-trace-id: %d x-foo: two Done. -[ddtrace] [info] Flushing trace of size 5 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 5 to send-queue for %s diff --git a/tests/ext/integrations/http_streams/distributed_tracing_http_streams_with_headers_string.phpt b/tests/ext/integrations/http_streams/distributed_tracing_http_streams_with_headers_string.phpt index 82e65ab7028..a2acac25e60 100644 --- a/tests/ext/integrations/http_streams/distributed_tracing_http_streams_with_headers_string.phpt +++ b/tests/ext/integrations/http_streams/distributed_tracing_http_streams_with_headers_string.phpt @@ -63,7 +63,7 @@ foreach ($responses as $key => $response) { echo 'Done.' . PHP_EOL; ?> --EXPECTF-- -[ddtrace] [warning] Error loading deferred integration DDTrace\Integrations\Filesystem\FilesystemIntegration: Class not loaded and not autoloadable +[ddtrace] [warning] [%d] Error loading deferred integration DDTrace\Integrations\Filesystem\FilesystemIntegration: Class not loaded and not autoloadable Response #0 traceparent: %s tracestate: %s @@ -85,4 +85,4 @@ x-datadog-trace-id: %d x-foo: two Done. -[ddtrace] [info] Flushing trace of size 5 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 5 to send-queue for %s diff --git a/tests/ext/pcntl/pcntl_fork_long_running_autoflush.phpt b/tests/ext/pcntl/pcntl_fork_long_running_autoflush.phpt index f37763d85a1..2431d43fa11 100644 --- a/tests/ext/pcntl/pcntl_fork_long_running_autoflush.phpt +++ b/tests/ext/pcntl/pcntl_fork_long_running_autoflush.phpt @@ -51,15 +51,15 @@ function long_running_entry_point() ?> --EXPECTF-- -[ddtrace] [warning] Error loading deferred integration DDTrace\Integrations\Pcntl\PcntlIntegration: Class not loaded and not autoloadable +[ddtrace] [warning] [%d] Error loading deferred integration DDTrace\Integrations\Pcntl\PcntlIntegration: Class not loaded and not autoloadable child is enabled -[ddtrace] [info] Flushing trace of size 1 to send-queue for %s -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %s +[ddtrace] [info] [%d] No finished traces to be sent to the agent parent is enabled -[ddtrace] [info] Flushing trace of size 3 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 3 to send-queue for %s child is enabled -[ddtrace] [info] Flushing trace of size 1 to send-queue for %s -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %s +[ddtrace] [info] [%d] No finished traces to be sent to the agent parent is enabled -[ddtrace] [info] Flushing trace of size 3 to send-queue for %s -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] Flushing trace of size 3 to send-queue for %s +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/sandbox-prehook/exception_error_log.phpt b/tests/ext/sandbox-prehook/exception_error_log.phpt index 864bcb09439..d7aded0ecc8 100644 --- a/tests/ext/sandbox-prehook/exception_error_log.phpt +++ b/tests/ext/sandbox-prehook/exception_error_log.phpt @@ -13,6 +13,6 @@ $sum = array_sum([1, 3, 5]); var_dump($sum); ?> --EXPECTF-- -[ddtrace] [warning] RuntimeException thrown in ddtrace's closure defined at %s:%d for array_sum(): This exception is expected in %s on line %d +[ddtrace] [warning] [%d] RuntimeException thrown in ddtrace's closure defined at %s:%d for array_sum(): This exception is expected in %s on line %d int(9) -[ddtrace] [info] Flushing trace of size 2 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 2 to send-queue for %s diff --git a/tests/ext/sandbox-prehook/exceptions_and_errors_are_ignored_in_tracing_closure.phpt b/tests/ext/sandbox-prehook/exceptions_and_errors_are_ignored_in_tracing_closure.phpt index 0f21e38754c..089acda1360 100644 --- a/tests/ext/sandbox-prehook/exceptions_and_errors_are_ignored_in_tracing_closure.phpt +++ b/tests/ext/sandbox-prehook/exceptions_and_errors_are_ignored_in_tracing_closure.phpt @@ -46,12 +46,12 @@ array_map(function($span) { var_dump(error_get_last()); ?> --EXPECTF-- -[ddtrace] [warning] %s in ddtrace's closure defined at %s:%d for Test::testFoo(): Undefined variable%sthis_normally_raises_an_%s -[ddtrace] [warning] Exception thrown in ddtrace's closure defined at %s:%d for mt_srand(): This should be ignored in %s on line %d -[ddtrace] [warning] Error raised in ddtrace's closure defined at %s:%d for mt_rand(): htmlentities(): Only basic entities substitution is supported for multi-byte encodings other than UTF-8; functionality is equivalent to htmlspecialchars in %s on line %d +[ddtrace] [warning] [%d] %s in ddtrace's closure defined at %s:%d for Test::testFoo(): Undefined variable%sthis_normally_raises_an_%s +[ddtrace] [warning] [%d] Exception thrown in ddtrace's closure defined at %s:%d for mt_srand(): This should be ignored in %s on line %d +[ddtrace] [warning] [%d] Error raised in ddtrace's closure defined at %s:%d for mt_rand(): htmlentities(): Only basic entities substitution is supported for multi-byte encodings other than UTF-8; functionality is equivalent to htmlspecialchars in %s on line %d Test::testFoo() fav num: %d TestFoo MTRand MTSeed NULL -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/sandbox-regression/class_resolver_bailout_hook.phpt b/tests/ext/sandbox-regression/class_resolver_bailout_hook.phpt index c7e2dfbdad8..35251dd8993 100644 --- a/tests/ext/sandbox-regression/class_resolver_bailout_hook.phpt +++ b/tests/ext/sandbox-regression/class_resolver_bailout_hook.phpt @@ -27,6 +27,6 @@ class A extends B {} ?> --EXPECTF-- -[ddtrace] [warning] Error raised in ddtrace's closure defined at %s:%d for x(): No D in %s +[ddtrace] [warning] [%d] Error raised in ddtrace's closure defined at %s:%d for x(): No D in %s Leaving Autoloader -[ddtrace] [info] Flushing trace of size 2 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 2 to send-queue for %s diff --git a/tests/ext/sandbox-regression/limiter_reset_flush_with_open_spans.phpt b/tests/ext/sandbox-regression/limiter_reset_flush_with_open_spans.phpt index 52d551b3b16..ab6883b1770 100644 --- a/tests/ext/sandbox-regression/limiter_reset_flush_with_open_spans.phpt +++ b/tests/ext/sandbox-regression/limiter_reset_flush_with_open_spans.phpt @@ -68,7 +68,7 @@ baz() called bar() called string(28) "current :2513787319205155662" string(28) "closing :2513787319205155662" -[ddtrace] [info] Flushing trace of size 2 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 2 to send-queue for %s string(34) "newly active :13874630024467741450" string(28) "initial :1735254072534978428" string(29) "started :10598951352238613536" @@ -78,7 +78,7 @@ baz() called bar() called string(29) "current :10598951352238613536" string(29) "closing :10598951352238613536" -[ddtrace] [info] Flushing trace of size 2 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 2 to send-queue for %s string(33) "newly active :1735254072534978428" string(28) "initial :5052085463162682550" string(28) "started :7199227068870524257" @@ -88,8 +88,8 @@ baz() called bar() called string(28) "current :7199227068870524257" string(28) "closing :7199227068870524257" -[ddtrace] [info] Flushing trace of size 2 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 2 to send-queue for %s string(33) "newly active :5052085463162682550" foo() called -[ddtrace] [info] Flushing trace of size 5 to send-queue for %s -[ddtrace] [info] No finished traces to be sent to the agent \ No newline at end of file +[ddtrace] [info] [%d] Flushing trace of size 5 to send-queue for %s +[ddtrace] [info] [%d] No finished traces to be sent to the agent \ No newline at end of file diff --git a/tests/ext/sandbox/auto_flush.phpt b/tests/ext/sandbox/auto_flush.phpt index 75acececc96..146c5f22bba 100644 --- a/tests/ext/sandbox/auto_flush.phpt +++ b/tests/ext/sandbox/auto_flush.phpt @@ -32,14 +32,14 @@ echo PHP_EOL; --EXPECTF-- 3 6 -[ddtrace] [info] Flushing trace of size 3 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 3 to send-queue for %s 10 15 -[ddtrace] [info] Flushing trace of size 3 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 3 to send-queue for %s 21 28 -[ddtrace] [info] Flushing trace of size 3 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 3 to send-queue for %s -[ddtrace] [info] No finished traces to be sent to the agent \ No newline at end of file +[ddtrace] [info] [%d] No finished traces to be sent to the agent \ No newline at end of file diff --git a/tests/ext/sandbox/auto_flush_attach_exception.phpt b/tests/ext/sandbox/auto_flush_attach_exception.phpt index 7667c6b14bf..762675d7d3a 100644 --- a/tests/ext/sandbox/auto_flush_attach_exception.phpt +++ b/tests/ext/sandbox/auto_flush_attach_exception.phpt @@ -34,5 +34,5 @@ try { ?> --EXPECTF-- Caught exception: Oops! -[ddtrace] [info] Flushing trace of size 2 to send-queue for %s -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] Flushing trace of size 2 to send-queue for %s +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/sandbox/auto_flush_disables_tracing.phpt b/tests/ext/sandbox/auto_flush_disables_tracing.phpt index 77af257affa..33a1771d804 100644 --- a/tests/ext/sandbox/auto_flush_disables_tracing.phpt +++ b/tests/ext/sandbox/auto_flush_disables_tracing.phpt @@ -37,14 +37,14 @@ echo PHP_EOL; --EXPECTF-- 3 6 -[ddtrace] [info] Flushing trace of size 3 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 3 to send-queue for %s 10 15 -[ddtrace] [info] Flushing trace of size 3 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 3 to send-queue for %s 21 28 -[ddtrace] [info] Flushing trace of size 3 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 3 to send-queue for %s -[ddtrace] [info] No finished traces to be sent to the agent \ No newline at end of file +[ddtrace] [info] [%d] No finished traces to be sent to the agent \ No newline at end of file diff --git a/tests/ext/sandbox/auto_flush_sandbox_exception.phpt b/tests/ext/sandbox/auto_flush_sandbox_exception.phpt index 6c1ccd43f91..d74f8562373 100644 --- a/tests/ext/sandbox/auto_flush_sandbox_exception.phpt +++ b/tests/ext/sandbox/auto_flush_sandbox_exception.phpt @@ -32,6 +32,6 @@ try { } ?> --EXPECTF-- -[ddtrace] [info] Flushing trace of size 1 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %s Caught exception: Oops! -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/sandbox/auto_flush_userland_root_span.phpt b/tests/ext/sandbox/auto_flush_userland_root_span.phpt index 5e14212401e..07812fc0cdd 100644 --- a/tests/ext/sandbox/auto_flush_userland_root_span.phpt +++ b/tests/ext/sandbox/auto_flush_userland_root_span.phpt @@ -32,16 +32,16 @@ echo PHP_EOL; 3 6 Has not flushed yet. -[ddtrace] [info] Flushing trace of size 3 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 3 to send-queue for %s 10 15 Has not flushed yet. -[ddtrace] [info] Flushing trace of size 3 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 3 to send-queue for %s 21 28 Has not flushed yet. -[ddtrace] [info] Flushing trace of size 3 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 3 to send-queue for %s -[ddtrace] [info] No finished traces to be sent to the agent \ No newline at end of file +[ddtrace] [info] [%d] No finished traces to be sent to the agent \ No newline at end of file diff --git a/tests/ext/sandbox/deferred_load_attempt_loading_once.phpt b/tests/ext/sandbox/deferred_load_attempt_loading_once.phpt index fe11fa92de1..1d2c442da52 100644 --- a/tests/ext/sandbox/deferred_load_attempt_loading_once.phpt +++ b/tests/ext/sandbox/deferred_load_attempt_loading_once.phpt @@ -37,4 +37,4 @@ namespace autoload_attempted PUBLIC STATIC METHOD PUBLIC STATIC METHOD -[ddtrace] [info] Flushing trace of size 1 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %s diff --git a/tests/ext/sandbox/deferred_load_fatal.phpt b/tests/ext/sandbox/deferred_load_fatal.phpt index 156ff31b03e..89e024bed49 100644 --- a/tests/ext/sandbox/deferred_load_fatal.phpt +++ b/tests/ext/sandbox/deferred_load_fatal.phpt @@ -33,6 +33,6 @@ namespace } ?> --EXPECTF-- -[ddtrace] [warning] Error raised in ddtrace's integration autoloader for ddtrace\test\testsandboxedintegration: Fatal! in %sdeferred_load_fatal.php on line %d +[ddtrace] [warning] [%d] Error raised in ddtrace's integration autoloader for ddtrace\test\testsandboxedintegration: Fatal! in %sdeferred_load_fatal.php on line %d PUBLIC STATIC METHOD PUBLIC STATIC METHOD diff --git a/tests/ext/sandbox/deferred_load_missing_interface.phpt b/tests/ext/sandbox/deferred_load_missing_interface.phpt index a280f799589..dd20564cad9 100644 --- a/tests/ext/sandbox/deferred_load_missing_interface.phpt +++ b/tests/ext/sandbox/deferred_load_missing_interface.phpt @@ -28,7 +28,7 @@ namespace Test::public_static_method(); } ?> ---EXPECT-- -[ddtrace] [warning] Error loading deferred integration ddtrace\test\testsandboxedintegration: Class is not an instance of DDTrace\Integration +--EXPECTF-- +[ddtrace] [warning] [%d] Error loading deferred integration ddtrace\test\testsandboxedintegration: Class is not an instance of DDTrace\Integration PUBLIC STATIC METHOD PUBLIC STATIC METHOD diff --git a/tests/ext/sandbox/die_in_sandbox.phpt b/tests/ext/sandbox/die_in_sandbox.phpt index 318f0467532..dea8d53cc7c 100644 --- a/tests/ext/sandbox/die_in_sandbox.phpt +++ b/tests/ext/sandbox/die_in_sandbox.phpt @@ -17,8 +17,8 @@ x(); ?> --EXPECTF-- -[ddtrace] [warning] UnwindExit thrown in ddtrace's closure defined at %s:%d for x(): in Unknown on line 0 -[ddtrace] [span] Encoding span: Span { service: die_in_sandbox.php, name: die_in_sandbox.php, resource: die_in_sandbox.php, type: cli, trace_id: %d, span_id: %d, parent_id: %d, start: %d, duration: %d, error: %d, meta: %s, metrics: %s, meta_struct: %s, span_links: %s, span_events: %s } -[ddtrace] [span] Encoding span: Span { service: die_in_sandbox.php, name: x, resource: x, type: cli, trace_id: %d, span_id: %d, parent_id: %d, start: %d, duration: %d, error: %d, meta: %s, metrics: %s, meta_struct: %s, span_links: %s, span_events: %s } -[ddtrace] [info] Flushing trace of size 2 to send-queue for %s +[ddtrace] [warning] [%d] UnwindExit thrown in ddtrace's closure defined at %s:%d for x(): in Unknown on line 0 +[ddtrace] [span] [%d] Encoding span: Span { service: die_in_sandbox.php, name: die_in_sandbox.php, resource: die_in_sandbox.php, type: cli, trace_id: %d, span_id: %d, parent_id: %d, start: %d, duration: %d, error: %d, meta: %s, metrics: %s, meta_struct: %s, span_links: %s, span_events: %s } +[ddtrace] [span] [%d] Encoding span: Span { service: die_in_sandbox.php, name: x, resource: x, type: cli, trace_id: %d, span_id: %d, parent_id: %d, start: %d, duration: %d, error: %d, meta: %s, metrics: %s, meta_struct: %s, span_links: %s, span_events: %s } +[ddtrace] [info] [%d] Flushing trace of size 2 to send-queue for %s diff --git a/tests/ext/sandbox/exception_error_log.phpt b/tests/ext/sandbox/exception_error_log.phpt index 465921a97df..6da3f0d707e 100644 --- a/tests/ext/sandbox/exception_error_log.phpt +++ b/tests/ext/sandbox/exception_error_log.phpt @@ -13,6 +13,6 @@ $sum = array_sum([1, 3, 5]); var_dump($sum); ?> --EXPECTF-- -[ddtrace] [warning] RuntimeException thrown in ddtrace's closure defined at %s:%d for array_sum(): This exception is expected in %s on line %d +[ddtrace] [warning] [%d] RuntimeException thrown in ddtrace's closure defined at %s:%d for array_sum(): This exception is expected in %s on line %d int(9) -[ddtrace] [info] Flushing trace of size 2 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 2 to send-queue for %s diff --git a/tests/ext/sandbox/exceptions_and_errors_are_ignored_in_tracing_closure.phpt b/tests/ext/sandbox/exceptions_and_errors_are_ignored_in_tracing_closure.phpt index 7fef0d5a192..6739e2ea8a1 100644 --- a/tests/ext/sandbox/exceptions_and_errors_are_ignored_in_tracing_closure.phpt +++ b/tests/ext/sandbox/exceptions_and_errors_are_ignored_in_tracing_closure.phpt @@ -46,12 +46,12 @@ array_map(function($span) { var_dump(error_get_last()); ?> --EXPECTF-- -[ddtrace] [warning] Exception thrown in ddtrace's closure defined at %s:21 for mt_srand(): This should be ignored in %s on line %d -[ddtrace] [warning] Error raised in ddtrace's closure defined at %s:26 for mt_rand(): htmlentities(): Only basic entities substitution is supported for multi-byte encodings other than UTF-8; functionality is equivalent to htmlspecialchars in %s on line %d +[ddtrace] [warning] [%d] Exception thrown in ddtrace's closure defined at %s:21 for mt_srand(): This should be ignored in %s on line %d +[ddtrace] [warning] [%d] Error raised in ddtrace's closure defined at %s:26 for mt_rand(): htmlentities(): Only basic entities substitution is supported for multi-byte encodings other than UTF-8; functionality is equivalent to htmlspecialchars in %s on line %d Test::testFoo() fav num: %d -[ddtrace] [warning] %s in ddtrace's closure defined at %s:16 for Test::testFoo(): Undefined variable%sthis_normally_raises_an_%s +[ddtrace] [warning] [%d] %s in ddtrace's closure defined at %s:16 for Test::testFoo(): Undefined variable%sthis_normally_raises_an_%s TestFoo MTRand MTSeed NULL -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/sandbox/fatal_errors_ignored_in_shutdown.phpt b/tests/ext/sandbox/fatal_errors_ignored_in_shutdown.phpt index cf61084a20a..e24ae7f0eee 100644 --- a/tests/ext/sandbox/fatal_errors_ignored_in_shutdown.phpt +++ b/tests/ext/sandbox/fatal_errors_ignored_in_shutdown.phpt @@ -69,5 +69,5 @@ array_sum array_sum array_sum array_sum -[ddtrace] [warning] Error raised in ddtrace's closure defined at %s:%d for flushTracer(): Allowed memory size of 2097152 bytes exhausted %s in %s on line %d -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [warning] [%d] Error raised in ddtrace's closure defined at %s:%d for flushTracer(): Allowed memory size of 2097152 bytes exhausted %s in %s on line %d +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/sandbox/fatal_errors_ignored_in_tracing_closure.phpt b/tests/ext/sandbox/fatal_errors_ignored_in_tracing_closure.phpt index 371e71fe636..38163c9aa1f 100644 --- a/tests/ext/sandbox/fatal_errors_ignored_in_tracing_closure.phpt +++ b/tests/ext/sandbox/fatal_errors_ignored_in_tracing_closure.phpt @@ -19,8 +19,8 @@ array_map(function($span) { var_dump(error_get_last()); ?> --EXPECTF-- -[ddtrace] [warning] Error thrown in ddtrace's closure defined at %s:%d for array_sum(): Call to undefined function this_function_does_not_exist() in %s on line %d +[ddtrace] [warning] [%d] Error thrown in ddtrace's closure defined at %s:%d for array_sum(): Call to undefined function this_function_does_not_exist() in %s on line %d int(100) array_sum NULL -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/sandbox/hook_function/03.phpt b/tests/ext/sandbox/hook_function/03.phpt index e9b3d9028b2..bc2bc069910 100644 --- a/tests/ext/sandbox/hook_function/03.phpt +++ b/tests/ext/sandbox/hook_function/03.phpt @@ -17,7 +17,7 @@ greet('Datadog'); ?> --EXPECTF-- -[ddtrace] [warning] DDTrace\hook_function was given neither prehook nor posthook in %s on line %d; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. +[ddtrace] [warning] [%d] DDTrace\hook_function was given neither prehook nor posthook in %s on line %d; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. bool(false) Hello, Datadog. -[ddtrace] [info] Flushing trace of size 1 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %s diff --git a/tests/ext/sandbox/hook_function/hook_does_not_leak_error.phpt b/tests/ext/sandbox/hook_function/hook_does_not_leak_error.phpt index 3cb5d3596f9..cd26d5d5238 100644 --- a/tests/ext/sandbox/hook_function/hook_does_not_leak_error.phpt +++ b/tests/ext/sandbox/hook_function/hook_does_not_leak_error.phpt @@ -29,8 +29,8 @@ foo(); ?> --EXPECTF-- foo -[ddtrace] [warning] Error raised in ddtrace's closure defined at %s:%d for foo(): Fatal in %s on line %d +[ddtrace] [warning] [%d] Error raised in ddtrace's closure defined at %s:%d for foo(): Fatal in %s on line %d int(200) foo -[ddtrace] [warning] Error raised in ddtrace's closure defined at %s:%d for foo(): Fatal in %s on line %d -[ddtrace] [info] Flushing trace of size %s +[ddtrace] [warning] [%d] Error raised in ddtrace's closure defined at %s:%d for foo(): Fatal in %s on line %d +[ddtrace] [info] [%d] Flushing trace of size %s diff --git a/tests/ext/sandbox/hook_function/posthook_error_02.phpt b/tests/ext/sandbox/hook_function/posthook_error_02.phpt index ba1c179460c..ebc2ecd55a7 100644 --- a/tests/ext/sandbox/hook_function/posthook_error_02.phpt +++ b/tests/ext/sandbox/hook_function/posthook_error_02.phpt @@ -27,5 +27,5 @@ greet('Datadog'); --EXPECTF-- Hello, Datadog. greet hooked. -[ddtrace] [warning] %s in ddtrace's closure defined at %s:%d for greet(): Undefined variable%sthis_normally_raises_an_%s -[ddtrace] [info] Flushing trace of size 1 to send-queue for %s +[ddtrace] [warning] [%d] %s in ddtrace's closure defined at %s:%d for greet(): Undefined variable%sthis_normally_raises_an_%s +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %s diff --git a/tests/ext/sandbox/hook_function/posthook_exceptions_04.phpt b/tests/ext/sandbox/hook_function/posthook_exceptions_04.phpt index c29a1bcdc0f..1b345fcfde8 100644 --- a/tests/ext/sandbox/hook_function/posthook_exceptions_04.phpt +++ b/tests/ext/sandbox/hook_function/posthook_exceptions_04.phpt @@ -30,6 +30,6 @@ try { ?> --EXPECTF-- array_sum hooked. -[ddtrace] [warning] Exception thrown in ddtrace's closure defined at %s:%d for array_sum(): ! in %s on line %d +[ddtrace] [warning] [%d] Exception thrown in ddtrace's closure defined at %s:%d for array_sum(): ! in %s on line %d Sum = 4. -[ddtrace] [info] Flushing trace of size 1 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %s diff --git a/tests/ext/sandbox/hook_function/prehook_error_02.phpt b/tests/ext/sandbox/hook_function/prehook_error_02.phpt index b666de25a26..5b07a34fea6 100644 --- a/tests/ext/sandbox/hook_function/prehook_error_02.phpt +++ b/tests/ext/sandbox/hook_function/prehook_error_02.phpt @@ -25,6 +25,6 @@ greet('Datadog'); ?> --EXPECTF-- greet hooked. -[ddtrace] [warning] %s in ddtrace's closure defined at %s:%d for greet(): Undefined variable%sthis_normally_raises_an_%s +[ddtrace] [warning] [%d] %s in ddtrace's closure defined at %s:%d for greet(): Undefined variable%sthis_normally_raises_an_%s Hello, Datadog. -[ddtrace] [info] Flushing trace of size 1 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %s diff --git a/tests/ext/sandbox/hook_function/prehook_exceptions_02.phpt b/tests/ext/sandbox/hook_function/prehook_exceptions_02.phpt index cf294a832f7..c4eca6d7586 100644 --- a/tests/ext/sandbox/hook_function/prehook_exceptions_02.phpt +++ b/tests/ext/sandbox/hook_function/prehook_exceptions_02.phpt @@ -32,7 +32,7 @@ try { ?> --EXPECTF-- greet hooked. -[ddtrace] [warning] Exception thrown in ddtrace's closure defined at %s:%d for greet(): ! in %s on line %d +[ddtrace] [warning] [%d] Exception thrown in ddtrace's closure defined at %s:%d for greet(): ! in %s on line %d Hello, Datadog. Done. -[ddtrace] [info] Flushing trace of size 1 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %s diff --git a/tests/ext/sandbox/hook_function/prehook_exceptions_04.phpt b/tests/ext/sandbox/hook_function/prehook_exceptions_04.phpt index 83b47421634..b643afd6661 100644 --- a/tests/ext/sandbox/hook_function/prehook_exceptions_04.phpt +++ b/tests/ext/sandbox/hook_function/prehook_exceptions_04.phpt @@ -28,6 +28,6 @@ try { ?> --EXPECTF-- array_sum hooked. -[ddtrace] [warning] Exception thrown in ddtrace's closure defined at %s:%d for array_sum(): ! in %s on line %d +[ddtrace] [warning] [%d] Exception thrown in ddtrace's closure defined at %s:%d for array_sum(): ! in %s on line %d Sum = 4. -[ddtrace] [info] Flushing trace of size 1 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %s diff --git a/tests/ext/sandbox/hook_limit.phpt b/tests/ext/sandbox/hook_limit.phpt index 695f1f721fc..667a4b73af6 100644 --- a/tests/ext/sandbox/hook_limit.phpt +++ b/tests/ext/sandbox/hook_limit.phpt @@ -22,8 +22,8 @@ print "foo hooks were $invocations times invoked\n"; ?> --EXPECTF-- -[ddtrace] [error] Could not add hook to foo with more than datadog.trace.hook_limit = 2 installed hooks in %s on line %d; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. +[ddtrace] [error] [%d] Could not add hook to foo with more than datadog.trace.hook_limit = 2 installed hooks in %s on line %d; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. bool(false) -[ddtrace] [error] Could not add hook to foo with more than datadog.trace.hook_limit = 2 installed hooks in %s on line %d; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. +[ddtrace] [error] [%d] Could not add hook to foo with more than datadog.trace.hook_limit = 2 installed hooks in %s on line %d; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. int(0) foo hooks were 2 times invoked diff --git a/tests/ext/sandbox/hook_method/03.phpt b/tests/ext/sandbox/hook_method/03.phpt index 0575753d78f..2f47e493ca9 100644 --- a/tests/ext/sandbox/hook_method/03.phpt +++ b/tests/ext/sandbox/hook_method/03.phpt @@ -20,7 +20,7 @@ Greeter::greet('Datadog'); ?> --EXPECTF-- -[ddtrace] [warning] DDTrace\hook_method was given neither prehook nor posthook in %s on line %d; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. +[ddtrace] [warning] [%d] DDTrace\hook_method was given neither prehook nor posthook in %s on line %d; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. bool(false) Hello, Datadog. -[ddtrace] [info] Flushing trace of size 1 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %s diff --git a/tests/ext/sandbox/hook_method/posthook_07.phpt b/tests/ext/sandbox/hook_method/posthook_07.phpt index ef534c365dd..aa1f72f0bb2 100644 --- a/tests/ext/sandbox/hook_method/posthook_07.phpt +++ b/tests/ext/sandbox/hook_method/posthook_07.phpt @@ -57,4 +57,4 @@ $app->run(); App::__construct hooked. App::run App::run traced. -[ddtrace] [info] Flushing trace of size 2 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 2 to send-queue for %s diff --git a/tests/ext/sandbox/hook_method/posthook_error_02.phpt b/tests/ext/sandbox/hook_method/posthook_error_02.phpt index a7258b9f390..b206252922a 100644 --- a/tests/ext/sandbox/hook_method/posthook_error_02.phpt +++ b/tests/ext/sandbox/hook_method/posthook_error_02.phpt @@ -30,5 +30,5 @@ Greeter::greet('Datadog'); --EXPECTF-- Hello, Datadog. Greeter::greet hooked. -[ddtrace] [warning] %s in ddtrace's closure defined at %s:%d for Greeter::greet(): Undefined variable%sthis_normally_raises_an_%s -[ddtrace] [info] Flushing trace of size 1 to send-queue for %s +[ddtrace] [warning] [%d] %s in ddtrace's closure defined at %s:%d for Greeter::greet(): Undefined variable%sthis_normally_raises_an_%s +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %s diff --git a/tests/ext/sandbox/hook_method/prehook_error_02.phpt b/tests/ext/sandbox/hook_method/prehook_error_02.phpt index b53a838076a..8560f29d75b 100644 --- a/tests/ext/sandbox/hook_method/prehook_error_02.phpt +++ b/tests/ext/sandbox/hook_method/prehook_error_02.phpt @@ -29,6 +29,6 @@ Greeter::greet('Datadog'); ?> --EXPECTF-- Greeter::greet hooked. -[ddtrace] [warning] %s in ddtrace's closure defined at %s:%d for Greeter::greet(): Undefined variable%sthis_normally_raises_an_%s +[ddtrace] [warning] [%d] %s in ddtrace's closure defined at %s:%d for Greeter::greet(): Undefined variable%sthis_normally_raises_an_%s Hello, Datadog. -[ddtrace] [info] Flushing trace of size 1 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %s diff --git a/tests/ext/sandbox/hook_method/prehook_exceptions_02.phpt b/tests/ext/sandbox/hook_method/prehook_exceptions_02.phpt index c56a97a33f1..cad41da9e1b 100644 --- a/tests/ext/sandbox/hook_method/prehook_exceptions_02.phpt +++ b/tests/ext/sandbox/hook_method/prehook_exceptions_02.phpt @@ -33,7 +33,7 @@ try { ?> --EXPECTF-- Greeter::greet hooked. -[ddtrace] [warning] Exception thrown in ddtrace's closure defined at %s:%d for Greeter::greet(): ! in %s on line %d +[ddtrace] [warning] [%d] Exception thrown in ddtrace's closure defined at %s:%d for Greeter::greet(): ! in %s on line %d Hello, Datadog. Done. -[ddtrace] [info] Flushing trace of size 1 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %s diff --git a/tests/ext/sandbox/install_hook/hook_file.phpt b/tests/ext/sandbox/install_hook/hook_file.phpt index ef00df5c999..ac8ba9a1769 100644 --- a/tests/ext/sandbox/install_hook/hook_file.phpt +++ b/tests/ext/sandbox/install_hook/hook_file.phpt @@ -22,7 +22,7 @@ echo include "testinclude.inc", "\n"; ?> --EXPECTF-- -[ddtrace] [error] Could not add hook to file path ../testinclude.inc, could not resolve path in %s on line %d; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. +[ddtrace] [error] [%d] Could not add hook to file path ../testinclude.inc, could not resolve path in %s on line %d; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. %sinstall_hook/testinclude.inc: %s/install_hook/testinclude.inc, ret: test ./testinclude.inc: %s/install_hook/testinclude.inc, ret: test testinclude.inc: %s/install_hook/testinclude.inc, ret: test diff --git a/tests/ext/sandbox/install_hook/install_hook_return_by_ref.phpt b/tests/ext/sandbox/install_hook/install_hook_return_by_ref.phpt index 8d74b8aa3a3..3c05da93636 100644 --- a/tests/ext/sandbox/install_hook/install_hook_return_by_ref.phpt +++ b/tests/ext/sandbox/install_hook/install_hook_return_by_ref.phpt @@ -41,9 +41,9 @@ var_dump(A::$var); --EXPECTF-- int(2) int(2) -[ddtrace] [warning] TypeError thrown in ddtrace's closure defined at %s:%d for ref(): Cannot assign string to reference held by property A::$var of type ?int in %s on line %d +[ddtrace] [warning] [%d] TypeError thrown in ddtrace's closure defined at %s:%d for ref(): Cannot assign string to reference held by property A::$var of type ?int in %s on line %d int(3) int(3) NULL NULL -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/sandbox/install_hook/replace_hook_args.phpt b/tests/ext/sandbox/install_hook/replace_hook_args.phpt index 756a7b2f3f1..2e5d9f8f474 100644 --- a/tests/ext/sandbox/install_hook/replace_hook_args.phpt +++ b/tests/ext/sandbox/install_hook/replace_hook_args.phpt @@ -59,19 +59,19 @@ Array [2] => 7 [3] => 8 ) -[ddtrace] [error] Cannot set more args than provided: got too many arguments for hook in %s on line %d; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. +[ddtrace] [error] [%d] Cannot set more args than provided: got too many arguments for hook in %s on line %d; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. Array ( [0] => 1 [1] => 2 ) -[ddtrace] [error] Not enough args provided for hook in %s on line %d; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. +[ddtrace] [error] [%d] Not enough args provided for hook in %s on line %d; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. Array ( [0] => 1 [1] => 2 ) -[ddtrace] [error] Can't pass less args to an untyped function than originally passed (minus extra args) in %s on line %d; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. +[ddtrace] [error] [%d] Can't pass less args to an untyped function than originally passed (minus extra args) in %s on line %d; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. Array ( [0] => 1 diff --git a/tests/ext/sandbox/manual_flush.phpt b/tests/ext/sandbox/manual_flush.phpt index 4ac704754cb..ba000554ff8 100644 --- a/tests/ext/sandbox/manual_flush.phpt +++ b/tests/ext/sandbox/manual_flush.phpt @@ -21,5 +21,5 @@ main(); ?> --EXPECTF-- -[ddtrace] [info] Flushing trace of size 1 to send-queue for %s -[ddtrace] [info] Flushing trace of size 1 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %s diff --git a/tests/ext/sandbox/retval_is_null_with_exception.phpt b/tests/ext/sandbox/retval_is_null_with_exception.phpt index 415ac6c657a..be69b90dbb6 100644 --- a/tests/ext/sandbox/retval_is_null_with_exception.phpt +++ b/tests/ext/sandbox/retval_is_null_with_exception.phpt @@ -31,4 +31,4 @@ try { bool(true) NULL Oops! -[ddtrace] [info] Flushing trace of size 2 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 2 to send-queue for %s diff --git a/tests/ext/sandbox/spans_out_of_sync_01.phpt b/tests/ext/sandbox/spans_out_of_sync_01.phpt index 49f5e82d011..70825cb7e88 100644 --- a/tests/ext/sandbox/spans_out_of_sync_01.phpt +++ b/tests/ext/sandbox/spans_out_of_sync_01.phpt @@ -16,9 +16,9 @@ var_dump(dd_trace_serialize_closed_spans()); echo 'Done.' . PHP_EOL; ?> ---EXPECT-- -[ddtrace] [error] Cannot run tracing closure for dd_trace_serialize_closed_spans(); spans out of sync; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. +--EXPECTF-- +[ddtrace] [error] [%d] Cannot run tracing closure for dd_trace_serialize_closed_spans(); spans out of sync; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. array(0) { } Done. -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/sandbox/spans_out_of_sync_02.phpt b/tests/ext/sandbox/spans_out_of_sync_02.phpt index e9f54330f18..b0f949b2d87 100644 --- a/tests/ext/sandbox/spans_out_of_sync_02.phpt +++ b/tests/ext/sandbox/spans_out_of_sync_02.phpt @@ -15,9 +15,9 @@ var_dump(dd_trace_serialize_closed_spans()); echo 'Done.' . PHP_EOL; ?> ---EXPECT-- -[ddtrace] [error] Cannot run tracing closure for dd_trace_serialize_closed_spans(); spans out of sync; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. +--EXPECTF-- +[ddtrace] [error] [%d] Cannot run tracing closure for dd_trace_serialize_closed_spans(); spans out of sync; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. array(0) { } Done. -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/sandbox/spans_out_of_sync_03.phpt b/tests/ext/sandbox/spans_out_of_sync_03.phpt index 2e361c07140..59f8162b59e 100644 --- a/tests/ext/sandbox/spans_out_of_sync_03.phpt +++ b/tests/ext/sandbox/spans_out_of_sync_03.phpt @@ -19,9 +19,9 @@ shutdown_and_flush(); echo 'Done.' . PHP_EOL; ?> ---EXPECT-- +--EXPECTF-- array(0) { } -[ddtrace] [error] Cannot run tracing closure for shutdown_and_flush(); spans out of sync; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. +[ddtrace] [error] [%d] Cannot run tracing closure for shutdown_and_flush(); spans out of sync; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. Done. -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/sandbox/spans_out_of_sync_04.phpt b/tests/ext/sandbox/spans_out_of_sync_04.phpt index 5a1bbc471c9..ce7480231be 100644 --- a/tests/ext/sandbox/spans_out_of_sync_04.phpt +++ b/tests/ext/sandbox/spans_out_of_sync_04.phpt @@ -18,9 +18,9 @@ shutdown_and_flush(); echo 'Done.' . PHP_EOL; ?> ---EXPECT-- +--EXPECTF-- array(0) { } -[ddtrace] [error] Cannot run tracing closure for shutdown_and_flush(); spans out of sync; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. +[ddtrace] [error] [%d] Cannot run tracing closure for shutdown_and_flush(); spans out of sync; This message is only displayed once. Specify DD_TRACE_ONCE_LOGS=0 to show all messages. Done. -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/sandbox/spans_out_of_sync_05.phpt b/tests/ext/sandbox/spans_out_of_sync_05.phpt index 2e1506153dd..1c1096105f9 100644 --- a/tests/ext/sandbox/spans_out_of_sync_05.phpt +++ b/tests/ext/sandbox/spans_out_of_sync_05.phpt @@ -19,6 +19,6 @@ shutdown_and_flush(); echo 'Done.' . PHP_EOL; ?> ---EXPECT-- +--EXPECTF-- Done. -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/sandbox/spans_out_of_sync_06.phpt b/tests/ext/sandbox/spans_out_of_sync_06.phpt index 17e2f9dca4a..f8d91922a5a 100644 --- a/tests/ext/sandbox/spans_out_of_sync_06.phpt +++ b/tests/ext/sandbox/spans_out_of_sync_06.phpt @@ -17,6 +17,6 @@ shutdown_and_flush(); echo 'Done.' . PHP_EOL; ?> ---EXPECT-- +--EXPECTF-- Done. -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/sandbox/static_tracing_closures_will_not_bind_this.phpt b/tests/ext/sandbox/static_tracing_closures_will_not_bind_this.phpt index 56a02c556f5..a7061957653 100644 --- a/tests/ext/sandbox/static_tracing_closures_will_not_bind_this.phpt +++ b/tests/ext/sandbox/static_tracing_closures_will_not_bind_this.phpt @@ -25,4 +25,4 @@ $foo->test(); --EXPECTF-- Foo::test() TRACED Foo::test() -[ddtrace] [info] Flushing trace of size 2 to send-queue for %s +[ddtrace] [info] [%d] Flushing trace of size 2 to send-queue for %s diff --git a/tests/ext/span_on_close.phpt b/tests/ext/span_on_close.phpt index ce519454054..a58461fa4e3 100644 --- a/tests/ext/span_on_close.phpt +++ b/tests/ext/span_on_close.phpt @@ -26,8 +26,8 @@ $span->onClose = [ --EXPECTF-- Second First -[ddtrace] [span] Encoding span: Span { service: %s, name: root span, resource: root span, type: cli, trace_id: %d, span_id: %d, parent_id: %d, start: %d, duration: %d, error: %d, meta: %s, metrics: %s, meta_struct: %s, span_links: %s, span_events: %s } -[ddtrace] [span] Encoding span: Span { service: %s, name: inner span, resource: datadogs are awesome, type: cli, trace_id: %d, span_id: %d, parent_id: %d, start: %d, duration: %d, error: %d, meta: %s, metrics: %s, meta_struct: %s, span_links: %s, span_events: %s } -[ddtrace] [info] Flushing trace of size 2 to send-queue for %s -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [span] [%d] Encoding span: Span { service: %s, name: root span, resource: root span, type: cli, trace_id: %d, span_id: %d, parent_id: %d, start: %d, duration: %d, error: %d, meta: %s, metrics: %s, meta_struct: %s, span_links: %s, span_events: %s } +[ddtrace] [span] [%d] Encoding span: Span { service: %s, name: inner span, resource: datadogs are awesome, type: cli, trace_id: %d, span_id: %d, parent_id: %d, start: %d, duration: %d, error: %d, meta: %s, metrics: %s, meta_struct: %s, span_links: %s, span_events: %s } +[ddtrace] [info] [%d] Flushing trace of size 2 to send-queue for %s +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/span_stack/start_top_level_span_stack.phpt b/tests/ext/span_stack/start_top_level_span_stack.phpt index bc87fe93ca3..4552b54f28f 100644 --- a/tests/ext/span_stack/start_top_level_span_stack.phpt +++ b/tests/ext/span_stack/start_top_level_span_stack.phpt @@ -39,7 +39,7 @@ That top-level span is, in fact a trace root span without parent: bool(true) And it has matching a trace id: bool(true) Verify the stack_span stays if the top-level span is closed - this span stack is not tied to a trace directly: bool(true) There is no active span now: bool(true) -[ddtrace] [error] There is no user-span on the top of the stack. Cannot close. +[ddtrace] [error] [%d] There is no user-span on the top of the stack. Cannot close. Given no active span, the active span stays null: bool(true) This also must not affect the active span stack: bool(true) Now, we are back on the global span stack: bool(true) diff --git a/tests/ext/start_span_without_closing.phpt b/tests/ext/start_span_without_closing.phpt index b7815743b00..374ee12e727 100644 --- a/tests/ext/start_span_without_closing.phpt +++ b/tests/ext/start_span_without_closing.phpt @@ -26,7 +26,7 @@ var_dump(dd_trace_serialize_closed_spans()); ?> --EXPECTF-- -[ddtrace] [warning] Found unfinished span while automatically closing spans with name 'my precious span' +[ddtrace] [warning] [%d] Found unfinished span while automatically closing spans with name 'my precious span' array(1) { [0]=> array(10) { @@ -72,7 +72,7 @@ array(1) { } } } -[ddtrace] [error] There is no user-span on the top of the stack. Cannot close. +[ddtrace] [error] [%d] There is no user-span on the top of the stack. Cannot close. array(0) { } -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/start_span_without_closing_autofinish.phpt b/tests/ext/start_span_without_closing_autofinish.phpt index 4327faf24e6..e299942aba0 100644 --- a/tests/ext/start_span_without_closing_autofinish.phpt +++ b/tests/ext/start_span_without_closing_autofinish.phpt @@ -24,7 +24,7 @@ var_dump(dd_trace_serialize_closed_spans()); ?> --EXPECTF-- -[ddtrace] [warning] Found unfinished span while automatically closing spans with name 'my precious span' +[ddtrace] [warning] [%d] Found unfinished span while automatically closing spans with name 'my precious span' array(2) { [0]=> array(9) { @@ -69,7 +69,7 @@ array(2) { string(3) "cli" } } -[ddtrace] [error] There is no user-span on the top of the stack. Cannot close. +[ddtrace] [error] [%d] There is no user-span on the top of the stack. Cannot close. array(0) { } -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent diff --git a/tests/ext/telemetry/broken_pipe.phpt b/tests/ext/telemetry/broken_pipe.phpt index bcbbc1bd631..7bf8c252ba0 100644 --- a/tests/ext/telemetry/broken_pipe.phpt +++ b/tests/ext/telemetry/broken_pipe.phpt @@ -68,14 +68,14 @@ for ($i = 0; $i < 300; ++$i) { ?> --EXPECTF-- -[ddtrace] [info] Flushing trace of size 1 to send-queue for %sbroken_pipe-telemetry.out -[ddtrace] [datadog_sidecar::service::blocking] The sidecar transport is closed. Reconnecting... This generally indicates a problem with the sidecar, most likely a crash. Check the logs / core dump locations and possibly report a bug. +[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %sbroken_pipe-telemetry.out +[ddtrace] [datadog_sidecar::service::blocking] [%d] The sidecar transport is closed. Reconnecting... This generally indicates a problem with the sidecar, most likely a crash. Check the logs / core dump locations and possibly report a bug. string(11) "app-started" string(25) "broken_pipe-telemetry-app" string(8) "test-env" string(31) "app-client-configuration-change" string(11) "app-closing" -[ddtrace] [info] No finished traces to be sent to the agent +[ddtrace] [info] [%d] No finished traces to be sent to the agent --CLEAN-- --EXPECTF-- foo -[ddtrace] [warning] Error raised in ddtrace's closure defined at %sintegration_runtime_error.php:12 for foo(): Testnotice in %sintegration_runtime_error.php on line 13 -[ddtrace] [warning] Exception thrown in ddtrace's closure defined at %sintegration_runtime_error.php:7 for foo(): test in %sintegration_runtime_error.php on line 9 +[ddtrace] [warning] [%d] Error raised in ddtrace's closure defined at %sintegration_runtime_error.php:12 for foo(): Testnotice in %sintegration_runtime_error.php on line 13 +[ddtrace] [warning] [%d] Exception thrown in ddtrace's closure defined at %sintegration_runtime_error.php:7 for foo(): test in %sintegration_runtime_error.php on line 9 foo -[ddtrace] [warning] Error raised in ddtrace's closure defined at %sintegration_runtime_error.php:12 for foo(): Testnotice in %sintegration_runtime_error.php on line 13 -[ddtrace] [warning] Exception thrown in ddtrace's closure defined at %sintegration_runtime_error.php:7 for foo(): test in %sintegration_runtime_error.php on line 9 +[ddtrace] [warning] [%d] Error raised in ddtrace's closure defined at %sintegration_runtime_error.php:12 for foo(): Testnotice in %sintegration_runtime_error.php on line 13 +[ddtrace] [warning] [%d] Exception thrown in ddtrace's closure defined at %sintegration_runtime_error.php:7 for foo(): test in %sintegration_runtime_error.php on line 9 array(2) { [0]=> array(7) { diff --git a/tests/ext/telemetry/metrics_logs_created.phpt b/tests/ext/telemetry/metrics_logs_created.phpt index c219c066bdc..58a05bdb73f 100644 --- a/tests/ext/telemetry/metrics_logs_created.phpt +++ b/tests/ext/telemetry/metrics_logs_created.phpt @@ -53,9 +53,9 @@ for ($i = 0; $i < 300; ++$i) { ?> --EXPECTF-- -[ddtrace] [warning] foo -[ddtrace] [warning] bar -[ddtrace] [error] Boum +[ddtrace] [warning] [%d] foo +[ddtrace] [warning] [%d] bar +[ddtrace] [error] [%d] Boum array(2) { [0]=> array(7) { diff --git a/tests/xdebug/2.7.2/self_disable_php_7.0.phpt b/tests/xdebug/2.7.2/self_disable_php_7.0.phpt index d8a32bbac18..85597c8483f 100644 --- a/tests/xdebug/2.7.2/self_disable_php_7.0.phpt +++ b/tests/xdebug/2.7.2/self_disable_php_7.0.phpt @@ -11,6 +11,6 @@ if (!extension_loaded('Xdebug')) die('skip: Xdebug required'); echo 'Done.' . PHP_EOL; ?> --EXPECTF-- -[ddtrace] [error] Found incompatible Xdebug version %s -[ddtrace] [error] Found incompatible extension(s); disabling conflicting functionality +[ddtrace] [error] [%d] Found incompatible Xdebug version %s +[ddtrace] [error] [%d] Found incompatible extension(s); disabling conflicting functionality Done. diff --git a/tests/xdebug/2.9.2/force_inject.phpt b/tests/xdebug/2.9.2/force_inject.phpt index b735f5fe22b..879a557ace6 100644 --- a/tests/xdebug/2.9.2/force_inject.phpt +++ b/tests/xdebug/2.9.2/force_inject.phpt @@ -13,6 +13,6 @@ if (!extension_loaded('Xdebug') || version_compare(phpversion('Xdebug'), '2.9.5' echo 'Done.' . PHP_EOL; ?> --EXPECTF-- -[ddtrace] [warning] Found incompatible Xdebug version %s; ddtrace requires Xdebug 2.9.5 or greater -[ddtrace] [warning] Found incompatible extension(s); ignoring since 'datadog.inject_force' is enabled +[ddtrace] [warning] [%d] Found incompatible Xdebug version %s; ddtrace requires Xdebug 2.9.5 or greater +[ddtrace] [warning] [%d] Found incompatible extension(s); ignoring since 'datadog.inject_force' is enabled Done. diff --git a/tests/xdebug/2.9.2/self_disable.phpt b/tests/xdebug/2.9.2/self_disable.phpt index a6fe0fae324..d080531f07a 100644 --- a/tests/xdebug/2.9.2/self_disable.phpt +++ b/tests/xdebug/2.9.2/self_disable.phpt @@ -11,6 +11,6 @@ if (!extension_loaded('Xdebug') || version_compare(phpversion('Xdebug'), '2.9.5' echo 'Done.' . PHP_EOL; ?> --EXPECTF-- -[ddtrace] [error] Found incompatible Xdebug version %s; ddtrace requires Xdebug 2.9.5 or greater -[ddtrace] [error] Found incompatible extension(s); disabling conflicting functionality +[ddtrace] [error] [%d] Found incompatible Xdebug version %s; ddtrace requires Xdebug 2.9.5 or greater +[ddtrace] [error] [%d] Found incompatible extension(s); disabling conflicting functionality Done. From 6e0c3c806f38291218ef510bbfc480f09819abd4 Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Tue, 17 Mar 2026 17:36:56 +0100 Subject: [PATCH 12/15] Fix parallel build Signed-off-by: Bob Weinand --- dockerfiles/ci/centos/7/base.Dockerfile | 2 +- dockerfiles/ci/centos/7/php.Dockerfile | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dockerfiles/ci/centos/7/base.Dockerfile b/dockerfiles/ci/centos/7/base.Dockerfile index 423898f31b8..65e06cd3806 100644 --- a/dockerfiles/ci/centos/7/base.Dockerfile +++ b/dockerfiles/ci/centos/7/base.Dockerfile @@ -286,7 +286,7 @@ RUN set -eux; \ zlib-devel; \ yum clean all; -RUN printf "source scl_source enable devtoolset-7" | tee -a /etc/profile.d/zzz-ddtrace.sh /etc/bashrc +RUN printf "source scl_source enable devtoolset-7\n" | tee -a /etc/profile.d/zzz-ddtrace.sh /etc/bashrc ENV BASH_ENV="/etc/profile.d/zzz-ddtrace.sh" ENV PATH="/rust/cargo/bin:${PATH}" diff --git a/dockerfiles/ci/centos/7/php.Dockerfile b/dockerfiles/ci/centos/7/php.Dockerfile index 755cb1972f1..281af3e10e8 100644 --- a/dockerfiles/ci/centos/7/php.Dockerfile +++ b/dockerfiles/ci/centos/7/php.Dockerfile @@ -46,8 +46,8 @@ RUN bash -c 'set -eux; \ && make install \ && cp .libs/libphp*.so ${PHP_INSTALL_DIR_ZTS}/lib/apache2handler-libphp.so \ && mkdir -p ${PHP_INSTALL_DIR_ZTS}/conf.d' \ - && [ $(expr substr ${PHP_VERSION} 1 1) = 7 ] || ${PHP_INSTALL_DIR_ZTS}/bin/pecl install parallel || true \ - && [ $(expr substr ${PHP_VERSION} 1 1) = 7 ] || echo "extension=parallel" >> ${PHP_INSTALL_DIR_ZTS}/conf.d/parallel.ini || true + && ( [ $(expr substr ${PHP_VERSION} 1 1) = 7 ] || CFLAGS="${CFLAGS} -std=gnu99" ${PHP_INSTALL_DIR_ZTS}/bin/pecl install parallel ) \ + && ( [ $(expr substr ${PHP_VERSION} 1 1) = 7 ] || echo "extension=parallel" >> ${PHP_INSTALL_DIR_ZTS}/conf.d/parallel.ini ) FROM base AS php-debug RUN bash -c 'set -eux; \ From d56bc0eb24552e5a507c25420402e34bdf67db95 Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Tue, 17 Mar 2026 22:55:06 +0100 Subject: [PATCH 13/15] And add libtool --- dockerfiles/ci/alpine_compile_extension/base.Dockerfile | 1 + dockerfiles/ci/centos/7/base.Dockerfile | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/dockerfiles/ci/alpine_compile_extension/base.Dockerfile b/dockerfiles/ci/alpine_compile_extension/base.Dockerfile index 9ac236f770a..86d3c905770 100644 --- a/dockerfiles/ci/alpine_compile_extension/base.Dockerfile +++ b/dockerfiles/ci/alpine_compile_extension/base.Dockerfile @@ -14,6 +14,7 @@ RUN set -eux; \ coreutils \ g++ \ gcc \ + libtool \ make \ cmake \ build-base \ diff --git a/dockerfiles/ci/centos/7/base.Dockerfile b/dockerfiles/ci/centos/7/base.Dockerfile index 65e06cd3806..23198e0e55b 100644 --- a/dockerfiles/ci/centos/7/base.Dockerfile +++ b/dockerfiles/ci/centos/7/base.Dockerfile @@ -64,6 +64,14 @@ RUN set -eux; \ ../configure && make -j $(nproc) && make install; \ cd - && rm -fr build +# Libtool required +RUN set -eux; \ + /root/download-src.sh libtool https://mirrors.kernel.org/gnu/libtool/libtool-2.5.4.tar.gz; \ + cd "${SRC_DIR}/libtool"; \ + mkdir -v 'build' && cd 'build'; \ + ../configure && make -j $(nproc) && make install; \ + cd - && rm -fr build + # Required: libxml >= 2.9.0 (default version is 2.7.6) RUN source scl_source enable devtoolset-7; set -eux; \ /root/download-src.sh libxml2 http://xmlsoft.org/sources/libxml2-2.9.10.tar.gz; \ From b7211368d365734b658b9a7e57d790ccc34ff253 Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Tue, 17 Mar 2026 23:21:47 +0100 Subject: [PATCH 14/15] Rename $NIGHTLY to $NIGHTLY_BUILD --- .gitlab/generate-package.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab/generate-package.php b/.gitlab/generate-package.php index 63a6c1da762..42441f0fce3 100644 --- a/.gitlab/generate-package.php +++ b/.gitlab/generate-package.php @@ -1427,7 +1427,7 @@ image: registry.ddbuild.io/ci/libdatadog-build/ci_docker_base:67145216 tags: [ "runner:main", "size:large" ] rules: - - if: $CI_PIPELINE_SOURCE == "schedule" && $NIGHTLY + - if: $CI_PIPELINE_SOURCE == "schedule" && $NIGHTLY_BUILD when: on_success - if: $CI_COMMIT_REF_NAME =~ /^ddtrace-/ when: on_success From fc3c1eebf0327463c01ce12a93a4cc2b744fd687 Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Thu, 19 Mar 2026 20:15:19 +0100 Subject: [PATCH 15/15] Fix warning Signed-off-by: Bob Weinand --- components-rs/telemetry.rs | 2 +- libdatadog | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/components-rs/telemetry.rs b/components-rs/telemetry.rs index 98667ea956a..491e6c97254 100644 --- a/components-rs/telemetry.rs +++ b/components-rs/telemetry.rs @@ -245,7 +245,7 @@ pub struct ShmCache { } #[derive(Hash, Eq, PartialEq)] -struct ShmCacheKey(String, String); +pub struct ShmCacheKey(String, String); impl Equivalent for (&str, &str) { fn equivalent(&self, key: &ShmCacheKey) -> bool { diff --git a/libdatadog b/libdatadog index 3e890d5596a..29333caa49e 160000 --- a/libdatadog +++ b/libdatadog @@ -1 +1 @@ -Subproject commit 3e890d5596ac7f03d52f3124ea2c7b4597aec2bd +Subproject commit 29333caa49e2393ec1e487bc9065a7761c085154