diff --git a/Cargo.lock b/Cargo.lock index 6b9ba0c987..5a4d776446 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" @@ -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" @@ -159,18 +153,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" @@ -215,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" @@ -282,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", @@ -303,7 +276,7 @@ dependencies = [ "http", "http-body", "http-body-util", - "mime 0.3.17", + "mime", "pin-project-lite", "sync_wrapper", "tower-layer", @@ -319,22 +292,12 @@ 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", ] -[[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" @@ -368,7 +331,7 @@ dependencies = [ "itertools 0.12.1", "lazy_static", "lazycell", - "log 0.4.25", + "log", "prettyplease", "proc-macro2", "quote", @@ -405,15 +368,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", ] @@ -529,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" @@ -562,9 +515,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", ] @@ -625,7 +578,7 @@ dependencies = [ "clap", "heck 0.4.1", "indexmap 2.12.1", - "log 0.4.25", + "log", "proc-macro2", "quote", "serde", @@ -644,7 +597,7 @@ dependencies = [ "clap", "heck 0.5.0", "indexmap 2.12.1", - "log 0.4.25", + "log", "proc-macro2", "quote", "serde", @@ -716,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" @@ -800,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" @@ -951,6 +889,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 +972,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 +1161,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" @@ -1217,7 +1176,7 @@ dependencies = [ "derive_more", "env_logger 0.10.2", "faststr", - "log 0.4.25", + "log", "md5", "pyo3", "regex", @@ -1226,7 +1185,7 @@ dependencies = [ "serde_json", "serde_with", "thiserror 2.0.12", - "url 2.5.4", + "url", ] [[package]] @@ -1234,28 +1193,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 +1221,8 @@ dependencies = [ name = "datadog-ipc-macros" version = "0.0.1" dependencies = [ + "heck 0.5.0", + "proc-macro2", "quote", "syn 2.0.96", ] @@ -1275,14 +1232,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", + "percent-encoding", "regex", - "regex-automata 0.4.9", + "regex-automata", "serde", "serde_json", "smallvec", @@ -1297,10 +1255,10 @@ 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", + "log", + "percent-encoding", "serde_json", "tokio", "tokio-util", @@ -1328,10 +1286,10 @@ 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 2.0.0 (git+https://github.com/DataDog/libdatadog?tag=v29.0.0)", "libdd-library-config-ffi", "libdd-profiling", - "log 0.4.25", + "log", "mach2", "perfcnt", "rand 0.8.5", @@ -1358,9 +1316,9 @@ dependencies = [ "futures-util", "http", "http-body-util", - "hyper 1.6.0", + "hyper", "hyper-util", - "libdd-common 1.1.0", + "libdd-common 2.0.0", "libdd-trace-protobuf", "manual_future", "regex", @@ -1368,7 +1326,7 @@ dependencies = [ "serde_json", "serde_with", "sha2", - "time 0.3.37", + "time", "tokio", "tokio-util", "tracing", @@ -1394,9 +1352,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", @@ -1441,7 +1398,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", @@ -1484,7 +1441,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", @@ -1492,10 +1449,10 @@ dependencies = [ "libdd-telemetry-ffi", "libdd-tinybytes", "libdd-trace-utils", - "log 0.4.25", + "log", "paste", "regex", - "regex-automata 0.4.9", + "regex-automata", "serde", "serde_json", "serde_with", @@ -1619,18 +1576,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" @@ -1647,13 +1592,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", @@ -1665,7 +1609,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0" dependencies = [ - "log 0.4.25", + "log", ] [[package]] @@ -1676,7 +1620,7 @@ checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" dependencies = [ "humantime", "is-terminal", - "log 0.4.25", + "log", "regex", "termcolor", ] @@ -1688,7 +1632,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcaee3d8e3cfc3fd92428d477bc97fc29ec8716d180c0d74c643bb26166660e0" dependencies = [ "env_filter", - "log 0.4.25", + "log", ] [[package]] @@ -1781,7 +1725,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" dependencies = [ "crc32fast", - "miniz_oxide", + "miniz_oxide 0.8.3", ] [[package]] @@ -1817,7 +1761,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]] @@ -1918,22 +1862,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" @@ -2033,17 +1961,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" @@ -2140,7 +2062,7 @@ dependencies = [ "headers-core", "http", "httpdate", - "mime 0.3.17", + "mime", "sha1", ] @@ -2183,6 +2105,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", + "ipnet", + "once_cell", + "rand 0.9.0", + "ring", + "thiserror 2.0.12", + "tinyvec", + "tokio", + "tracing", + "url", +] + +[[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" @@ -2255,7 +2223,7 @@ dependencies = [ "headers", "http", "http-body-util", - "hyper 1.6.0", + "hyper", "hyper-util", "path-tree", "regex", @@ -2268,7 +2236,7 @@ dependencies = [ "thiserror 2.0.12", "tokio", "tracing", - "url 2.5.4", + "url", ] [[package]] @@ -2277,25 +2245,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" @@ -2325,7 +2274,7 @@ checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" dependencies = [ "futures-util", "http", - "hyper 1.6.0", + "hyper", "hyper-util", "rustls", "rustls-native-certs", @@ -2342,7 +2291,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", @@ -2362,10 +2311,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", @@ -2520,17 +2469,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" @@ -2558,7 +2496,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", ] @@ -2584,12 +2522,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" @@ -2601,6 +2533,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" @@ -2617,22 +2561,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" @@ -2693,7 +2621,7 @@ dependencies = [ "cfg-if", "combine", "jni-sys", - "log 0.4.25", + "log", "thiserror 1.0.69", "walkdir", "windows-sys 0.45.0", @@ -2734,12 +2662,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" @@ -2767,7 +2689,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", @@ -2776,7 +2698,7 @@ dependencies = [ [[package]] name = "libdd-common" -version = "1.1.0" +version = "2.0.0" dependencies = [ "anyhow", "bytes", @@ -2790,13 +2712,13 @@ 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", @@ -2817,10 +2739,11 @@ 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" +source = "git+https://github.com/DataDog/libdatadog?tag=v29.0.0#001bd56fcbba34fa4ec3f9798a6c4fbcddeffa40" dependencies = [ "anyhow", + "bytes", "cc", "const_format", "futures", @@ -2831,12 +2754,12 @@ dependencies = [ "http-body", "http-body-util", "httparse", - "hyper 1.6.0", + "hyper", "hyper-rustls", "hyper-util", "libc 0.2.177", - "mime 0.3.17", - "multipart", + "mime", + "multer", "nix 0.29.0", "pin-project", "rand 0.8.5", @@ -2864,8 +2787,8 @@ dependencies = [ "chrono", "crossbeam-queue", "function_name", - "hyper 1.6.0", - "libdd-common 1.1.0", + "hyper", + "libdd-common 2.0.0", "serde", ] @@ -2884,7 +2807,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", @@ -2913,7 +2836,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", @@ -2926,7 +2849,7 @@ dependencies = [ [[package]] name = "libdd-data-pipeline" -version = "1.0.0" +version = "2.0.0" dependencies = [ "anyhow", "arc-swap", @@ -2937,9 +2860,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", @@ -2963,7 +2884,7 @@ dependencies = [ [[package]] name = "libdd-ddsketch" -version = "1.0.0" +version = "1.0.1" dependencies = [ "prost", "prost-build", @@ -2972,12 +2893,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", @@ -2988,12 +2909,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", ] @@ -3004,7 +2929,7 @@ dependencies = [ "anyhow", "build_common", "constcat", - "libdd-common 1.1.0", + "libdd-common 2.0.0", "libdd-common-ffi", "libdd-library-config", "tempfile", @@ -3024,7 +2949,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", @@ -3041,14 +2966,16 @@ 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 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", @@ -3061,14 +2988,14 @@ 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", ] [[package]] name = "libdd-telemetry" -version = "2.0.0" +version = "3.0.0" dependencies = [ "anyhow", "base64 0.22.1", @@ -3076,10 +3003,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", @@ -3099,7 +3024,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", @@ -3122,7 +3047,7 @@ dependencies = [ [[package]] name = "libdd-trace-normalization" -version = "1.0.0" +version = "1.0.1" dependencies = [ "anyhow", "arbitrary", @@ -3134,7 +3059,7 @@ dependencies = [ [[package]] name = "libdd-trace-protobuf" -version = "1.0.0" +version = "1.1.0" dependencies = [ "prost", "prost-build", @@ -3147,7 +3072,7 @@ dependencies = [ [[package]] name = "libdd-trace-stats" -version = "1.0.0" +version = "1.0.1" dependencies = [ "criterion", "hashbrown 0.15.2", @@ -3159,7 +3084,7 @@ dependencies = [ [[package]] name = "libdd-trace-utils" -version = "1.0.0" +version = "2.0.0" dependencies = [ "anyhow", "bolero", @@ -3170,11 +3095,12 @@ dependencies = [ "flate2", "futures", "http", + "http-body", "http-body-util", "httpmock", - "hyper 1.6.0", + "hyper", "indexmap 2.12.1", - "libdd-common 1.1.0", + "libdd-common 2.0.0", "libdd-tinybytes", "libdd-trace-normalization", "libdd-trace-protobuf", @@ -3242,19 +3168,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" @@ -3297,19 +3214,13 @@ 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]] -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" @@ -3352,7 +3263,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" dependencies = [ - "autocfg 1.4.0", + "autocfg", ] [[package]] @@ -3376,41 +3287,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]] @@ -3424,6 +3314,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", @@ -3451,10 +3350,21 @@ dependencies = [ ] [[package]] -name = "modifier" -version = "0.1.0" +name = "moka" +version = "0.12.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f5c9112cb662acd3b204077e0de5bc66305fa8df65c8019d5adb10e9ab6e58" +checksum = "85f8024e1c8e71c778968af91d43700ce1d11b219d127d79fb2934153b82b42b" +dependencies = [ + "crossbeam-channel", + "crossbeam-epoch", + "crossbeam-utils", + "equivalent", + "parking_lot", + "portable-atomic", + "smallvec", + "tagptr", + "uuid", +] [[package]] name = "msvc-demangler" @@ -3477,7 +3387,7 @@ dependencies = [ "http", "httparse", "memchr", - "mime 0.3.17", + "mime", "spin", "version_check 0.9.5", ] @@ -3489,76 +3399,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] -name = "multipart" -version = "0.18.0" +name = "nix" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00dec633863867f29cb39df64a397cdf4a6354708ddd7759f70c7fb51c5f9182" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" 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", + "bitflags 2.8.0", + "cfg-if", + "cfg_aliases", + "libc 0.2.177", + "memoffset", ] [[package]] -name = "mustache" -version = "0.9.0" +name = "nix" +version = "0.30.1" 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" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" -dependencies = [ - "bitflags 2.8.0", - "cfg-if", - "cfg_aliases", - "libc 0.2.177", - "memoffset", -] - -[[package]] -name = "nix" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" +checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ "bitflags 2.8.0", "cfg-if", @@ -3588,22 +3445,11 @@ dependencies = [ [[package]] name = "nu-ansi-term" -version = "0.46.0" +version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "overload", - "winapi 0.3.9", -] - -[[package]] -name = "num-bigint" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" -dependencies = [ - "num-integer", - "num-traits", + "windows-sys 0.61.2", ] [[package]] @@ -3623,35 +3469,16 @@ 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" 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" @@ -3836,6 +3663,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" @@ -3849,60 +3680,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" @@ -3910,7 +3687,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", @@ -3919,12 +3696,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" @@ -3979,12 +3750,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" @@ -4015,32 +3780,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]] @@ -4049,18 +3795,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]] @@ -4069,27 +3805,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]] @@ -4173,15 +3899,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" @@ -4248,7 +3965,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", ] @@ -4306,8 +4023,8 @@ dependencies = [ "num-traits", "rand 0.8.5", "rand_chacha 0.3.1", - "rand_xorshift 0.3.0", - "regex-syntax 0.8.5", + "rand_xorshift", + "regex-syntax", "unarray", ] @@ -4329,7 +4046,7 @@ checksum = "343d3bd7056eda839b03204e68deff7d1b13aba7af2b2fd16890697274262ee7" dependencies = [ "heck 0.5.0", "itertools 0.12.1", - "log 0.4.25", + "log", "multimap", "petgraph", "prettyplease", @@ -4480,12 +4197,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" @@ -4570,25 +4281,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" @@ -4611,16 +4303,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" @@ -4684,68 +4366,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" @@ -4839,17 +4459,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]] @@ -4860,15 +4471,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" @@ -4894,16 +4499,18 @@ dependencies = [ "bytes", "futures-core", "futures-util", + "hickory-resolver", "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", - "percent-encoding 2.3.1", + "log", + "mime_guess", + "once_cell", + "percent-encoding", "pin-project-lite", "quinn", "rustls", @@ -4915,12 +4522,18 @@ dependencies = [ "tower", "tower-http", "tower-service", - "url 2.5.4", + "url", "wasm-bindgen", "wasm-bindgen-futures", "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" @@ -5075,7 +4688,7 @@ dependencies = [ "core-foundation", "core-foundation-sys", "jni", - "log 0.4.25", + "log", "once_cell", "rustls", "rustls-native-certs", @@ -5128,12 +4741,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" @@ -5143,6 +4750,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" @@ -5208,6 +4824,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" @@ -5364,7 +4986,7 @@ dependencies = [ "serde_derive", "serde_json", "serde_with_macros", - "time 0.3.37", + "time", ] [[package]] @@ -5392,6 +5014,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", + "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" @@ -5478,12 +5126,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" @@ -5496,7 +5138,7 @@ version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ - "autocfg 1.4.0", + "autocfg", ] [[package]] @@ -5675,7 +5317,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", @@ -5742,6 +5384,12 @@ 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" @@ -5754,51 +5402,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" @@ -5903,39 +5506,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" -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" @@ -5967,19 +5537,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" @@ -6055,22 +5612,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" @@ -6094,7 +5635,6 @@ dependencies = [ "futures-util", "hashbrown 0.14.5", "pin-project-lite", - "slab", "tokio", ] @@ -6157,10 +5697,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", @@ -6234,11 +5774,11 @@ 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", + "log", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -6252,15 +5792,15 @@ checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" dependencies = [ "crossbeam-channel", "thiserror 1.0.69", - "time 0.3.37", + "time", "tracing-subscriber", ] [[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", @@ -6269,9 +5809,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", @@ -6283,24 +5823,11 @@ 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", ] -[[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" @@ -6313,14 +5840,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", @@ -6332,42 +5859,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 = "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" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59b11b2b5241ba34be09c3cc85a36e56e48f9888862e19cedf23336d35316ed1" -dependencies = [ - "memchr", -] - [[package]] name = "twox-hash" version = "1.6.3" @@ -6378,27 +5875,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" @@ -6411,42 +5893,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" @@ -6465,15 +5923,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" @@ -6486,17 +5935,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" @@ -6504,8 +5942,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]] @@ -6627,12 +6065,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" @@ -6667,7 +6099,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", @@ -6769,6 +6201,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" @@ -7254,6 +6692,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" @@ -7293,8 +6741,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/Makefile b/Makefile index a659308034..3501f5a1f2 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 e53c4ef311..0b37fe4987 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 [`SidecarSender`] 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 69f1e56502..65ab3af974 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/ddtrace.h b/components-rs/ddtrace.h index c0bab2a9ea..8ec6a4ce81 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)); @@ -155,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/sidecar.h b/components-rs/sidecar.h index 2d694f9150..a8d72f4038 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, @@ -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/components-rs/sidecar.rs b/components-rs/sidecar.rs index 0b94deeeab..45ed50a0a1 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/components-rs/telemetry.rs b/components-rs/telemetry.rs index c39daa3dca..98667ea956 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/configuration.h b/ext/configuration.h index 97b9787560..dae81c2331 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/otel_config.c b/ext/otel_config.c index c9504a0cab..538268d43d 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/sidecar.c b/ext/sidecar.c index 73b653fd7c..b097031274 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) { @@ -208,7 +207,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; } @@ -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/ext/telemetry.c b/ext/telemetry.c index 2540555756..6a0f40941a 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 a0cef26b02..017635110d 160000 --- a/libdatadog +++ b/libdatadog @@ -1 +1 @@ -Subproject commit a0cef26b0240f19dd994d471d5679e8c426adfc8 +Subproject commit 017635110dc626c4248518ab2ce3ed660c233880 diff --git a/profiling/Cargo.toml b/profiling/Cargo.toml index e41cb40552..7a19d8b777 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" } diff --git a/tests/ext/background-sender/agent_sampling_sidecar.phpt b/tests/ext/background-sender/agent_sampling_sidecar.phpt index c23eaea329..527b670f78 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 8101393693..f1a2949727 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 9716393f6d..e325910d42 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) {