aboutsummaryrefslogtreecommitdiffstats
path: root/src/swarm/stats.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-04 20:36:04 +0100
committertv <tv@krebsco.de>2026-11-04 20:36:04 +0100
commit8b6d55b61b0a3f49dd146385a6eaa8e5f393cdae (patch)
treefdd63b6cf565ac454635f761a69ac7e75a1947cb /src/swarm/stats.rs
parentcd0c1ef47070059f7223aa86471576988727f167 (diff)
benchmark delivered and twice
Diffstat (limited to 'src/swarm/stats.rs')
-rw-r--r--src/swarm/stats.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/swarm/stats.rs b/src/swarm/stats.rs
index 9d32baa..da7544f 100644
--- a/src/swarm/stats.rs
+++ b/src/swarm/stats.rs
@@ -110,6 +110,14 @@ pub(crate) struct Relay {
/// Changes passed on along writers' trees (`swarm::tree`): a sync message asked for
/// per child.
pub(crate) tree_forwards: u64,
+ /// Sync messages sent taken as delivered (`SyncSession::assume_delivered`), and their
+ /// payload's bytes.
+ pub(crate) delivered: u64,
+ pub(crate) delivered_bytes: u64,
+ /// Sync messages received that carried changes, all of which we had already, and
+ /// their payload's bytes: changes that came twice.
+ pub(crate) nothing_new: u64,
+ pub(crate) nothing_new_bytes: u64,
}
/// When the initial sync finished, and what it took.
@@ -204,6 +212,20 @@ impl NodeStats {
self.lock().relay.tree_forwards += 1;
}
+ /// A sync message taken as delivered went out, of `bytes` payload.
+ pub(crate) fn delivered_sent(&self, bytes: usize) {
+ let mut inner = self.lock();
+ inner.relay.delivered += 1;
+ inner.relay.delivered_bytes += bytes as u64;
+ }
+
+ /// A sync message of `bytes` payload carried changes, all of which we had already.
+ pub(crate) fn nothing_new(&self, bytes: usize) {
+ let mut inner = self.lock();
+ inner.relay.nothing_new += 1;
+ inner.relay.nothing_new_bytes += bytes as u64;
+ }
+
/// A sync message of `bytes` arrived.
pub(crate) fn sync_received(&self, bytes: usize) {
let mut inner = self.lock();