diff --git a/meilisearch/src/metrics.rs b/meilisearch/src/metrics.rs index 652e6c227..3be12c7ce 100644 --- a/meilisearch/src/metrics.rs +++ b/meilisearch/src/metrics.rs @@ -19,7 +19,7 @@ lazy_static! { pub static ref MEILISEARCH_HTTP_RESPONSE_TIME_CUSTOM_BUCKETS: [f64; 29] = create_buckets(); pub static ref MEILISEARCH_HTTP_REQUESTS_TOTAL: IntCounterVec = register_int_counter_vec!( opts!("meilisearch_http_requests_total", "Meilisearch HTTP requests total"), - &["method", "path"] + &["method", "path", "status"] ) .expect("Can't create a metric"); pub static ref MEILISEARCH_DEGRADED_SEARCH_REQUESTS: IntGauge = register_int_gauge!(opts!( diff --git a/meilisearch/src/middleware.rs b/meilisearch/src/middleware.rs index 5b87dee34..6707bb6d5 100644 --- a/meilisearch/src/middleware.rs +++ b/meilisearch/src/middleware.rs @@ -65,9 +65,6 @@ where .with_label_values(&[&request_method, request_path]) .start_timer(), ); - crate::metrics::MEILISEARCH_HTTP_REQUESTS_TOTAL - .with_label_values(&[&request_method, request_path]) - .inc(); } }; @@ -76,6 +73,14 @@ where Box::pin(async move { let res = fut.await?; + crate::metrics::MEILISEARCH_HTTP_REQUESTS_TOTAL + .with_label_values(&[ + res.request().method().as_str(), + res.request().path(), + res.status().as_str(), + ]) + .inc(); + if let Some(histogram_timer) = histogram_timer { histogram_timer.observe_duration(); };