diff --git a/Cargo.lock b/Cargo.lock index 2ab8bec9268..e8273bf6046 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -122,6 +122,15 @@ version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" +[[package]] +name = "arbitrary" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" +dependencies = [ + "derive_arbitrary", +] + [[package]] name = "arc-swap" version = "1.7.1" @@ -156,6 +165,12 @@ 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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55ca83137a482d61d916ceb1eba52a684f98004f18e0cafea230fe5579c178a3" + [[package]] name = "async-lock" version = "3.4.0" @@ -177,28 +192,6 @@ dependencies = [ "event-listener", ] -[[package]] -name = "async-stream" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" -dependencies = [ - "async-stream-impl", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-stream-impl" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.96", -] - [[package]] name = "async-trait" version = "0.1.85" @@ -264,11 +257,10 @@ dependencies = [ [[package]] name = "axum" -version = "0.7.9" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" +checksum = "8b52af3cb4058c895d37317bb27508dccc8e5f2d39454016b297bf4a400597b8" dependencies = [ - "async-trait", "axum-core", "bytes", "futures-util", @@ -281,29 +273,26 @@ dependencies = [ "mime", "percent-encoding", "pin-project-lite", - "rustversion", - "serde", + "serde_core", "sync_wrapper", - "tower 0.5.2", + "tower", "tower-layer", "tower-service", ] [[package]] name = "axum-core" -version = "0.4.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" +checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1" dependencies = [ - "async-trait", "bytes", - "futures-util", + "futures-core", "http", "http-body", "http-body-util", "mime", "pin-project-lite", - "rustversion", "sync_wrapper", "tower-layer", "tower-service", @@ -676,7 +665,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-link", + "windows-link 0.1.1", ] [[package]] @@ -766,6 +755,17 @@ dependencies = [ "cc", ] +[[package]] +name = "codespan-reporting" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af491d569909a7e4dee0ad7db7f5341fef5c614d5b8ec8cf765732aba3cff681" +dependencies = [ + "serde", + "termcolor", + "unicode-width", +] + [[package]] name = "colorchoice" version = "1.0.3" @@ -799,22 +799,23 @@ dependencies = [ [[package]] name = "console-api" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8030735ecb0d128428b64cd379809817e620a40e5001c54465b99ec5feec2857" +checksum = "e8599749b6667e2f0c910c1d0dff6901163ff698a52d5a39720f61b5be4b20d3" dependencies = [ "futures-core", - "prost", + "prost 0.14.3", "prost-types", "tonic", + "tonic-prost", "tracing-core", ] [[package]] name = "console-subscriber" -version = "0.4.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6539aa9c6a4cd31f4b1c040f860a1eac9aa80e7df6b05d506a6e7179936d6a01" +checksum = "fb4915b7d8dd960457a1b6c380114c2944f728e7c65294ab247ae6b6f1f37592" dependencies = [ "console-api", "crossbeam-channel", @@ -823,7 +824,7 @@ dependencies = [ "hdrhistogram", "humantime", "hyper-util", - "prost", + "prost 0.14.3", "prost-types", "serde", "serde_json", @@ -1053,6 +1054,68 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a74858bcfe44b22016cb49337d7b6f04618c58e5dbfdef61b06b8c434324a0bc" +[[package]] +name = "cxx" +version = "1.0.192" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbda285ba6e5866529faf76352bdf73801d9b44a6308d7cd58ca2379f378e994" +dependencies = [ + "cc", + "cxx-build", + "cxxbridge-cmd", + "cxxbridge-flags", + "cxxbridge-macro", + "foldhash 0.2.0", + "link-cplusplus", +] + +[[package]] +name = "cxx-build" +version = "1.0.192" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af9efde466c5d532d57efd92f861da3bdb7f61e369128ce8b4c3fe0c9de4fa4d" +dependencies = [ + "cc", + "codespan-reporting", + "indexmap 2.12.0", + "proc-macro2", + "quote", + "scratch", + "syn 2.0.96", +] + +[[package]] +name = "cxxbridge-cmd" +version = "1.0.192" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3efb93799095bccd4f763ca07997dc39a69e5e61ab52d2c407d4988d21ce144d" +dependencies = [ + "clap", + "codespan-reporting", + "indexmap 2.12.0", + "proc-macro2", + "quote", + "syn 2.0.96", +] + +[[package]] +name = "cxxbridge-flags" +version = "1.0.192" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3092010228026e143b32a4463ed9fa8f86dca266af4bf5f3b2a26e113dbe4e45" + +[[package]] +name = "cxxbridge-macro" +version = "1.0.192" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31d72ebfcd351ae404fb00ff378dfc9571827a00722c9e735c9181aec320ba0a" +dependencies = [ + "indexmap 2.12.0", + "proc-macro2", + "quote", + "syn 2.0.96", +] + [[package]] name = "darling" version = "0.20.10" @@ -1186,7 +1249,7 @@ dependencies = [ "lazy_static", "libc 0.2.177", "libdd-alloc", - "libdd-common 1.0.0 (git+https://github.com/DataDog/libdatadog?tag=v24.0.2)", + "libdd-common 1.0.0 (git+https://github.com/DataDog/libdatadog?tag=v25.0.0)", "libdd-library-config-ffi", "libdd-profiling", "log", @@ -1383,6 +1446,17 @@ dependencies = [ "serde", ] +[[package]] +name = "derive_arbitrary" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.96", +] + [[package]] name = "diff" version = "0.1.13" @@ -1546,9 +1620,9 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "fixedbitset" -version = "0.4.2" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] name = "flate2" @@ -1581,6 +1655,12 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + [[package]] name = "form_urlencoded" version = "1.2.1" @@ -1869,7 +1949,7 @@ checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" dependencies = [ "allocator-api2", "equivalent", - "foldhash", + "foldhash 0.1.5", ] [[package]] @@ -2121,7 +2201,7 @@ dependencies = [ "hyper", "libc 0.2.177", "pin-project-lite", - "socket2", + "socket2 0.5.10", "tokio", "tower-service", "tracing", @@ -2441,7 +2521,7 @@ checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" [[package]] name = "libdd-alloc" version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog?tag=v24.0.2#d0393310c6e86ed7eb120c6cb6255f4f6eab1b9b" +source = "git+https://github.com/DataDog/libdatadog?tag=v25.0.0#5974f2e7b7453992aadda817e2bb36eb2555ce2c" dependencies = [ "allocator-api2", "libc 0.2.177", @@ -2486,7 +2566,7 @@ dependencies = [ [[package]] name = "libdd-common" version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog?tag=v24.0.2#d0393310c6e86ed7eb120c6cb6255f4f6eab1b9b" +source = "git+https://github.com/DataDog/libdatadog?tag=v25.0.0#5974f2e7b7453992aadda817e2bb36eb2555ce2c" dependencies = [ "anyhow", "cc", @@ -2521,10 +2601,12 @@ name = "libdd-common-ffi" version = "0.0.1" dependencies = [ "anyhow", + "assert_no_alloc", "bolero", "build_common", "chrono", "crossbeam-queue", + "function_name", "hyper", "libdd-common 1.0.0", "serde", @@ -2540,6 +2622,8 @@ dependencies = [ "cc", "chrono", "criterion", + "cxx", + "cxx-build", "goblin", "http", "libc 0.2.177", @@ -2624,7 +2708,7 @@ dependencies = [ name = "libdd-ddsketch" version = "1.0.0" dependencies = [ - "prost", + "prost 0.14.3", "prost-build", "protoc-bin-vendored", ] @@ -2683,29 +2767,34 @@ dependencies = [ [[package]] name = "libdd-profiling" version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog?tag=v24.0.2#d0393310c6e86ed7eb120c6cb6255f4f6eab1b9b" +source = "git+https://github.com/DataDog/libdatadog?tag=v25.0.0#5974f2e7b7453992aadda817e2bb36eb2555ce2c" dependencies = [ + "allocator-api2", "anyhow", "bitmaps", "byteorder", "bytes", "chrono", + "crossbeam-utils", "futures", + "hashbrown 0.16.0", "http", "http-body-util", "hyper", "hyper-multipart-rfc7578", "indexmap 2.12.0", "libdd-alloc", - "libdd-common 1.0.0 (git+https://github.com/DataDog/libdatadog?tag=v24.0.2)", + "libdd-common 1.0.0 (git+https://github.com/DataDog/libdatadog?tag=v25.0.0)", "libdd-profiling-protobuf", "lz4_flex", "mime", - "prost", + "parking_lot", + "prost 0.13.5", "rustc-hash", "serde", "serde_json", "target-triple", + "thiserror 2.0.12", "tokio", "tokio-util", "zstd", @@ -2714,9 +2803,9 @@ dependencies = [ [[package]] name = "libdd-profiling-protobuf" version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog?tag=v24.0.2#d0393310c6e86ed7eb120c6cb6255f4f6eab1b9b" +source = "git+https://github.com/DataDog/libdatadog?tag=v25.0.0#5974f2e7b7453992aadda817e2bb36eb2555ce2c" dependencies = [ - "prost", + "prost 0.13.5", ] [[package]] @@ -2778,6 +2867,7 @@ name = "libdd-trace-normalization" version = "1.0.0" dependencies = [ "anyhow", + "arbitrary", "criterion", "duplicate", "libdd-trace-protobuf", @@ -2788,7 +2878,7 @@ dependencies = [ name = "libdd-trace-protobuf" version = "1.0.0" dependencies = [ - "prost", + "prost 0.14.3", "prost-build", "protoc-bin-vendored", "serde", @@ -2821,6 +2911,7 @@ dependencies = [ "criterion", "flate2", "futures", + "http", "http-body-util", "httpmock", "hyper", @@ -2830,7 +2921,7 @@ dependencies = [ "libdd-trace-normalization", "libdd-trace-protobuf", "libdd-trace-utils", - "prost", + "prost 0.14.3", "rand 0.8.5", "rmp", "rmp-serde", @@ -2860,6 +2951,15 @@ version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" +[[package]] +name = "link-cplusplus" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f78c730aaa7d0b9336a299029ea49f9ee53b0ed06e9202e8cb7db9bae7b8c82" +dependencies = [ + "cc", +] + [[package]] name = "linux-raw-sys" version = "0.4.15" @@ -2923,9 +3023,9 @@ dependencies = [ [[package]] name = "matchit" -version = "0.7.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" +checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" [[package]] name = "memchr" @@ -3332,11 +3432,12 @@ dependencies = [ [[package]] name = "petgraph" -version = "0.6.5" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" dependencies = [ "fixedbitset", + "hashbrown 0.15.2", "indexmap 2.12.0", ] @@ -3595,23 +3696,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" dependencies = [ "bytes", - "prost-derive", + "prost-derive 0.13.5", +] + +[[package]] +name = "prost" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ea70524a2f82d518bce41317d0fae74151505651af45faf1ffbd6fd33f0568" +dependencies = [ + "bytes", + "prost-derive 0.14.3", ] [[package]] name = "prost-build" -version = "0.13.5" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" +checksum = "343d3bd7056eda839b03204e68deff7d1b13aba7af2b2fd16890697274262ee7" dependencies = [ "heck 0.5.0", "itertools 0.12.1", "log", "multimap", - "once_cell", "petgraph", "prettyplease", - "prost", + "prost 0.14.3", "prost-types", "regex", "syn 2.0.96", @@ -3631,13 +3741,26 @@ dependencies = [ "syn 2.0.96", ] +[[package]] +name = "prost-derive" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" +dependencies = [ + "anyhow", + "itertools 0.12.1", + "proc-macro2", + "quote", + "syn 2.0.96", +] + [[package]] name = "prost-types" -version = "0.13.5" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16" +checksum = "8991c4cbdb8bc5b11f0b074ffe286c30e523de90fee5ba8132f1399f23cb3dd7" dependencies = [ - "prost", + "prost 0.14.3", ] [[package]] @@ -4153,6 +4276,12 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "scratch" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d68f2ec51b097e4c1a75b681a8bec621909b5e91f15bb7b840c4f2f7b01148b2" + [[package]] name = "scroll" version = "0.12.0" @@ -4456,6 +4585,16 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "socket2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" +dependencies = [ + "libc 0.2.177", + "windows-sys 0.60.2", +] + [[package]] name = "spawn_worker" version = "0.0.1" @@ -4817,9 +4956,9 @@ dependencies = [ [[package]] name = "tokio" -version = "1.43.0" +version = "1.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e" +checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" dependencies = [ "backtrace", "bytes", @@ -4828,17 +4967,17 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2", + "socket2 0.6.1", "tokio-macros", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "tokio-macros" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" +checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", @@ -4945,11 +5084,10 @@ dependencies = [ [[package]] name = "tonic" -version = "0.12.3" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" +checksum = "eb7613188ce9f7df5bfe185db26c5814347d110db17920415cf2fbcad85e7203" dependencies = [ - "async-stream", "async-trait", "axum", "base64 0.22.1", @@ -4963,34 +5101,25 @@ dependencies = [ "hyper-util", "percent-encoding", "pin-project", - "prost", - "socket2", + "socket2 0.6.1", + "sync_wrapper", "tokio", "tokio-stream", - "tower 0.4.13", + "tower", "tower-layer", "tower-service", "tracing", ] [[package]] -name = "tower" -version = "0.4.13" +name = "tonic-prost" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +checksum = "66bd50ad6ce1252d87ef024b3d64fe4c3cf54a86fb9ef4c631fdd0ded7aeaa67" dependencies = [ - "futures-core", - "futures-util", - "indexmap 1.9.3", - "pin-project", - "pin-project-lite", - "rand 0.8.5", - "slab", - "tokio", - "tokio-util", - "tower-layer", - "tower-service", - "tracing", + "bytes", + "prost 0.14.3", + "tonic", ] [[package]] @@ -5001,10 +5130,15 @@ checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", + "indexmap 2.12.0", "pin-project-lite", + "slab", "sync_wrapper", + "tokio", + "tokio-util", "tower-layer", "tower-service", + "tracing", ] [[package]] @@ -5465,7 +5599,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f919aee0a93304be7f62e8e5027811bbba96bcb1de84d6618be56e43f8a32a1" dependencies = [ "windows-core 0.59.0", - "windows-targets 0.53.0", + "windows-targets 0.53.5", ] [[package]] @@ -5496,7 +5630,7 @@ dependencies = [ "windows-interface", "windows-result", "windows-strings", - "windows-targets 0.53.0", + "windows-targets 0.53.5", ] [[package]] @@ -5527,13 +5661,19 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + [[package]] name = "windows-result" version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" dependencies = [ - "windows-link", + "windows-link 0.1.1", ] [[package]] @@ -5542,7 +5682,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" dependencies = [ - "windows-link", + "windows-link 0.1.1", ] [[package]] @@ -5587,6 +5727,24 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.5", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link 0.2.1", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -5620,10 +5778,11 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.53.0" +version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" dependencies = [ + "windows-link 0.2.1", "windows_aarch64_gnullvm 0.53.0", "windows_aarch64_msvc 0.53.0", "windows_i686_gnu 0.53.0", diff --git a/Makefile b/Makefile index d1c80341eba..25618a0b35c 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-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},datadog-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-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") 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 }' ) @@ -500,9 +500,7 @@ $(PACKAGES_BUILD_DIR)/datadog-setup.php: $(PACKAGES_BUILD_DIR) $(PACKAGES_BUILD_DIR) build_pecl_package: - BUILD_DIR='$(BUILD_DIR)/'; \ - FILES="$(C_FILES) $(RUST_FILES) $(TEST_FILES) $(TEST_STUB_FILES) $(M4_FILES) Cargo.lock"; \ - tooling/bin/pecl-build $${FILES//$${BUILD_DIR}/} + echo $(subst $(BUILD_DIR)/,,$(C_FILES) $(RUST_FILES) $(TEST_FILES) $(TEST_STUB_FILES) $(M4_FILES) Cargo.lock) | tooling/bin/pecl-build dbgsym.tar.gz: $(PACKAGES_BUILD_DIR) $(if $(DDTRACE_MAKE_PACKAGES_ASAN), , tar -zcf $(PACKAGES_BUILD_DIR)/dd-library-php-$(VERSION)_windows_debugsymbols.tar.gz ./extensions_x86_64_debugsymbols --owner=0 --group=0) diff --git a/compile_rust.sh b/compile_rust.sh index 8e88267ea72..fe62f8c304e 100755 --- a/compile_rust.sh +++ b/compile_rust.sh @@ -2,9 +2,7 @@ cd components-rs RUSTFLAGS="${RUSTFLAGS:-} --cfg tokio_unstable" -if if test -z "${host_os:-}"; then case "${host_os}" in linux*) true;; *) false; esac else test "$(uname -s)" = "Linux"; fi then - RUSTFLAGS="$RUSTFLAGS --cfg tokio_taskdump" -fi + if test -n "$SHARED"; then RUSTFLAGS="$RUSTFLAGS --cfg php_shared_build" fi diff --git a/components-rs/telemetry.rs b/components-rs/telemetry.rs index c572bceea84..899a0efa45b 100644 --- a/components-rs/telemetry.rs +++ b/components-rs/telemetry.rs @@ -143,6 +143,7 @@ pub unsafe extern "C" fn ddog_sidecar_telemetry_enqueueConfig_buffer( value: config_value.to_utf8_lossy().into_owned(), origin, config_id, + seq_id: None, }); buffer.buffer.push(SidecarAction::Telemetry(action)); } diff --git a/libdatadog b/libdatadog index 629bce09547..1caf15157a8 160000 --- a/libdatadog +++ b/libdatadog @@ -1 +1 @@ -Subproject commit 629bce09547abc77d7bbda623921f97eb5611949 +Subproject commit 1caf15157a8251d398715349a75d5607cb5545c2 diff --git a/loader/tests/functional/test_configuration_telemetry.php b/loader/tests/functional/test_configuration_telemetry.php index fe77c965d12..6a15c892a45 100644 --- a/loader/tests/functional/test_configuration_telemetry.php +++ b/loader/tests/functional/test_configuration_telemetry.php @@ -19,6 +19,6 @@ usleep(10000); $content = file_get_contents($telemetryLogPath); -assertContains($content, '{"name":"instrumentation_source","value":"ssi","origin":"default","config_id":null}'); -assertContains($content, '{"name":"ssi_injection_enabled","value":"tracer","origin":"env_var","config_id":null}'); -assertContains($content, '{"name":"ssi_forced_injection_enabled","value":"True","origin":"env_var","config_id":null}'); +assertContains($content, '{"name":"instrumentation_source","value":"ssi","origin":"default","config_id":null,"seq_id":null}'); +assertContains($content, '{"name":"ssi_injection_enabled","value":"tracer","origin":"env_var","config_id":null,"seq_id":null}'); +assertContains($content, '{"name":"ssi_forced_injection_enabled","value":"True","origin":"env_var","config_id":null,"seq_id":null}'); diff --git a/profiling/Cargo.toml b/profiling/Cargo.toml index 364867b2fa1..a2d182de4ba 100644 --- a/profiling/Cargo.toml +++ b/profiling/Cargo.toml @@ -22,9 +22,9 @@ cfg-if = { version = "1.0" } cpu-time = { version = "1.0" } chrono = { version = "0.4" } crossbeam-channel = { version = "0.5", default-features = false, features = ["std"] } -libdd-alloc = { git = "https://github.com/DataDog/libdatadog", tag = "v24.0.2" } -libdd-profiling = { git = "https://github.com/DataDog/libdatadog", tag = "v24.0.2" } -libdd-common = { git = "https://github.com/DataDog/libdatadog", tag = "v24.0.2" } +libdd-alloc = { git = "https://github.com/DataDog/libdatadog", tag = "v25.0.0" } +libdd-profiling = { git = "https://github.com/DataDog/libdatadog", tag = "v25.0.0" } +libdd-common = { git = "https://github.com/DataDog/libdatadog", tag = "v25.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" } diff --git a/profiling/src/profiling/uploader.rs b/profiling/src/profiling/uploader.rs index e175d778739..4ba6da2e2be 100644 --- a/profiling/src/profiling/uploader.rs +++ b/profiling/src/profiling/uploader.rs @@ -88,6 +88,7 @@ impl Uploader { &[], &[], None, + None, #[cfg(feature = "debug_stats")] Self::create_internal_metadata(), #[cfg(not(feature = "debug_stats"))] diff --git a/src/DDTrace/OpenTelemetry/Span.php b/src/DDTrace/OpenTelemetry/Span.php index 14ef8b5684e..d298013ca49 100644 --- a/src/DDTrace/OpenTelemetry/Span.php +++ b/src/DDTrace/OpenTelemetry/Span.php @@ -274,7 +274,7 @@ public function getKind(): int /** * @inheritDoc */ - public function getAttribute(string $key) + public function getAttribute(string $key): mixed { return $this->span->meta[$key] ?? ($this->span->metrics[$key] ?? null); } diff --git a/tests/ext/appsec/sca_flag_is_sent_01.phpt b/tests/ext/appsec/sca_flag_is_sent_01.phpt index caf86587535..81c0435fd08 100644 --- a/tests/ext/appsec/sca_flag_is_sent_01.phpt +++ b/tests/ext/appsec/sca_flag_is_sent_01.phpt @@ -17,7 +17,7 @@ datadog.trace.agent_url="file://{PWD}/sca_flag_is_sent_01-telemetry.out" --FILE_EXTERNAL-- sca_test.inc --EXPECT-- -array(4) { +array(5) { ["name"]=> string(18) "appsec.sca_enabled" ["value"]=> @@ -26,6 +26,8 @@ array(4) { string(7) "default" ["config_id"]=> NULL + ["seq_id"]=> + NULL } string(4) "Sent" --CLEAN-- diff --git a/tests/ext/appsec/sca_flag_is_sent_02.phpt b/tests/ext/appsec/sca_flag_is_sent_02.phpt index e513fed5217..8de04fd4f85 100644 --- a/tests/ext/appsec/sca_flag_is_sent_02.phpt +++ b/tests/ext/appsec/sca_flag_is_sent_02.phpt @@ -18,7 +18,7 @@ datadog.trace.agent_url="file://{PWD}/sca_flag_is_sent_02-telemetry.out" --FILE_EXTERNAL-- sca_test.inc --EXPECT-- -array(4) { +array(5) { ["name"]=> string(18) "appsec.sca_enabled" ["value"]=> @@ -27,6 +27,8 @@ array(4) { string(7) "env_var" ["config_id"]=> NULL + ["seq_id"]=> + NULL } string(4) "Sent" --CLEAN-- diff --git a/tests/ext/appsec/sca_flag_is_sent_03.phpt b/tests/ext/appsec/sca_flag_is_sent_03.phpt index 16a87179696..da0cde87036 100644 --- a/tests/ext/appsec/sca_flag_is_sent_03.phpt +++ b/tests/ext/appsec/sca_flag_is_sent_03.phpt @@ -18,7 +18,7 @@ datadog.trace.agent_url="file://{PWD}/sca_flag_is_sent_03-telemetry.out" --FILE_EXTERNAL-- sca_test.inc --EXPECT-- -array(4) { +array(5) { ["name"]=> string(18) "appsec.sca_enabled" ["value"]=> @@ -27,6 +27,8 @@ array(4) { string(7) "env_var" ["config_id"]=> NULL + ["seq_id"]=> + NULL } string(4) "Sent" --CLEAN-- diff --git a/tests/ext/appsec/sca_flag_is_sent_04.phpt b/tests/ext/appsec/sca_flag_is_sent_04.phpt index c70843f91d3..f2d0abb4944 100644 --- a/tests/ext/appsec/sca_flag_is_sent_04.phpt +++ b/tests/ext/appsec/sca_flag_is_sent_04.phpt @@ -18,7 +18,7 @@ datadog.appsec.sca_enabled=1 --FILE_EXTERNAL-- sca_test.inc --EXPECT-- -array(4) { +array(5) { ["name"]=> string(18) "appsec.sca_enabled" ["value"]=> @@ -27,6 +27,8 @@ array(4) { string(7) "env_var" ["config_id"]=> NULL + ["seq_id"]=> + NULL } string(4) "Sent" --CLEAN-- diff --git a/tests/ext/appsec/sca_flag_is_sent_05.phpt b/tests/ext/appsec/sca_flag_is_sent_05.phpt index 76f4ee0c4a9..a51dfa6b76e 100644 --- a/tests/ext/appsec/sca_flag_is_sent_05.phpt +++ b/tests/ext/appsec/sca_flag_is_sent_05.phpt @@ -18,7 +18,7 @@ datadog.appsec.sca_enabled=0 --FILE_EXTERNAL-- sca_test.inc --EXPECT-- -array(4) { +array(5) { ["name"]=> string(18) "appsec.sca_enabled" ["value"]=> @@ -27,6 +27,8 @@ array(4) { string(7) "env_var" ["config_id"]=> NULL + ["seq_id"]=> + NULL } string(4) "Sent" --CLEAN-- diff --git a/tests/ext/library_config/fleet_config.phpt b/tests/ext/library_config/fleet_config.phpt index fa92ae20739..314803fcea8 100644 --- a/tests/ext/library_config/fleet_config.phpt +++ b/tests/ext/library_config/fleet_config.phpt @@ -76,7 +76,7 @@ DD_DYNAMIC_INSTRUMENTATION_ENABLED: true ------ Telemetry ------ array(5) { [0]=> - array(4) { + array(5) { ["name"]=> string(3) "env" ["value"]=> @@ -85,9 +85,11 @@ array(5) { string(19) "fleet_stable_config" ["config_id"]=> string(15) "42_fleet_config" + ["seq_id"]=> + NULL } [1]=> - array(4) { + array(5) { ["name"]=> string(7) "service" ["value"]=> @@ -96,9 +98,11 @@ array(5) { string(19) "fleet_stable_config" ["config_id"]=> string(15) "42_fleet_config" + ["seq_id"]=> + NULL } [2]=> - array(4) { + array(5) { ["name"]=> string(24) "trace.generate_root_span" ["value"]=> @@ -107,9 +111,11 @@ array(5) { string(7) "default" ["config_id"]=> NULL + ["seq_id"]=> + NULL } [3]=> - array(4) { + array(5) { ["name"]=> string(17) "trace.spans_limit" ["value"]=> @@ -118,9 +124,11 @@ array(5) { string(7) "env_var" ["config_id"]=> NULL + ["seq_id"]=> + NULL } [4]=> - array(4) { + array(5) { ["name"]=> string(31) "dynamic_instrumentation.enabled" ["value"]=> @@ -129,6 +137,8 @@ array(5) { string(19) "fleet_stable_config" ["config_id"]=> string(15) "42_fleet_config" + ["seq_id"]=> + NULL } } --CLEAN-- diff --git a/tests/ext/library_config/local_config.phpt b/tests/ext/library_config/local_config.phpt index fdcae9887a2..a632d91c390 100644 --- a/tests/ext/library_config/local_config.phpt +++ b/tests/ext/library_config/local_config.phpt @@ -76,7 +76,7 @@ DD_DYNAMIC_INSTRUMENTATION_ENABLED: true ------ Telemetry ------ array(5) { [0]=> - array(4) { + array(5) { ["name"]=> string(3) "env" ["value"]=> @@ -85,9 +85,11 @@ array(5) { string(19) "local_stable_config" ["config_id"]=> string(15) "42_local_config" + ["seq_id"]=> + NULL } [1]=> - array(4) { + array(5) { ["name"]=> string(7) "service" ["value"]=> @@ -96,9 +98,11 @@ array(5) { string(19) "local_stable_config" ["config_id"]=> string(15) "42_local_config" + ["seq_id"]=> + NULL } [2]=> - array(4) { + array(5) { ["name"]=> string(24) "trace.generate_root_span" ["value"]=> @@ -107,9 +111,11 @@ array(5) { string(7) "default" ["config_id"]=> NULL + ["seq_id"]=> + NULL } [3]=> - array(4) { + array(5) { ["name"]=> string(17) "trace.spans_limit" ["value"]=> @@ -118,9 +124,11 @@ array(5) { string(7) "env_var" ["config_id"]=> NULL + ["seq_id"]=> + NULL } [4]=> - array(4) { + array(5) { ["name"]=> string(31) "dynamic_instrumentation.enabled" ["value"]=> @@ -129,6 +137,8 @@ array(5) { string(19) "local_stable_config" ["config_id"]=> string(15) "42_local_config" + ["seq_id"]=> + NULL } } --CLEAN-- diff --git a/tests/ext/telemetry/config.phpt b/tests/ext/telemetry/config.phpt index 73bb684554f..5987426ca13 100644 --- a/tests/ext/telemetry/config.phpt +++ b/tests/ext/telemetry/config.phpt @@ -74,6 +74,7 @@ Array [value] => file://%s/config-telemetry.out [origin] => env_var [config_id] => + [seq_id] => ) [1] => Array @@ -82,6 +83,7 @@ Array [value] => 1 [origin] => env_var [config_id] => + [seq_id] => ) [2] => Array @@ -90,6 +92,7 @@ Array [value] => 1 [origin] => env_var [config_id] => + [seq_id] => ) [3] => Array @@ -98,6 +101,7 @@ Array [value] => 0 [origin] => env_var [config_id] => + [seq_id] => ) [4] => Array @@ -106,6 +110,7 @@ Array [value] => 0 [origin] => env_var [config_id] => + [seq_id] => ) [5] => Array @@ -114,6 +119,7 @@ Array [value] => False [origin] => env_var [config_id] => + [seq_id] => ) ) diff --git a/tooling/bin/pecl-build b/tooling/bin/pecl-build index a68275832ea..4c82e6ec4ac 100755 --- a/tooling/bin/pecl-build +++ b/tooling/bin/pecl-build @@ -19,7 +19,7 @@ configuration_placeholder=' ' codefiles="" -for file in "$@"; do +for file in $(cat); do # cat to read from STDIN codefiles="${codefiles}"$'\n $configuration_placeholder" || echo "/>")" done