aboutsummaryrefslogtreecommitdiffstats
path: root/docs/measurements.md
Commit message (Collapse)AuthorAgeFilesLines
* api: a log line per HTTP requesttv3 days1-1/+3
| | | | | | | | | | | | | Requests weren't logged at all, short of what a handler logs itself. Now a middleware, outermost on the API (and on a relay-only node's), logs a line per request as web servers do: method and path (with the query), status, the milliseconds until the answer began (a stream goes on after), where it came from (the address, or `unix`), and the user (`-` where none was authenticated). The user comes back on the response: `basic_auth` puts it there, for a token as for a password or a trusted proxy's header. At debug, under the target `http` (`RUST_LOG=info,http=debug`, or `PUT /admin/log`): an open dashboard alone would fill the log at info. With the target off, the request passes untouched.
* swarm: no SIGNATUREStv3 days1-1/+1
| | | | | | | | | | | | | | Signatures sent on their own (SIGNATURES, every second, to each peer not sent them yet) flooded every link: a signature made after its change left, or one that came with changes, went to every neighbour, whether or not it got the change along with its signature elsewhere. With every change of a node signed as it leaves (1217) and signatures going where their changes go (1218), none is left for them to carry: the message, its task and its traffic counter go (wire version 46). Signatures waiting for their changes are offered as before when sync messages bring them, and the changes waiting for signatures judged again with the next batch.
* refusals: a drop taking much waits for a second member, and showstv3 days1-0/+1
| | | | | | | | | | | | | | | | | | A node told (REFUSALS) that it holds a change the swarm's rules refuse, and whose own rules refuse it too, dropped it and everything built on it on one peer's word, however much that was; its own writes among them went to the quarantine, the others' nowhere. * A drop taking more than 100 changes, or more than ten and a tenth of the document, now waits until a second member names the same change: the node's rules and one peer's word could both be off. Logged as an error, counted in /admin/stats (sync.dropsHeld). * The others' changes dropped are listed with the refused (GET /admin/refused, "taken unjudged, dropped"), for operators to see. The cheap half of asking the others (future-work.md, Telling a malicious change from a wrong policy).
* swarm: changes taken unjudged, dropped (REFUSALS)tv4 days1-1/+1
| | | | | | | | | A node refusing changes a peer brought tells it which broke a rule; the peer judges them itself, and if its rules refuse them too, drops them with all built on them (its document forked without them, a fresh actor), quarantining its own writes among them. Wire version 42. Auth plan M6 (rejoin on taint).
* access: members refused as a wholetv4 days1-0/+2
| | | | | | | | | With signatures required, a member whose own change broke a rule is refused as a whole: sent nothing, shown in /peers (refused), in stats (sync.refusedPeers) and on the dashboard, until a change of its is taken again or the epoch changes. Auth plan M6 (diverged standing).
* signatures: on their own (SIGNATURES)tv4 days1-1/+1
| | | | | | | Signatures no sync message took go on their own within a second, to each peer not sent them yet (wire version bumped). Auth plan M5.
* dashboard: without LINKS; LINKS removedtv4 days1-7/+6
| | | | | | | | | The dashboard reads every member's links from the members themselves; LINKS and LINKS_REPLY, swarm::links and their wire tags go (wire version bumped). Nodes the browser can't reach are drawn from what the reachable ones measure. Auth plan M3.
* HyParView (slim)tv5 days1-1/+2
|
* plumtreetv5 days1-1/+1
|
* indirect probestv5 days1-1/+2
|
* handshakes countedtv5 days1-0/+1
|
* trees at runtimetv5 days1-0/+2
|
* asked again countertv7 days1-0/+1
|
* neigbours by transporttv7 days1-0/+1
|
* own tree shapetv7 days1-1/+6
|
* drop full mesh stattv7 days1-1/+0
|
* delta propagationtv7 days1-1/+2
|
* time blob messagestv7 days1-2/+2
|
* throughput from delivered messagetv7 days1-1/+1
|
* hop delaystv7 days1-0/+1
|
* no heal while both move ontv8 days1-1/+1
| | | | | | | The heal clock now also restarts when our heads and the peer's have both changed since the last STATUS that showed them differing. While writes go on, two neighbours's heads differ because of changes still on their way, and that alone no longer leads to a heal.
* announcement round counterstv9 days1-0/+2
|
* docs after treestv9 days1-1/+1
|
* replace eager links by treestv9 days1-3/+1
|
* add eager link counterstv9 days1-0/+3
|
* skip neighbours with our headstv9 days1-1/+1
|
* add per-node traffic countstv9 days1-3/+3
|
* add documentationtv9 days1-0/+299