upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/src/sync/mod.rs
diff options
context:
space:
mode:
authorDanConwayDev <DanConwayDev@protonmail.com>2025-12-11 13:19:08 +0000
committerDanConwayDev <DanConwayDev@protonmail.com>2025-12-11 13:19:08 +0000
commit9d1545b7b13bc6cd3b0a075865918ceaad9e07ff (patch)
tree6995cd7824903ad97448dcc7d0e2437f48e0f59d /src/sync/mod.rs
parent7146ee550944c71a4e48018a34820ce9a9d99f95 (diff)
fix: sync metrics aggregate relay counts
Diffstat (limited to 'src/sync/mod.rs')
-rw-r--r--src/sync/mod.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/sync/mod.rs b/src/sync/mod.rs
index b6cd00a..c78c0e1 100644
--- a/src/sync/mod.rs
+++ b/src/sync/mod.rs
@@ -1208,13 +1208,23 @@ impl SyncManager {
1208 } 1208 }
1209 1209
1210 // Mark as connected in relay sync index 1210 // Mark as connected in relay sync index
1211 { 1211 // Track whether this is a new relay for metrics
1212 let is_new_relay = {
1212 let mut index = relay_sync_index.write().await; 1213 let mut index = relay_sync_index.write().await;
1214 let is_new = !index.contains_key(&relay_url);
1213 let state = index.entry(relay_url.clone()).or_default(); 1215 let state = index.entry(relay_url.clone()).or_default();
1214 state.connection_status = ConnectionStatus::Connected; 1216 state.connection_status = ConnectionStatus::Connected;
1215 state.is_bootstrap = is_bootstrap; 1217 state.is_bootstrap = is_bootstrap;
1216 state.last_connected = Some(Timestamp::now()); 1218 state.last_connected = Some(Timestamp::now());
1217 state.disconnected_at = None; 1219 state.disconnected_at = None;
1220 is_new
1221 };
1222
1223 // Increment tracked count for new relays
1224 if is_new_relay {
1225 if let Some(ref metrics) = self.metrics {
1226 metrics.inc_tracked_count();
1227 }
1218 } 1228 }
1219 1229
1220 // Store connection in HashMap BEFORE sending notification 1230 // Store connection in HashMap BEFORE sending notification