summaryrefslogtreecommitdiffstats
path: root/internal
diff options
context:
space:
mode:
Diffstat (limited to 'internal')
-rw-r--r--internal/metrics/dashboard.html16
1 files changed, 10 insertions, 6 deletions
diff --git a/internal/metrics/dashboard.html b/internal/metrics/dashboard.html
index 800b6df..e7af48c 100644
--- a/internal/metrics/dashboard.html
+++ b/internal/metrics/dashboard.html
@@ -189,7 +189,7 @@
189 </div> 189 </div>
190 190
191 <script> 191 <script>
192 let startTime = Date.now(); 192 let processStartTime = null;
193 193
194 function parsePrometheusMetrics(text) { 194 function parsePrometheusMetrics(text) {
195 const metrics = {}; 195 const metrics = {};
@@ -294,8 +294,15 @@
294 document.getElementById('event_deletions').textContent = 294 document.getElementById('event_deletions').textContent =
295 sumMetric(metrics, `${prefix}_relay_event_deletions_total`); 295 sumMetric(metrics, `${prefix}_relay_event_deletions_total`);
296 296
297 document.getElementById('uptime').textContent = 297 const processStart = sumMetric(metrics, 'process_start_time_seconds');
298 formatUptime(Date.now() - startTime); 298 if (processStart > 0) {
299 if (!processStartTime) processStartTime = processStart;
300 const uptimeSeconds = Date.now() / 1000 - processStart;
301 document.getElementById('uptime').textContent =
302 formatUptime(uptimeSeconds * 1000);
303 } else {
304 document.getElementById('uptime').textContent = '--';
305 }
299 306
300 document.getElementById('error').innerHTML = ''; 307 document.getElementById('error').innerHTML = '';
301 } catch (error) { 308 } catch (error) {
@@ -306,9 +313,6 @@
306 313
307 updateMetrics(); 314 updateMetrics();
308 setInterval(updateMetrics, 5000); 315 setInterval(updateMetrics, 5000);
309 setInterval(() => {
310 document.getElementById('uptime').textContent = formatUptime(Date.now() - startTime);
311 }, 1000);
312 </script> 316 </script>
313</body> 317</body>
314</html> 318</html>