From 774e037a00ec79c849c93d149611277682893485 Mon Sep 17 00:00:00 2001 From: rewby Date: Mon, 7 Aug 2023 18:52:53 +0200 Subject: [PATCH] Add rtt metrics. --- src/args.rs | 2 +- src/metrics/project_metrics.rs | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/args.rs b/src/args.rs index c995298..59f02c3 100644 --- a/src/args.rs +++ b/src/args.rs @@ -20,7 +20,7 @@ pub struct Args { #[arg(long, default_value = "600")] pub projects_refresh_interval: usize, - #[arg(long, default_value = "5")] + #[arg(long, default_value = "3")] pub projects_inactive_minutes: u64, #[arg(long, default_value = "60")] diff --git a/src/metrics/project_metrics.rs b/src/metrics/project_metrics.rs index c6381aa..6942db4 100644 --- a/src/metrics/project_metrics.rs +++ b/src/metrics/project_metrics.rs @@ -29,6 +29,9 @@ pub struct ProjectMetrics { requests_processed: IntGaugeVec, requests_granted: IntGaugeVec, item_fail_rate: GaugeVec, + rtt: GaugeVec, + rtt_real: GaugeVec, + rtt_count: IntGaugeVec, } impl ProjectMetrics { @@ -43,6 +46,9 @@ impl ProjectMetrics { requests_processed: IntGaugeVec::new(Opts::new("requests_processed", "requests_processed"), &["project"])?, requests_granted: IntGaugeVec::new(Opts::new("requests_granted", "requests_granted"), &["project"])?, item_fail_rate: GaugeVec::new(Opts::new("item_fail_rate", "item_fail_rate"), &["project"])?, + rtt: GaugeVec::new(Opts::new("rtt", "rtt"), &["project"])?, + rtt_real: GaugeVec::new(Opts::new("rtt_real", "rtt_real"), &["project"])?, + rtt_count: IntGaugeVec::new(Opts::new("rtt_count", "rtt_count"), &["project"])?, }; s.registry.register(Box::new(s.item_request_serve_rate.clone()))?; @@ -68,6 +74,9 @@ impl MetricsProvider for ProjectMetrics { update_gauge_from_redis(&mut con, project, "reclaim_serve_rate", &self.reclaim_serve_rate)?; update_gauge_from_redis(&mut con, project, "reclaim_rate", &self.reclaim_rate)?; update_gauge_from_redis(&mut con, project, "item_fail_rate", &self.item_fail_rate)?; + update_gauge_from_redis(&mut con, project, "rtt", &self.rtt)?; + update_gauge_from_redis(&mut con, project, "rtt_real", &self.rtt_real)?; + update_gauge_from_redis(&mut con, project, "rtt_count", &self.rtt_count)?; let t = get_last_requests_time()?; let rp_key = format!("requests_processed:{t}"); update_gauge_from_redis(&mut con, project, &rp_key, &self.requests_processed)?;