From c30a14cb977c22e3fa8e02764fbde934e439668b Mon Sep 17 00:00:00 2001 From: ManyTheFish Date: Mon, 10 Jul 2023 13:12:12 +0200 Subject: [PATCH] Add telemetry --- meilisearch/src/analytics/segment_analytics.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/meilisearch/src/analytics/segment_analytics.rs b/meilisearch/src/analytics/segment_analytics.rs index 30796dc88..85f9e543a 100644 --- a/meilisearch/src/analytics/segment_analytics.rs +++ b/meilisearch/src/analytics/segment_analytics.rs @@ -574,6 +574,10 @@ pub struct SearchAggregator { filter_total_number_of_criteria: usize, used_syntax: HashMap, + // attributes_to_search_on + // every time a search is done using attributes_to_search_on + attributes_to_search_on_total_number_of_use: usize, + // q // The maximum number of terms in a q request max_terms_number: usize, @@ -647,6 +651,11 @@ impl SearchAggregator { ret.filter_sum_of_criteria_terms = RE.split(&stringified_filters).count(); } + // attributes_to_search_on + if let Some(_) = query.attributes_to_search_on { + ret.attributes_to_search_on_total_number_of_use = 1; + } + if let Some(ref q) = query.q { ret.max_terms_number = q.split_whitespace().count(); } @@ -720,6 +729,11 @@ impl SearchAggregator { let used_syntax = self.used_syntax.entry(key).or_insert(0); *used_syntax = used_syntax.saturating_add(value); } + + // attributes_to_search_on + self.attributes_to_search_on_total_number_of_use += + other.attributes_to_search_on_total_number_of_use; + // q self.max_terms_number = self.max_terms_number.max(other.max_terms_number); @@ -786,6 +800,9 @@ impl SearchAggregator { "avg_criteria_number": format!("{:.2}", self.filter_sum_of_criteria_terms as f64 / self.filter_total_number_of_criteria as f64), "most_used_syntax": self.used_syntax.iter().max_by_key(|(_, v)| *v).map(|(k, _)| json!(k)).unwrap_or_else(|| json!(null)), }, + "attributes_to_search_on": { + "total_number_of_use": self.attributes_to_search_on_total_number_of_use, + }, "q": { "max_terms_number": self.max_terms_number, },