From 3ff1de0a21700c5eb1cd3f855ae14a698d4d83e3 Mon Sep 17 00:00:00 2001 From: Kerollmops Date: Wed, 19 Feb 2025 11:24:11 +0100 Subject: [PATCH] Expose the call trace in the batch stats --- Cargo.lock | 4 ++-- crates/dump/src/lib.rs | 1 + crates/index-scheduler/Cargo.toml | 2 +- crates/index-scheduler/src/scheduler/mod.rs | 4 +++- crates/meilisearch-types/Cargo.toml | 4 ++-- crates/meilisearch-types/src/batches.rs | 1 + 6 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6a42ffa26..4886dc028 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5160,9 +5160,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.135" +version = "1.0.138" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9" +checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" dependencies = [ "indexmap", "itoa", diff --git a/crates/dump/src/lib.rs b/crates/dump/src/lib.rs index 905a6485d..c3861f6a1 100644 --- a/crates/dump/src/lib.rs +++ b/crates/dump/src/lib.rs @@ -321,6 +321,7 @@ pub(crate) mod test { status: maplit::btreemap! { Status::Succeeded => 1 }, types: maplit::btreemap! { Kind::DocumentAdditionOrUpdate => 1 }, index_uids: maplit::btreemap! { "doggo".to_string() => 1 }, + call_trace: Default::default(), }, enqueued_at: Some(BatchEnqueuedAt { earliest: datetime!(2022-11-11 0:00 UTC), diff --git a/crates/index-scheduler/Cargo.toml b/crates/index-scheduler/Cargo.toml index 69edace77..881460d86 100644 --- a/crates/index-scheduler/Cargo.toml +++ b/crates/index-scheduler/Cargo.toml @@ -29,7 +29,7 @@ page_size = "0.6.0" rayon = "1.10.0" roaring = { version = "0.10.10", features = ["serde"] } serde = { version = "1.0.217", features = ["derive"] } -serde_json = { version = "1.0.135", features = ["preserve_order"] } +serde_json = { version = "1.0.138", features = ["preserve_order"] } synchronoise = "1.0.1" tempfile = "3.15.0" thiserror = "2.0.9" diff --git a/crates/index-scheduler/src/scheduler/mod.rs b/crates/index-scheduler/src/scheduler/mod.rs index a7937ddd3..08eb1c317 100644 --- a/crates/index-scheduler/src/scheduler/mod.rs +++ b/crates/index-scheduler/src/scheduler/mod.rs @@ -339,7 +339,9 @@ impl IndexScheduler { // We must re-add the canceled task so they're part of the same batch. ids |= canceled; - eprintln!("{:#?}", progress.accumulated_durations()); + let durations = progress.accumulated_durations(); + processing_batch.stats.call_trace = + durations.into_iter().map(|(k, v)| (k, v.into())).collect(); self.queue.write_batch(&mut wtxn, processing_batch, &ids)?; #[cfg(test)] diff --git a/crates/meilisearch-types/Cargo.toml b/crates/meilisearch-types/Cargo.toml index ce36c826b..c128e3d59 100644 --- a/crates/meilisearch-types/Cargo.toml +++ b/crates/meilisearch-types/Cargo.toml @@ -14,6 +14,7 @@ license.workspace = true actix-web = { version = "4.9.0", default-features = false } anyhow = "1.0.95" bumpalo = "3.16.0" +bumparaw-collections = "0.1.4" convert_case = "0.6.0" csv = "1.3.1" deserr = { version = "0.6.3", features = ["actix-web"] } @@ -24,12 +25,11 @@ flate2 = "1.0.35" fst = "0.4.7" memmap2 = "0.9.5" milli = { path = "../milli" } -bumparaw-collections = "0.1.4" roaring = { version = "0.10.10", features = ["serde"] } rustc-hash = "2.1.0" serde = { version = "1.0.217", features = ["derive"] } serde-cs = "0.2.4" -serde_json = "1.0.135" +serde_json = { version = "1.0.135", features = ["preserve_order"] } tar = "0.4.43" tempfile = "3.15.0" thiserror = "2.0.9" diff --git a/crates/meilisearch-types/src/batches.rs b/crates/meilisearch-types/src/batches.rs index 663f5cb8d..05463b758 100644 --- a/crates/meilisearch-types/src/batches.rs +++ b/crates/meilisearch-types/src/batches.rs @@ -60,4 +60,5 @@ pub struct BatchStats { pub status: BTreeMap, pub types: BTreeMap, pub index_uids: BTreeMap, + pub call_trace: serde_json::Map, }