diff --git a/Cargo.lock b/Cargo.lock index 71dae7a..a009e8c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1502,12 +1502,6 @@ dependencies = [ "libc", ] -[[package]] -name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - [[package]] name = "hermit-abi" version = "0.4.0" @@ -2079,9 +2073,9 @@ dependencies = [ [[package]] name = "metrics" -version = "0.22.3" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2be3cbd384d4e955b231c895ce10685e3d8260c5ccffae898c96c723b0772835" +checksum = "7a7deb012b3b2767169ff203fadb4c6b0b82b947512e5eb9e0b78c2e186ad9e3" dependencies = [ "ahash 0.8.11", "portable-atomic", @@ -2089,9 +2083,9 @@ dependencies = [ [[package]] name = "metrics-exporter-prometheus" -version = "0.14.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d58e362dc7206e9456ddbcdbd53c71ba441020e62104703075a69151e38d85f" +checksum = "12779523996a67c13c84906a876ac6fe4d07a6e1adb54978378e13f199251a62" dependencies = [ "base64 0.22.1", "http-body-util", @@ -2109,21 +2103,22 @@ dependencies = [ [[package]] name = "metrics-util" -version = "0.16.3" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b07a5eb561b8cbc16be2d216faf7757f9baf3bfb94dbb0fae3df8387a5bb47f" +checksum = "dbd4884b1dd24f7d6628274a2f5ae22465c337c5ba065ec9b6edccddf8acc673" dependencies = [ "aho-corasick", "crossbeam-epoch", "crossbeam-utils", - "hashbrown 0.14.5", + "hashbrown 0.15.2", "indexmap 2.7.0", "metrics", - "num_cpus", "ordered-float", "quanta", "radix_trie", - "sketches-ddsketch 0.2.2", + "rand", + "rand_xoshiro", + "sketches-ddsketch 0.3.0", ] [[package]] @@ -2292,16 +2287,6 @@ dependencies = [ "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", -] - [[package]] name = "num_threads" version = "0.1.7" @@ -2640,6 +2625,15 @@ dependencies = [ "rand", ] +[[package]] +name = "rand_xoshiro" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" +dependencies = [ + "rand_core", +] + [[package]] name = "raw-cpuid" version = "11.2.0" @@ -2988,9 +2982,9 @@ checksum = "04d2ecae5fcf33b122e2e6bd520a57ccf152d2dde3b38c71039df1a6867264ee" [[package]] name = "sketches-ddsketch" -version = "0.2.2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85636c14b73d81f541e525f585c0a2109e6744e1565b5c1668e31c70c10ed65c" +checksum = "c1e9a774a6c28142ac54bb25d25562e6bcf957493a184f15ad4eebccb23e410a" [[package]] name = "slab" diff --git a/crates/common/Cargo.toml b/crates/common/Cargo.toml index ad3c08e..3e275fa 100644 --- a/crates/common/Cargo.toml +++ b/crates/common/Cargo.toml @@ -42,9 +42,9 @@ rustls = { version = "0.23", optional = true } rustls-pemfile = { version = "2", optional = true } # prometheus feature -metrics = { version = "0.22", optional = true } -metrics-util = { version = "0.16", optional = true } -metrics-exporter-prometheus = { version = "0.14", optional = true, default-features = false, features = ["http-listener"] } +metrics = { version = "0.24", optional = true } +metrics-util = { version = "0.19", optional = true } +metrics-exporter-prometheus = { version = "0.16", optional = true, default-features = false, features = ["http-listener"] } tokio = { version = "1", optional = true, features = ["rt", "net", "time"] } # cpu pinning feature diff --git a/crates/common/src/lib.rs b/crates/common/src/lib.rs index fbd99b9..19e32cb 100644 --- a/crates/common/src/lib.rs +++ b/crates/common/src/lib.rs @@ -150,7 +150,9 @@ pub fn spawn_prometheus_endpoint( } }); - exporter.await.context("run prometheus exporter") + exporter + .await + .map_err(|err| anyhow::anyhow!("run prometheus exporter: :{:#?}", err)) }) }) .context("spawn prometheus endpoint")?; diff --git a/crates/http/Cargo.toml b/crates/http/Cargo.toml index e1d7f4f..4880be0 100644 --- a/crates/http/Cargo.toml +++ b/crates/http/Cargo.toml @@ -56,8 +56,8 @@ socket2 = { version = "0.5", features = ["all"] } thiserror = "1" # metrics feature -metrics = { version = "0.22", optional = true } -metrics-util = { version = "0.16", optional = true } +metrics = { version = "0.24", optional = true } +metrics-util = { version = "0.19", optional = true } # mimalloc feature mimalloc = { version = "0.1", default-features = false, optional = true } diff --git a/crates/udp/Cargo.toml b/crates/udp/Cargo.toml index 06ea1fc..edc760f 100644 --- a/crates/udp/Cargo.toml +++ b/crates/udp/Cargo.toml @@ -59,7 +59,7 @@ time = { version = "0.3", features = ["formatting"] } tinytemplate = "1" # prometheus feature -metrics = { version = "0.22", optional = true } +metrics = { version = "0.24", optional = true } # io-uring feature io-uring = { version = "0.6", optional = true } diff --git a/crates/udp_load_test/src/lib.rs b/crates/udp_load_test/src/lib.rs index 83fe463..7bef0e5 100644 --- a/crates/udp_load_test/src/lib.rs +++ b/crates/udp_load_test/src/lib.rs @@ -64,9 +64,9 @@ pub fn run(config: Config) -> ::anyhow::Result<()> { let state = state.clone(); let statistics_sender = statistics_sender.clone(); - Builder::new().name("load-test".into()).spawn(move || { - Worker::run(config, state, statistics_sender, peers, addr) - })?; + Builder::new() + .name("load-test".into()) + .spawn(move || Worker::run(config, state, statistics_sender, peers, addr))?; } monitor_statistics(state, &config, statistics_receiver); diff --git a/crates/ws/Cargo.toml b/crates/ws/Cargo.toml index d6d8ac5..20b11eb 100644 --- a/crates/ws/Cargo.toml +++ b/crates/ws/Cargo.toml @@ -56,8 +56,8 @@ socket2 = { version = "0.5", features = ["all"] } tungstenite = "0.21" # metrics feature -metrics = { version = "0.22", optional = true } -metrics-util = { version = "0.16", optional = true } +metrics = { version = "0.24", optional = true } +metrics-util = { version = "0.19", optional = true } # mimalloc feature mimalloc = { version = "0.1", default-features = false, optional = true }