Expose lastUpdate and isIndexing in /stats endpoint

This commit is contained in:
Cong Chen 2023-06-23 07:24:25 +08:00
parent 28404d56b7
commit 6d4981ec25
3 changed files with 37 additions and 0 deletions

View file

@ -50,4 +50,14 @@ lazy_static! {
&["kind", "value"]
)
.expect("Can't create a metric");
pub static ref MEILISEARCH_LAST_UPDATE: IntGauge = register_int_gauge!(opts!(
"meilisearch_last_update",
"Meilisearch Last Update"
))
.expect("Can't create a metric");
pub static ref MEILISEARCH_IS_INDEXING: IntGauge = register_int_gauge!(opts!(
"meilisearch_is_indexing",
"Meilisearch Is Indexing"
))
.expect("Can't create a metric");
}

View file

@ -48,6 +48,9 @@ pub async fn get_metrics(
}
}
crate::metrics::MEILISEARCH_LAST_UPDATE.set(response.last_update.unwrap().unix_timestamp() as i64);
crate::metrics::MEILISEARCH_IS_INDEXING.set(index_scheduler.is_task_processing().unwrap() as i64);
let encoder = TextEncoder::new();
let mut buffer = vec![];
encoder.encode(&prometheus::gather(), &mut buffer).expect("Failed to encode metrics");