StepLagTracker class
THE STEP-LAG TRACKER — stepLag's escalation arithmetic, step-shaped.
Tracks each lagging (session, node) across comparator passes and answers
one question per pass: has this entry earned its divergence? The rule is
kStepLagGrace across at least TWO passes, so a normal transition's
transit through the bead-first/append-later window can never trigger
anything — the same shape TerminalLagTracker has on the session axis,
minus the heal (the step axis has none).
It owns no clock: the caller supplies now, which is a fact about the
world a pure tracker cannot have.
Constructors
- StepLagTracker({Duration grace = kStepLagGrace})
Properties
- grace → Duration
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- openEntries → int
-
The nodes currently lagging.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
ageOf(
String sessionId, String stepPath, DateTime now) → Duration -
The age of one node's lag at
now— zero for a node not tracked. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
observe(
String sessionId, String stepPath, {required DateTime now}) → bool -
Observes one lagging node at
now; returns true exactly ONCE, on the pass where the entry earns its escalation. -
retainOnly(
Set< String> seen) → void - Drops every entry not observed in the pass that just ran — a node that stopped lagging healed on its own, which is what the window does.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited