aboutsummaryrefslogtreecommitdiffstats
path: root/src/api/dashboard
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-10-31 04:11:45 +0100
committertv <tv@krebsco.de>2026-10-31 04:11:45 +0100
commitc1653a2ac480bac397a535b0783996511abacb7d (patch)
tree852e3fbb594cbab4a5ea5d6969f79b8977ba159d /src/api/dashboard
parent987ba0ffc6a272d5b426e6b91da18f49b480537a (diff)
compute per-peer totals in /admin/stats once
Diffstat (limited to 'src/api/dashboard')
-rw-r--r--src/api/dashboard/mod.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/api/dashboard/mod.rs b/src/api/dashboard/mod.rs
index ad907ed..0a15570 100644
--- a/src/api/dashboard/mod.rs
+++ b/src/api/dashboard/mod.rs
@@ -257,8 +257,10 @@ impl Graph {
/// The snapshot: the node, its figures, its peers, and the map.
async fn build(state: &AppState, graph: &Graph) -> JsonValue {
- let stats = serde_json::to_value(super::stats::collect(state).await).unwrap_or_default();
- let peers = serde_json::to_value(super::peers::peer_list(state).await).unwrap_or_default();
+ // The peers once, for their list and the figures' totals over them.
+ let list = super::peers::peer_list(state).await;
+ let stats = serde_json::to_value(super::stats::collect(state, &list).await).unwrap_or_default();
+ let peers = serde_json::to_value(&list).unwrap_or_default();
let aliases = {
let replica = state.doc.read().await;
members::aliases(&replica.doc)