feat(dashboard): show the UGC server on the home page and Server Health

Server Status gets a UGC row while master starts it, and staff with
health_view a UGC Server card: up time, waiting/made/failed, busy workers and
storage, linking to /ugc. Server Health adds UGC to the uptime history and a
Servers table with every server's process, memory, CPU and last report.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-09-27 09:39:21 -05:00
parent e669a4fa7e
commit 5692e43381
5 changed files with 128 additions and 7 deletions

View File

@@ -81,6 +81,12 @@ namespace {
pid = ServerState::g_UgcPid;
}
out["pid"] = pid;
// Up since its process started when this machine runs it (the dashboard may have started after it)
if (pid && out.value("online", false)) {
for (const auto& process : ServerRoutes::Processes()) {
if (process.pid == pid && process.startedAt) out["since"] = process.startedAt;
}
}
// Its traffic report (every few seconds, via master) carries its workers, totals and storage
const auto traffic = Traffic::Server("ugc");
out["gauges"] = traffic.value("gauges", nlohmann::json::object());