feat(obs): integrate dial9-tokio-telemetry for runtime tracing (#2285)

Co-authored-by: heihutu <heihutu@gmail.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com>
This commit is contained in:
houseme
2026-03-25 14:23:58 +08:00
committed by GitHub
parent 2681731443
commit fb2ced4d27
22 changed files with 1300 additions and 10 deletions
Generated
+304 -2
View File
@@ -2,6 +2,16 @@
# It is not intended for manual editing.
version = 4
[[package]]
name = "Inflector"
version = "0.11.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3"
dependencies = [
"lazy_static",
"regex",
]
[[package]]
name = "addr2line"
version = "0.25.1"
@@ -1247,6 +1257,31 @@ dependencies = [
"hybrid-array",
]
[[package]]
name = "bon"
version = "3.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f47dbe92550676ee653353c310dfb9cf6ba17ee70396e1f7cf0a2020ad49b2fe"
dependencies = [
"bon-macros",
"rustversion",
]
[[package]]
name = "bon-macros"
version = "3.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "519bd3116aeeb42d5372c29d982d16d0170d3d4a5ed85fc7dd91642ffff3c67c"
dependencies = [
"darling 0.23.0",
"ident_case",
"prettyplease",
"proc-macro2",
"quote",
"rustversion",
"syn 2.0.117",
]
[[package]]
name = "brotli"
version = "8.0.2"
@@ -2996,6 +3031,52 @@ dependencies = [
"unicode-xid",
]
[[package]]
name = "dial9-tokio-telemetry"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fab5b5b736126e4a4a3ed06e15389ac199c2ac4f72395197addb305e6ba1759"
dependencies = [
"arc-swap",
"bon",
"crossbeam-queue",
"dial9-trace-format",
"flate2",
"futures-util",
"hostname",
"libc",
"metrique",
"metrique-writer",
"pin-project-lite",
"serde",
"serde_json",
"smallvec",
"tokio",
"tokio-util",
"tracing",
]
[[package]]
name = "dial9-trace-format"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "80e0ee560b05f09bf817602d57644947e31e83c521d4e0277f723a6e64d44f92"
dependencies = [
"dial9-trace-format-derive",
"serde",
]
[[package]]
name = "dial9-trace-format-derive"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9dbbd8126d4d6613931317cfe2a7275c1cd487e41c961e42456ab5f956570030"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.117",
]
[[package]]
name = "diff"
version = "0.1.13"
@@ -3232,6 +3313,12 @@ dependencies = [
"cfg-if",
]
[[package]]
name = "endian-type"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d"
[[package]]
name = "enumset"
version = "1.1.10"
@@ -4124,6 +4211,17 @@ dependencies = [
"windows-sys 0.61.2",
]
[[package]]
name = "hostname"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "617aaa3557aef3810a6369d0a99fac8a080891b68bd9f9812a1eeda0c0730cbd"
dependencies = [
"cfg-if",
"libc",
"windows-link",
]
[[package]]
name = "htmlescape"
version = "0.3.1"
@@ -5182,6 +5280,131 @@ dependencies = [
"portable-atomic",
]
[[package]]
name = "metrics-util"
version = "0.20.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cdfb1365fea27e6dd9dc1dbc19f570198bc86914533ad639dae939635f096be4"
dependencies = [
"aho-corasick",
"crossbeam-epoch",
"crossbeam-utils",
"hashbrown 0.16.1",
"indexmap 2.13.0",
"metrics",
"ordered-float 5.1.0",
"quanta",
"radix_trie",
"rand 0.9.2",
"rand_xoshiro",
"sketches-ddsketch",
]
[[package]]
name = "metrique"
version = "0.1.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4f3e5ecbbefec32dafed0fd98ef23768aaade6de35b8434fc3e44f6346b73cd6"
dependencies = [
"itoa",
"jiff",
"metrique-core",
"metrique-macro",
"metrique-service-metrics",
"metrique-timesource",
"metrique-writer",
"metrique-writer-core",
"metrique-writer-macro",
"ryu",
"serde_json",
"tokio",
]
[[package]]
name = "metrique-core"
version = "0.1.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ad6478374c256ffbb0d2de67b7d93e43ac94e35a083f40bd5f72a9770f6110bb"
dependencies = [
"itertools 0.14.0",
"metrique-writer-core",
]
[[package]]
name = "metrique-macro"
version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83adb8929ae9b2f7a4ec07a04c3af569ffe22f96f02c89063e4a78895d6af760"
dependencies = [
"Inflector",
"darling 0.23.0",
"proc-macro2",
"quote",
"syn 2.0.117",
]
[[package]]
name = "metrique-service-metrics"
version = "0.1.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4d01f36f47452cd6e33f66fc8185bb32f320aaa5721b6ad7230776442d3cf180"
dependencies = [
"metrique-writer",
]
[[package]]
name = "metrique-timesource"
version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c60fb3f2836dffc05146f0dfe7bf2e0789909f3fefd72c729491adaef01acc1a"
[[package]]
name = "metrique-writer"
version = "0.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "677d9ba4f5a6b5dd821f78315095840e88d244fafbdda3cf1688835cd2a56aec"
dependencies = [
"ahash 0.8.12",
"crossbeam-queue",
"crossbeam-utils",
"metrics",
"metrics-util",
"metrique-core",
"metrique-writer-core",
"metrique-writer-macro",
"rand 0.9.2",
"smallvec",
"tokio",
"tracing",
"tracing-subscriber",
]
[[package]]
name = "metrique-writer-core"
version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "642989d2c349dfcd705a0b6b63887459f71c8b8deb6dc79e39e12eaa17400aba"
dependencies = [
"derive-where",
"itertools 0.14.0",
"serde",
"smallvec",
]
[[package]]
name = "metrique-writer-macro"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "12edafee41e67f90ab2efe2b850e10751f0da3da4aeb61b8eb7e6c31666e8da8"
dependencies = [
"darling 0.23.0",
"proc-macro2",
"quote",
"str_inflector",
"syn 2.0.117",
"synstructure 0.13.2",
]
[[package]]
name = "mimalloc"
version = "0.1.48"
@@ -5308,6 +5531,15 @@ dependencies = [
"winapi",
]
[[package]]
name = "nibble_vec"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43"
dependencies = [
"smallvec",
]
[[package]]
name = "nix"
version = "0.26.4"
@@ -5801,6 +6033,15 @@ dependencies = [
"num-traits",
]
[[package]]
name = "ordered-float"
version = "5.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f4779c6901a562440c3786d08192c6fbda7c1c2060edd10006b05ee35d10f2d"
dependencies = [
"num-traits",
]
[[package]]
name = "outref"
version = "0.5.2"
@@ -6572,6 +6813,21 @@ dependencies = [
"uuid",
]
[[package]]
name = "quanta"
version = "0.12.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3ab5a9d756f0d97bdc89019bd2e4ea098cf9cde50ee7564dde6b81ccc8f06c7"
dependencies = [
"crossbeam-utils",
"libc",
"once_cell",
"raw-cpuid",
"wasi",
"web-sys",
"winapi",
]
[[package]]
name = "quick-xml"
version = "0.26.0"
@@ -6680,6 +6936,16 @@ version = "6.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
[[package]]
name = "radix_trie"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd"
dependencies = [
"endian-type",
"nibble_vec",
]
[[package]]
name = "rand"
version = "0.8.5"
@@ -6757,6 +7023,15 @@ version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba"
[[package]]
name = "rand_xoshiro"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f703f4665700daf5512dcca5f43afa6af89f09db47fb56be587f80636bda2d41"
dependencies = [
"rand_core 0.9.5",
]
[[package]]
name = "ratelimit"
version = "0.10.1"
@@ -6768,6 +7043,15 @@ dependencies = [
"thiserror 2.0.18",
]
[[package]]
name = "raw-cpuid"
version = "11.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "498cd0dc59d73224351ee52a95fee0f1a617a2eae0e7d9d720cc622c73a54186"
dependencies = [
"bitflags 2.11.0",
]
[[package]]
name = "rayon"
version = "1.11.0"
@@ -7760,6 +8044,7 @@ version = "0.0.5"
dependencies = [
"metrics",
"nvml-wrapper",
"rustfs-config",
"rustfs-ecstore",
"rustfs-utils",
"sysinfo",
@@ -7807,6 +8092,7 @@ dependencies = [
"crossbeam-channel",
"crossbeam-deque",
"crossbeam-utils",
"dial9-tokio-telemetry",
"flate2",
"glob",
"jiff",
@@ -8552,7 +8838,7 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c"
dependencies = [
"ordered-float",
"ordered-float 2.10.1",
"serde",
]
@@ -8851,6 +9137,12 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e"
[[package]]
name = "sketches-ddsketch"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c6f73aeb92d671e0cc4dca167e59b2deb6387c375391bc99ee743f326994a2b"
[[package]]
name = "slab"
version = "0.4.12"
@@ -9090,6 +9382,16 @@ dependencies = [
"thiserror 2.0.18",
]
[[package]]
name = "str_inflector"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec0b848d5a7695b33ad1be00f84a3c079fe85c9278a325ff9159e6c99cef4ef7"
dependencies = [
"lazy_static",
"regex",
]
[[package]]
name = "str_stack"
version = "0.1.0"
@@ -9379,7 +9681,7 @@ checksum = "7e54bc85fc7faa8bc175c4bab5b92ba8d9a3ce893d0e9f42cc455c8ab16a9e09"
dependencies = [
"byteorder",
"integer-encoding",
"ordered-float",
"ordered-float 2.10.1",
]
[[package]]