From 9b9c47cbb97e3ec05110816ebd0ffb63097b261e Mon Sep 17 00:00:00 2001 From: postscriptum Date: Sun, 22 Mar 2026 22:11:51 +0200 Subject: [PATCH] add blocking percentage stats --- src/stats.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/stats.rs b/src/stats.rs index 52e480b..581b6ee 100644 --- a/src/stats.rs +++ b/src/stats.rs @@ -6,6 +6,7 @@ pub struct Snapshot { pub request: u64, pub blocked: u64, pub entries: u64, + pub percent: f32, } #[derive(Default)] @@ -23,10 +24,17 @@ impl Total { } } pub fn snapshot(&self) -> Snapshot { + let request = self.request.load(Ordering::Relaxed); + let blocked = self.blocked.load(Ordering::Relaxed); Snapshot { - request: self.request.load(Ordering::Relaxed), - blocked: self.blocked.load(Ordering::Relaxed), + request, + blocked, 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) {