Operations

Queues

Every place work can pile up between one part of this system and the next. All of these should sit at or near zero on a working day; a number that climbs and does not come back down is a drain that has stopped running, not a busy afternoon. Each count is only this business's.

Loading…

Morning digest

What /today would say, sent to a phone once a day at the hour each person chose (Accra time). Every day, all clear included — a digest that goes quiet on quiet days teaches you that silence means broken.

Loading…
PhoneWhoAtLast sent
Loading…

Recent errors

The last fifty failed requests this process has seen, kept in memory and lost on restart. Not an error tracker — the answer to "what went wrong in the last hour" before anybody has finished wiring one.

WhenRequestPathWhat happened
Loading…

This process

One container. If uptime keeps resetting, something is killing it and the interesting evidence is in the container log rather than here.

Rate-limit buckets are a single process-global map keyed by address, session, rider or merchant — never by tenant, because a limit on an address has to work before anyone knows whose address it is. That is why seeing and clearing them is an operator action.

Memory over the last day

Resident set size, sampled every five minutes since this process started, oldest on the left. Climbing steadily across a day is a leak; a sawtooth is the garbage collector doing its job.

SampledRSSHeap in use