|
|
@@ -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)?; |
|
|
|