Repository navigation
Map scheduler metrics
rebaserHEAD edited this page Oct 24, 2026
·
4 revisions
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.
| 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.
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.
- A fault counted by the scheduler, a whole tick that threw, carries no world tag; faults inside a map do.
| 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
|
Start here
How the server works
The protocol
Working on it