diff --git a/Cargo.lock b/Cargo.lock index f1b9df07..a72c3ffe 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6090,17 +6090,6 @@ dependencies = [ "tracing-log 0.2.0", ] -[[package]] -name = "tracing-wasm" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4575c663a174420fa2d78f4108ff68f65bf2fbb7dd89f33749b6e826b3626e07" -dependencies = [ - "tracing", - "tracing-subscriber", - "wasm-bindgen", -] - [[package]] name = "triomphe" version = "0.1.14" @@ -6483,12 +6472,12 @@ dependencies = [ "tracing-error", "tracing-oslog", "tracing-subscriber", - "tracing-wasm", "tsify", "veilid-bugsalot", "veilid-hashlink", "veilid-igd", "veilid-tools", + "veilid-tracing-wasm", "wasm-bindgen", "wasm-bindgen-futures", "wasm-bindgen-test", @@ -6680,9 +6669,9 @@ dependencies = [ "tracing", "tracing-oslog", "tracing-subscriber", - "tracing-wasm", "validator", "veilid-bugsalot", + "veilid-tracing-wasm", "wasm-bindgen", "wasm-bindgen-futures", "wasm-bindgen-test", diff --git a/veilid-core/Cargo.toml b/veilid-core/Cargo.toml index df969792..e37c70dd 100644 --- a/veilid-core/Cargo.toml +++ b/veilid-core/Cargo.toml @@ -216,7 +216,6 @@ ws_stream_wasm = "0.7.4" # Logging wasm-logger = "0.2.0" -tracing-wasm = "0.2.1" # Data Structures keyvaluedb-web = "0.1.2" @@ -272,6 +271,7 @@ serial_test = { version = "2.0.0", default-features = false, features = [ wasm-bindgen-test = "0.3.50" console_error_panic_hook = "0.1.7" wasm-logger = "0.2.0" +veilid-tracing-wasm = "^0" ### BUILD OPTIONS diff --git a/veilid-core/src/storage_manager/record_store/inspect_cache.rs b/veilid-core/src/storage_manager/record_store/inspect_cache.rs index 12e2136e..01e28f5f 100644 --- a/veilid-core/src/storage_manager/record_store/inspect_cache.rs +++ b/veilid-core/src/storage_manager/record_store/inspect_cache.rs @@ -68,9 +68,9 @@ impl InspectCache { }; if idx < entry.1.seqs.len() { entry.1.seqs[idx] = seq; - } else if idx > entry.1.seqs.len() { + } else { panic!( - "representational error in l2 inspect cache: {} > {}", + "representational error in l2 inspect cache: {} >= {}", idx, entry.1.seqs.len() ) diff --git a/veilid-core/src/table_store/tests/test_table_store.rs b/veilid-core/src/table_store/tests/test_table_store.rs index edf72ae0..207b9e48 100644 --- a/veilid-core/src/table_store/tests/test_table_store.rs +++ b/veilid-core/src/table_store/tests/test_table_store.rs @@ -1,5 +1,6 @@ use crate::tests::test_veilid_config::*; use crate::*; +use futures_util::StreamExt as _; async fn startup() -> VeilidAPI { trace!("test_table_store: starting"); @@ -266,11 +267,55 @@ pub async fn test_protect_unprotect(vcrypto: &AsyncCryptoSystemGuard<'_>, ts: &T } } +pub async fn test_store_load_json_many(ts: &TableStore) { + trace!("test_json"); + + let _ = ts.delete("test").await; + let db = ts.open("test", 3).await.expect("should have opened"); + + let rows = 16; + let valuesize = 32768; + let parallel = 10; + + let value = vec!["ABCD".to_string(); valuesize]; + + let mut unord = FuturesUnordered::new(); + + let mut r = 0; + let start_ts = Timestamp::now(); + loop { + while r < rows && unord.len() < parallel { + let key = format!("key_{}", r); + r += 1; + + unord.push(Box::pin(async { + let key = key; + db.store_json(0, key.as_bytes(), &value) + .await + .expect("should store"); + let value2 = db + .load_json::>(0, key.as_bytes()) + .await + .expect("should load") + .expect("should exist"); + assert_eq!(value, value2); + })); + } + if unord.next().await.is_none() { + break; + } + } + let end_ts = Timestamp::now(); + trace!("test_store_load_json_many duration={}", (end_ts - start_ts)); +} + pub async fn test_all() { let api = startup().await; let crypto = api.crypto().unwrap(); let ts = api.table_store().unwrap(); + test_store_load_json_many(&ts).await; + for ck in VALID_CRYPTO_KINDS { let vcrypto = crypto.get_async(ck).unwrap(); test_protect_unprotect(&vcrypto, &ts).await; diff --git a/veilid-core/tests/web.rs b/veilid-core/tests/web.rs index 2bbfbac5..ff142536 100644 --- a/veilid-core/tests/web.rs +++ b/veilid-core/tests/web.rs @@ -18,8 +18,8 @@ pub fn setup() -> () { let config = veilid_tracing_wasm::WASMLayerConfig::new() .with_report_logs_in_timings(false) .with_max_level(Level::TRACE) - .with_console_config(tracing_wasm::ConsoleConfig::ReportWithoutConsoleColor); - tracing_wasm::set_as_global_default_with_config(config); + .with_console_config(veilid_tracing_wasm::ConsoleConfig::ReportWithoutConsoleColor); + veilid_tracing_wasm::set_as_global_default_with_config(config); }); } diff --git a/veilid-tools/Cargo.toml b/veilid-tools/Cargo.toml index 60a4fde7..68c6d5cb 100644 --- a/veilid-tools/Cargo.toml +++ b/veilid-tools/Cargo.toml @@ -185,7 +185,7 @@ serial_test = { version = "2.0.0", default-features = false, features = [ console_error_panic_hook = "0.1.7" wasm-bindgen-test = "0.3.50" wasm-logger = "0.2.0" -tracing-wasm = { version = "0.2.1" } +veilid-tracing-wasm = "^0" ### BUILD OPTIONS diff --git a/veilid-tools/tests/web.rs b/veilid-tools/tests/web.rs index f54309fd..0ff48b5b 100644 --- a/veilid-tools/tests/web.rs +++ b/veilid-tools/tests/web.rs @@ -18,8 +18,8 @@ pub fn setup() -> () { let config = veilid_tracing_wasm::WASMLayerConfig::new() .with_report_logs_in_timings(false); .with_max_level(Level::TRACE); - .with_console_config(tracing_wasm::ConsoleConfig::ReportWithoutConsoleColor); - tracing_wasm::set_as_global_default_with_config(config); + .with_console_config(veilid_tracing_wasm::ConsoleConfig::ReportWithoutConsoleColor); + veilid_tracing_wasm::set_as_global_default_with_config(config); } else { wasm_logger::init(wasm_logger::Config::default()); }