Merge pull request #5512 from DanasFi/task_queue_metrics

Task queue metrics
This commit is contained in:
Tamo 2025-04-17 09:38:25 +00:00 committed by GitHub
commit 9fd9fcb03e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 330 additions and 1 deletions

View file

@ -68,4 +68,20 @@ lazy_static! {
"Meilisearch Task Queue Latency in Seconds",
)
.expect("Can't create a metric");
pub static ref MEILISEARCH_TASK_QUEUE_MAX_SIZE: IntGauge = register_int_gauge!(opts!(
"meilisearch_task_queue_max_size",
"Meilisearch Task Queue Max Size",
))
.expect("Can't create a metric");
pub static ref MEILISEARCH_TASK_QUEUE_USED_SIZE: IntGauge = register_int_gauge!(opts!(
"meilisearch_task_queue_used_size",
"Meilisearch Task Queue Used Size"
))
.expect("Can't create a metric");
pub static ref MEILISEARCH_TASK_QUEUE_SIZE_UNTIL_STOP_REGISTERING: IntGauge =
register_int_gauge!(opts!(
"meilisearch_task_queue_size_until_stop_registering",
"Meilisearch Task Queue Size Until Stop Registering",
))
.expect("Can't create a metric");
}

View file

@ -169,6 +169,11 @@ pub async fn get_metrics(
.map(|task| (OffsetDateTime::now_utc() - task.enqueued_at).as_seconds_f64())
.unwrap_or(0.0);
crate::metrics::MEILISEARCH_TASK_QUEUE_LATENCY_SECONDS.set(task_queue_latency_seconds);
crate::metrics::MEILISEARCH_TASK_QUEUE_MAX_SIZE.set(index_scheduler.max_size()? as i64);
crate::metrics::MEILISEARCH_TASK_QUEUE_USED_SIZE.set(index_scheduler.used_size()? as i64);
crate::metrics::MEILISEARCH_TASK_QUEUE_SIZE_UNTIL_STOP_REGISTERING
.set(index_scheduler.remaining_size_until_task_queue_stop()? as i64);
let encoder = TextEncoder::new();
let mut buffer = vec![];