One small box runs the bots, the stats and the background jobs. This page shows how it is doing, in plain words.
Load counts how much work is waiting in line. At 2.0 the box is exactly full. Above 2.0, work queues and everything slows down.
The box has about 8 GB and no spare. When memory fills up, even simple jobs crawl.
How hard the processors are working right now, moment to moment.
Loading…
A health checker pings our key services every few minutes. 100% means every check passed. The dips are the slowdowns, drawn out loud.
The box has 2 CPUs. Six Discord bots, the live counters and dozens of scheduled jobs all share them. When several heavy jobs land in the same minute, everything queues up and waits its turn.
Almost every job needs the internet: GitHub, Google, Discord, Cloudflare. When those pipes slow down, a call that should take 1 second takes 15 or more, and some never come back at all. A stalled job just sits there, holding its memory, while its work piles up behind it.
A job set to run every minute that takes 4 minutes to finish does not run once. It runs 4 deep, and each copy makes the others slower, which stacks even more copies. Slow becomes slower all by itself.
Browser sessions and big jobs are the hungriest. When the 8 GB is gone there is no spare to borrow, so the whole box wheezes until something finishes and frees room.
The box gets replaced without warning, sometimes mid-job. Everything then restarts at the same moment, straight into a fresh pileup while the pipes are still cold.
The websites themselves live on Cloudflare, not on this box, so e2.life and the rest stay up and fast for visitors. The Discord bots keep the connections they already hold. What suffers is speed behind the scenes: new work, deploys, stats and replies.
Data: the box reports its own load and memory about every five minutes, and a health checker pings the key services every few minutes. This page re-reads the numbers every 30 seconds. Status colors: 🟢 all clear, 🟡 busy, 🟠 strained, 🔴 overloaded.