Skip to content

Map scheduler metrics

rebaserHEAD edited this page Oct 24, 2026 · 4 revisions

reference, committed verified 2026-10-24 dev f2ad749 run 2026-10-24

What the maps record about their ticks, who sees whom and the movement relay, on the meter NexusTomorrow.Maps. How maps are ticked is on Map scheduler.

The metrics

Metric Kind Unit Tagged by Records
nexustomorrow.map.ticks counter world Each tick a map completes
nexustomorrow.map.tick.duration histogram ms world How long each tick took
nexustomorrow.map.tick.allocated histogram bytes world What each tick allocated
nexustomorrow.map.ticks_skipped counter Deadlines passed over because a tick ran long
nexustomorrow.map.faults counter world, inside a map A tick that threw, and a handler or timer that threw inside a map
nexustomorrow.map.dropped counter world Client messages a map read but didn't act on
nexustomorrow.map.units_admitted counter world Players created for a viewer that came into range
nexustomorrow.map.units_dropped counter world Players destroyed for a viewer: out of range, hidden or gone
nexustomorrow.map.batches_relayed counter world Movement batches relayed to the players who see the mover
nexustomorrow.map.batches_dropped counter world, reason Movement batches dropped: older, too_long, ring_full or refused (Owners map)

The world tag is the world's id, and the reason tag says why a batch was dropped. Recording allocates nothing while nothing listens.

What healthy looks like

At the default 25 ms tick, each map completes 40 ticks a second, ticks_skipped stays at or near 0, and a steady tick allocates 0 bytes, with players moving. batches_dropped stays low: a climb in ring_full means batches arrive faster than the map flushes them, and any refused is a declaration defect. Running a server has how to watch them.

Known edges

  • A fault counted by the scheduler, a whole tick that threw, carries no world tag; faults inside a map do.

Where the code lives

Piece Path
The meter and its instruments Source/NexusTomorrow.Maps/MapMetrics.cs
Where a tick is measured Source/NexusTomorrow.Maps/MapOwner.cs
Where units and batches are counted Source/NexusTomorrow.Maps/Visibility/AreaOfInterest.cs, Source/NexusTomorrow.Maps/Movement/MovementRelay.cs

Clone this wiki locally