From d510e3a7b223b75b5187470432f909665b6cd967 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 5 Nov 2026 02:14:44 +0100 Subject: dashboard: swarm-wide epoch shine --- docs/dashboard.md | 12 +++++++----- docs/openapi.yaml | 4 ++-- 2 files changed, 9 insertions(+), 7 deletions(-) (limited to 'docs') diff --git a/docs/dashboard.md b/docs/dashboard.md index 8ce8374..b7247ab 100644 --- a/docs/dashboard.md +++ b/docs/dashboard.md @@ -77,8 +77,10 @@ Every member of the swarm, by alias (or a shortened node ID): allow. The members report their peers' clocks with their links, so this works for members this node doesn't reach itself; it needs three members compared. * **A golden glow**, growing from it and fading, once: it just entered a new epoch (a - remake, [`remakes.md`](remakes.md)). For this node and its peers, whose epochs this - node knows, as they change while the page is open. + remake, [`remakes.md`](remakes.md)). For every member that reports its links (they + say its epoch), and this node's peers, as they change while the page is open: so + after a remake, a wave across the map as the members switch. With `links: every + 30 s`, up to that late. ### Links @@ -345,9 +347,9 @@ another version of it (the state's `page`). **The map's graphs.** The intended one is the neighbours the member list gives every member (`swarm::topology`), as this node computes them. The measured one is every member's links as it reports them in reply to a LINKS (sent to every member, at most -512, while the producer runs). The LINKS subscribes: the member replies again whenever -its links change (a peer, a transport, relayed, dormant, or a round trip moved by a -fifth; it looks every 2 s), for 90 s, renewed every 30 s (each renewal answered), and +512, while the producer runs), with the epoch it is in. The LINKS subscribes: the +member replies again whenever its links change (a peer, a transport, relayed, dormant, +or a round trip moved by a fifth; it looks every 2 s) or it enters a new epoch, for 90 s, renewed every 30 s (each renewal answered), and ended when the producer stops; a node that is gone stops it by not renewing. A reply older than 90 s is left out. A member keeps 64 subscribers at most. With `links: every 30 s` (`POST /admin/dashboard/links?live=false`; `true` back), the subscriptions end diff --git a/docs/openapi.yaml b/docs/openapi.yaml index f45fae7..677af66 100644 --- a/docs/openapi.yaml +++ b/docs/openapi.yaml @@ -752,8 +752,8 @@ paths: `/admin/stats`), `peers` (as `/peers`) and `graph`: `members` (by node ID, those of the member list, and any a link reported goes to: `alias`, `self`, `dashboard`: its `--dashboard-url`), `intended` (by node ID: the neighbours the member list gives - it, as this node computes them), `measured` (by node ID: `secsAgo` and - `links`, each with `peer`, `transport`, `relayed`, `down`, `rttMs`, `dormant` and + it, as this node computes them), `measured` (by node ID: `secsAgo`, `epoch` + (the epoch the member said it is in: `generation`, `id`) and `links`, each with `peer`, `transport`, `relayed`, `down`, `rttMs`, `dormant` and `others` (the peer's other transports: `transport`, `rttMs`, `relayed`), as the member answered a LINKS; ours always, the others' while fresh) and `live` (whether the members' links are subscribed to, `/admin/dashboard/links`). One producer -- cgit v1.3.1