الملفات

50 أسطر
1.6 KiB
JavaScript

async function loadStats() {
try {
const response = await fetch("/stats");
const data = await response.json();
// Service Status
const statusElement = document.getElementById("status");
if (data.status === "healthy") {
statusElement.textContent = "🟢 Healthy";
statusElement.style.color = "green";
} else {
statusElement.textContent = "🔴 Down";
statusElement.style.color = "red";
}
// Response Time
const responseElement = document.getElementById("response-time");
responseElement.textContent = data.response_time_ms + " ms";
if (data.response_time_ms < 100) {
responseElement.style.color = "green";
} else {
responseElement.style.color = "orange";
}
// Request Count
document.getElementById("requests").textContent = data.requests;
// Uptime
const minutes = Math.floor(data.uptime_seconds / 60);
const seconds = data.uptime_seconds % 60;
document.getElementById("uptime").textContent =
`${minutes} min ${seconds} sec`;
} catch (error) {
const statusElement = document.getElementById("status");
statusElement.textContent = "🔴 Down";
statusElement.style.color = "red";
document.getElementById("response-time").textContent = "--";
document.getElementById("requests").textContent = "--";
document.getElementById("uptime").textContent = "--";
}
}
loadStats();
setInterval(loadStats, 5000);