use crate::store::JournalOutcome;
use std::time::Duration;
pub(crate) fn enqueued(kind: &str) {
tracing::debug!(kind, "job enqueued");
#[cfg(feature = "metrics")]
metrics::counter!("venturi_jobs_enqueued_total", "kind" => kind.to_owned()).increment(1);
}
pub(crate) fn merged(kind: &str) {
tracing::debug!(kind, "enqueue merged into a pending job");
#[cfg(feature = "metrics")]
metrics::counter!("venturi_jobs_merged_total", "kind" => kind.to_owned()).increment(1);
}
pub(crate) fn claimed(kind: &str, wait: Duration) {
tracing::debug!(kind, wait_ms = wait.as_millis() as u64, "job claimed");
#[cfg(feature = "metrics")]
{
metrics::counter!("venturi_jobs_claimed_total", "kind" => kind.to_owned()).increment(1);
metrics::histogram!("venturi_claim_latency_seconds", "kind" => kind.to_owned())
.record(wait.as_secs_f64());
}
}
pub(crate) fn settled(kind: &str, outcome: JournalOutcome, handler_duration: Duration) {
tracing::debug!(
kind,
outcome = outcome.as_str(),
handler_ms = handler_duration.as_millis() as u64,
"job settled",
);
#[cfg(feature = "metrics")]
{
metrics::counter!(
"venturi_jobs_settled_total",
"kind" => kind.to_owned(),
"outcome" => outcome.as_str(),
)
.increment(1);
metrics::histogram!("venturi_handler_duration_seconds", "kind" => kind.to_owned())
.record(handler_duration.as_secs_f64());
}
}
pub(crate) fn recovered(kind: &str) {
tracing::warn!(kind, "stale claim recovered");
#[cfg(feature = "metrics")]
metrics::counter!("venturi_jobs_recovered_total", "kind" => kind.to_owned()).increment(1);
}
pub(crate) fn shutdown_drain(in_flight: usize) {
tracing::info!(in_flight, "graceful shutdown: draining in-flight handlers");
}