// stats page — pipeline throughput + per-source/per-status breakdowns
// depends on: app.js
async function loadStatsPage() {
const data = await api("/admin/api/stats");
document.getElementById("sourceTable").innerHTML = data.bySource
.map(r => `
| ${escapeHtml(r.source)} | ${r.n.toLocaleString()} |
`).join("");
document.getElementById("statusTable").innerHTML = data.byStatus
.map(r => `| ${badgeHtml(r.status === "null" ? null : r.status)} | ${r.n.toLocaleString()} |
`).join("");
document.getElementById("rate-ingested").textContent = (data.ingestedPerHour || 0).toLocaleString();
document.getElementById("rate-content").textContent = (data.contentPerHour || 0).toLocaleString();
document.getElementById("rate-embeddings").textContent = (data.embeddingsPerHour || 0).toLocaleString();
}
document.addEventListener("DOMContentLoaded", loadStatsPage);