Skip to content

docs: document the fleet tracker gate behind --shared-state - #37

Open
nimrod-teich wants to merge 2 commits into
mainfrom
mag-2983
Open

docs: document the fleet tracker gate behind --shared-state#37
nimrod-teich wants to merge 2 commits into
mainfrom
mag-2983

Conversation

@nimrod-teich

Copy link
Copy Markdown
Contributor

#Closes MAG-2983

Jira ticket: MAG-2983

Why

smart-router PR #322 — feat(smart-router): fleet tracker gate — share poll observations across pods (MAG-2981) — makes --shared-state share per-endpoint chain-tracker poll observations across replicas through the cache, so an upstream is polled about once per interval fleet-wide instead of once per replica, and adds rpc_endpoint_tracker_gate_skips_total{source}. The site still describes --shared-state as consistency-state only and has no row for the metric.

What changed

  • docs/reference/cli.md--shared-state row names both things it shares, followed by a short paragraph on the borrowing rule and its three safety floors (no borrowing your own observation; every replica still polls each upstream itself every few ticks; re-enable needs a local poll). The Polling relief section gains the flag as the fleet-level lever and explains the skip counter next to the request counter.
  • docs/reference/metrics.md — new rpc_endpoint_tracker_gate_skips_total row, the quick-answer table pointer, and a one-line PromQL recipe for confirming the gate works across replicas.
  • docs/deployment/cache.md — "Sharing state across routers" lists both shared things.

How to verify

mkdocs build --strict -f mkdocs.yml

Passes locally. Pends smart-router PR #322 merging — merge this after it.

smart-router PR #322 (MAG-2981) makes --shared-state share per-endpoint
chain-tracker poll observations across router replicas through the cache,
so an upstream is polled about once per interval fleet-wide instead of
once per replica, and adds rpc_endpoint_tracker_gate_skips_total{source}.

- cli.md: --shared-state row now names both things it shares; a short
  paragraph explains the borrowing rule and its three safety floors; the
  Polling relief section gains the flag as the fleet-level lever and
  points at the gate-skips counter.
- metrics.md: new counter row, the quick-answer pointer, and a one-line
  recipe for confirming the gate is working across replicas.
- cache.md: "Sharing state across routers" lists both shared things.
…block time

smart-router#323 widened the range from [1,8] to [0.25,8]. At 0.25 the
tracker polls once per four block times — 8x below the built-in cadence,
and the relief that matters on a fast chain.

The old floor of 1 was justified by the claim that below it the
avgBlockTime-derived windows start to bind. They do not: the staleness
window is max(10 x avgBlockTime, 2s) and does not move with this flag —
the flag moves the other side of that comparison. Both common cases stay
well inside it; the exposure is the seam where an upstream trips the
traffic gate and then goes quiet, refreshed by neither polls nor relays.

That seam is a property of the product of this flag and the gate's skip
budget, so the router warns per chain at startup instead of refusing to
start. Documented verbatim, with what to do about it, so the line is read
as guidance rather than a failed boot.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant