add blocking percentage stats

This commit is contained in:
postscriptum 2026-03-22 22:11:51 +02:00
parent 9a36160c6d
commit 9b9c47cbb9

View file

@ -6,6 +6,7 @@ pub struct Snapshot {
pub request: u64, pub request: u64,
pub blocked: u64, pub blocked: u64,
pub entries: u64, pub entries: u64,
pub percent: f32,
} }
#[derive(Default)] #[derive(Default)]
@ -23,10 +24,17 @@ impl Total {
} }
} }
pub fn snapshot(&self) -> Snapshot { pub fn snapshot(&self) -> Snapshot {
let request = self.request.load(Ordering::Relaxed);
let blocked = self.blocked.load(Ordering::Relaxed);
Snapshot { Snapshot {
request: self.request.load(Ordering::Relaxed), request,
blocked: self.blocked.load(Ordering::Relaxed), blocked,
entries: self.entries.load(Ordering::Relaxed), entries: self.entries.load(Ordering::Relaxed),
percent: if request > 0 {
blocked as f32 * 100.0 / request as f32
} else {
0.0
},
} }
} }
pub fn set_entries(&self, value: u64) { pub fn set_entries(&self, value: u64) {