feat(observability): Pass metrics sender to rate controller and reflector selector

This commit is contained in:
Nils Andreas Svee committed 2026-04-13 15:01:46 +07:00
1 parent 2c1e7c0483
commit e5ba021a96
2 files changed
+26 -11

No files matched your search

+5 -2
View File
@@ -1,9 +1,10 @@
use crate::metrics::Metric;
use crate::util::{MutexExt, RwLockExt};
use crate::{Config, ReflectorStats};
use log::{debug, info};
use std::collections::HashMap;
use std::net::IpAddr;
use std::sync::mpsc::Receiver;
use std::sync::mpsc::{Receiver, SyncSender};
use std::sync::{Arc, Mutex, RwLock};
use std::thread::sleep;
use std::time::Duration;
@@ -14,6 +15,7 @@ pub struct ReflectorSelector {
pub reflector_peers_lock: Arc<RwLock<Vec<IpAddr>>>,
pub reflector_pool: Vec<IpAddr>,
pub trigger_channel: Receiver<bool>,
pub metrics_sender: SyncSender<Metric>,
}
impl ReflectorSelector {
@@ -54,7 +56,8 @@ impl ReflectorSelector {
}
for _ in 0..20 {
let next_candidate = &self.reflector_pool[fastrand::usize(..self.reflector_pool.len())];
let next_candidate =
&self.reflector_pool[fastrand::usize(..self.reflector_pool.len())];
if next_peers.contains(next_candidate) {
continue;
}