diff --git a/Cargo.lock b/Cargo.lock index 4b44de5..70bf6e7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -296,6 +296,12 @@ version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" +[[package]] +name = "bytesize" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5c434ae3cf0089ca203e9019ebe529c47ff45cefe8af7c85ecb734ef541822f" + [[package]] name = "cast" version = "0.3.0" @@ -304,9 +310,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.2.40" +version = "1.2.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d05d92f4b1fd76aad469d46cdd858ca761576082cd37df81416691e50199fb" +checksum = "ac9fe6cdbb24b6ade63616c0a0688e45bb56732262c158df3c0c4bea4ca47cb7" dependencies = [ "find-msvc-tools", "jobserver", @@ -736,9 +742,9 @@ dependencies = [ [[package]] name = "exn" -version = "0.1.0" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ccae7f56b7db14cdaee4e351a5f22e3cb3e1d565073f8dd4cf3b3bff82c25c7" +checksum = "faa4fc6376ba26045f682ca777413fbc05ac97c8ec15d68f1245e105e877c41c" dependencies = [ "rustversion", ] @@ -827,9 +833,9 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "find-msvc-tools" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0399f9d26e5191ce32c498bebd31e7a3ceabc2745f0ac54af3f335126c3f24b3" +checksum = "52051878f80a721bb68ebfbc930e07b65ba72f2da88968ea5c06fd6ca3d3a127" [[package]] name = "flume" @@ -1366,12 +1372,13 @@ dependencies = [ [[package]] name = "half" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" +checksum = "e54c115d4f30f52c67202f079c5f9d8b49db4691f460fdb0b4c2e838261b2ba5" dependencies = [ "cfg-if", "crunchy", + "zerocopy", ] [[package]] @@ -1501,15 +1508,6 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" -[[package]] -name = "humansize" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7" -dependencies = [ - "libm", -] - [[package]] name = "hyper" version = "1.7.0" @@ -1888,15 +1886,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.176" +version = "0.2.177" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174" - -[[package]] -name = "libm" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" +checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" [[package]] name = "linux-raw-sys" @@ -1945,8 +1937,7 @@ dependencies = [ [[package]] name = "logforth" version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd048889d633cac5c189eca703f5c5ed65210d358eb5910a478e233d42528d6e" +source = "git+https://github.com/fast/logforth?rev=2ed037ce#2ed037cebb9c2e5fcaf51fc6fea07665c7d51e36" dependencies = [ "logforth-append-fastrace", "logforth-append-file", @@ -1960,9 +1951,8 @@ dependencies = [ [[package]] name = "logforth-append-fastrace" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cfe0309685585e09dea16373e66f259fb5e54d5c4e6d5b47f52c2a94deec440" +version = "0.3.0" +source = "git+https://github.com/fast/logforth?rev=2ed037ce#2ed037cebb9c2e5fcaf51fc6fea07665c7d51e36" dependencies = [ "fastrace", "jiff", @@ -1971,9 +1961,8 @@ dependencies = [ [[package]] name = "logforth-append-file" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aeb66a16ac0f5cdd6a0e7005c6e1fa2744e915244941ac6cd01bd56de2995f48" +version = "0.3.0" +source = "git+https://github.com/fast/logforth?rev=2ed037ce#2ed037cebb9c2e5fcaf51fc6fea07665c7d51e36" dependencies = [ "jiff", "logforth-core", @@ -1981,9 +1970,8 @@ dependencies = [ [[package]] name = "logforth-append-opentelemetry" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de7460f8c6d7df7f8fb196c37a6e8efdf3aa92fe76aeb22df6bab82b2b3c00c" +version = "0.3.0" +source = "git+https://github.com/fast/logforth?rev=2ed037ce#2ed037cebb9c2e5fcaf51fc6fea07665c7d51e36" dependencies = [ "logforth-core", "logforth-layout-json", @@ -1994,9 +1982,8 @@ dependencies = [ [[package]] name = "logforth-bridge-log" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "392ff9723d68a943ccffabe03b5272f7c93104f0008a6c7357ef888c21ab6297" +version = "0.3.0" +source = "git+https://github.com/fast/logforth?rev=2ed037ce#2ed037cebb9c2e5fcaf51fc6fea07665c7d51e36" dependencies = [ "log", "logforth-core", @@ -2004,9 +1991,8 @@ dependencies = [ [[package]] name = "logforth-core" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7666819ed32e38aabb45959a632b0f9c25fc77e60c824b02a5fcd87ab626f6ed" +version = "0.3.0" +source = "git+https://github.com/fast/logforth?rev=2ed037ce#2ed037cebb9c2e5fcaf51fc6fea07665c7d51e36" dependencies = [ "anyhow", "value-bag", @@ -2014,9 +2000,8 @@ dependencies = [ [[package]] name = "logforth-diagnostic-fastrace" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70cef4f74be63362c9e654d4b74b59a019be088d87d453f39e32fc23764f3e87" +version = "0.3.0" +source = "git+https://github.com/fast/logforth?rev=2ed037ce#2ed037cebb9c2e5fcaf51fc6fea07665c7d51e36" dependencies = [ "fastrace", "logforth-core", @@ -2024,9 +2009,8 @@ dependencies = [ [[package]] name = "logforth-layout-json" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49e1db5d0f5b1bc57134ff9d1ed3889910d230545f3d249bde44bac0e8a8724f" +version = "0.3.0" +source = "git+https://github.com/fast/logforth?rev=2ed037ce#2ed037cebb9c2e5fcaf51fc6fea07665c7d51e36" dependencies = [ "jiff", "logforth-core", @@ -2036,9 +2020,8 @@ dependencies = [ [[package]] name = "logforth-layout-text" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c00c67d92539b26edbba5e43ce8f5b97d62412c1cfc9463400f50cfad2f1f1bf" +version = "0.3.0" +source = "git+https://github.com/fast/logforth?rev=2ed037ce#2ed037cebb9c2e5fcaf51fc6fea07665c7d51e36" dependencies = [ "colored", "jiff", @@ -2066,9 +2049,9 @@ dependencies = [ [[package]] name = "madsim" -version = "0.2.33" +version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1407eb233e5fe25bfb216a51b860882df237540374b7486eb38d4ab0753ec1" +checksum = "18351aac4194337d6ea9ffbd25b3d1540ecc0754142af1bff5ba7392d1f6f771" dependencies = [ "ahash", "async-channel", @@ -2077,6 +2060,7 @@ dependencies = [ "bincode", "bytes", "downcast-rs", + "errno", "futures-util", "lazy_static", "libc", @@ -2257,11 +2241,11 @@ dependencies = [ [[package]] name = "nu-ansi-term" -version = "0.50.1" +version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -2496,12 +2480,12 @@ dependencies = [ name = "percas-core" version = "0.3.0" dependencies = [ + "bytesize", "criterion", "exn", "fastimer", "foyer", "googletest", - "humansize", "insta", "jemallocator", "jiff", @@ -2978,9 +2962,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.11.3" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b5288124840bee7b386bc413c487869b360b2b4ec421ea56425128692f2a82c" +checksum = "4a52d8d02cacdb176ef4678de6c052efb4b3da14b78e4db683a4252762be5433" dependencies = [ "aho-corasick", "memchr", @@ -2990,9 +2974,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "833eb9ce86d40ef33cb1306d8accf7bc8ec2bfea4355cbdebb3df68b40925cad" +checksum = "722166aa0d7438abbaa4d5cc2c649dac844e8c56d82fb3d33e9c34b5cd268fc6" dependencies = [ "aho-corasick", "memchr", @@ -3001,9 +2985,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" +checksum = "c3160422bbd54dd5ecfdca71e5fd59b7b8fe2b1697ab2baf64f6d05dcc66d298" [[package]] name = "reqwest" @@ -3403,9 +3387,9 @@ dependencies = [ [[package]] name = "stable_deref_trait" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "strsim" @@ -3763,9 +3747,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.23.6" +version = "0.23.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3effe7c0e86fdff4f69cdd2ccc1b96f933e24811c5441d44904e8683e27184b" +checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" dependencies = [ "indexmap", "serde_core", @@ -3963,9 +3947,9 @@ checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" [[package]] name = "tz-rs" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1450bf2b99397e72070e7935c89facaa80092ac812502200375f1f7d33c71a1" +checksum = "14eff19b8dc1ace5bf7e4d920b2628ae3837f422ff42210cb1567cbf68b5accf" [[package]] name = "tzdb" @@ -4428,15 +4412,6 @@ dependencies = [ "windows-link 0.2.1", ] -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets 0.52.6", -] - [[package]] name = "windows-sys" version = "0.59.0" diff --git a/Cargo.toml b/Cargo.toml index 3600007..6f628bf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -50,11 +50,12 @@ anstyle = { version = "1.0.10" } arc-swap = { version = "1" } backon = { version = "1.5.0" } build-data = { version = "0.3.0" } +bytesize = { version = "2.1.0" } clap = { version = "4.5.35", features = ["derive"] } const_format = { version = "0.2.34" } criterion = { version = "0.7.0", features = ["async_tokio"] } -ctrlc = { version = "3.4", features = ["termination"] } -exn = { version = "0.1.0" } +ctrlc = { version = "3.5", features = ["termination"] } +exn = { version = "0.1.2" } fastimer = { version = "0.10.0" } fastrace = { version = "0.7.9" } fastrace-opentelemetry = { version = "0.14.0" } @@ -62,7 +63,6 @@ foyer = { version = "0.20.0", features = ["nightly"] } futures-util = { version = "0.3.31" } gix-discover = { version = "0.41.0" } googletest = { version = "0.14.0" } -humansize = { version = "2.1.3" } indent = { version = "0.1.1" } insta = { version = "1.42.2", features = ["json", "toml"] } jemallocator = { version = "0.5.4" } @@ -135,3 +135,7 @@ lto = "fat" [profile.dev.package] insta.opt-level = 3 similar.opt-level = 3 + +[patch.crates-io] +# https://github.com/fast/logforth/commit/91576209 +logforth = { git = "https://github.com/fast/logforth", rev = "2ed037ce" } diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index 851fb6b..abee418 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -42,9 +42,9 @@ url = { workspace = true } jemallocator = { workspace = true } [dev-dependencies] +bytesize = { workspace = true } criterion = { workspace = true } googletest = { workspace = true } -humansize = { workspace = true } insta = { workspace = true } schemars = { workspace = true } serde_json = { workspace = true } diff --git a/crates/core/benches/benchmark.rs b/crates/core/benches/benchmark.rs index 5cdc938..c8b2b2e 100644 --- a/crates/core/benches/benchmark.rs +++ b/crates/core/benches/benchmark.rs @@ -41,7 +41,7 @@ fn foyer_engine(c: &mut Criterion) { .for_each(|len| { let payload = gen_payload(len); c.bench_with_input( - BenchmarkId::new("put", humansize::format_size(len, humansize::BINARY)), + BenchmarkId::new("put", bytesize::ByteSize::b(len as u64)), &payload, |b, s| { b.to_async(&runtime).iter(|| async { @@ -69,7 +69,7 @@ fn foyer_engine(c: &mut Criterion) { engine.put(key, &payload); }); c.bench_with_input( - BenchmarkId::new("get", humansize::format_size(len, humansize::BINARY)), + BenchmarkId::new("get", bytesize::ByteSize::b(len as u64)), &keys, |b, s| { b.to_async(&runtime).iter(|| async {