Skip to main content

Module analytics

Module analytics 

Source
Expand description

The analytics dashboard: this deployment’s accounts, drawn as the tree they form.

docs/web-surfaces.md calls this surface 4. It shares a binary with the operations dashboard (crate::dashboard, surface 3) and nothing else: that page carries controls and this one carries a picture. Every route here is a GET and reads process-local state, which is what makes the page safe for an operator to set public.

What it draws comes from the same values bot.did.listAccounts answers with — AccountSummary, built once here and once there from one account — so the page and the wire cannot describe the tree differently. It is gated on the same Credential::Disclosure setting: an operator who closes the roster on the wire closes it here too.

An account whose chain a stranger could not walk is drawn as such. A paused edge — the vouch above it is gone and the grace window has passed — carries its state on the node, and so does every account beneath it, because the confinement poll cascades that tag down the subtree. An account whose parent this deployment no longer holds is drawn in its own group rather than being silently listed as a root.

Constants§

ANALYTICS_CSS 🔒
PREFIX
The page’s prefix. Everything under it is a GET; see the module doc.

Functions§

css 🔒
GET /analytics/analytics.css
page 🔒
The whole document around an already-rendered body.
proof_line 🔒
What logs in as the account, in one line.
render_node 🔒
One account and everything beneath it, appended to html.
render_tree 🔒
The roster as nested lists: the roots this deployment holds, then any account whose parent it no longer does.
routes
Builds the analytics routes, to be merged into the main router.
tree 🔒
GET /analytics
walk_line 🔒
The note a node carries about whether the walk in docs/ownership.md runs from it. A verified edge says nothing extra; the page’s badge already does.