From 3fecc2156517f7e9707339c8228c5fc4775bcdab Mon Sep 17 00:00:00 2001 From: mirivlad Date: Mon, 20 Apr 2026 11:54:00 +0800 Subject: [PATCH] feat: Fix CPU tooltip, add uptime widget, exclude uptime from charts - Fix CPU tooltip to show percentage value - Add uptime widget to server detail page (right column) - Exclude uptime metric from charts in two places --- src/Controllers/ServerDetailController.php | 2 ++ templates/servers/detail.twig | 39 ++++++++++++++++++++-- 2 files changed, 38 insertions(+), 3 deletions(-) diff --git a/src/Controllers/ServerDetailController.php b/src/Controllers/ServerDetailController.php index 9be4fb7..62fcdcc 100755 --- a/src/Controllers/ServerDetailController.php +++ b/src/Controllers/ServerDetailController.php @@ -206,6 +206,7 @@ class ServerDetailController extends Model FROM metric_names mn JOIN server_metrics sm ON sm.metric_name_id = mn.id WHERE sm.server_id = :id + AND mn.name != 'uptime' AND ( mn.name IN ('cpu_load', 'ram_used') OR mn.name LIKE 'disk_used_%' @@ -315,6 +316,7 @@ class ServerDetailController extends Model FROM metric_names mn JOIN server_metrics sm ON sm.metric_name_id = mn.id WHERE sm.server_id = :id + AND mn.name != 'uptime' AND ( mn.name IN ('cpu_load', 'ram_used') OR mn.name LIKE 'disk_used_%' diff --git a/templates/servers/detail.twig b/templates/servers/detail.twig index 1198026..c182fbd 100755 --- a/templates/servers/detail.twig +++ b/templates/servers/detail.twig @@ -24,9 +24,9 @@
- +
-
+
Информация о сервере
@@ -63,6 +63,37 @@
+
+
+
+
Время работы
+
+
+ {% if server.latest_metrics.uptime is defined %} + {% set uptime_sec = server.latest_metrics.uptime.value %} +
+ {% if uptime_sec >= 86400 %} + {{ (uptime_sec / 86400)|round(0, 'floor') }}д + {% endif %} + {% if uptime_sec >= 3600 %} + {{ ((uptime_sec % 86400) / 3600)|round(0, 'floor') }}ч + {% endif %} + {% if uptime_sec >= 60 %} + {{ ((uptime_sec % 3600) / 60)|round(0, 'floor') }}м + {% endif %} +
+ + {{ server.created_at|date('d.m.Y H:i') }} + + {% else %} +
+ +

Нет данных

+
+ {% endif %} +
+
+
@@ -750,8 +781,8 @@ const chart{{ metricName|replace({'-': '_', '.': '_'}) }} = new Chart(ctx{{ metr lines.push('Занято: ' + diskUsed + ' ГБ'); lines.push('Свободно: ' + diskFree + ' ГБ'); {% else %} - lines.push('Значение: ' + data{{ metricName }}[dataIndex]); {% if metricName == 'cpu_load' %} + lines.push('CPU: ' + data{{ metricName }}[dataIndex] + '%'); if (data.top_cpu && data.top_cpu.length > 0) { lines.push(''); lines.push('TOP CPU:'); @@ -759,6 +790,8 @@ const chart{{ metricName|replace({'-': '_', '.': '_'}) }} = new Chart(ctx{{ metr lines.push(' ' + ((proc.cmdline || '').trim() || proc.name) + ': ' + proc.value + '%'); }); } +{% else %} + lines.push('Значение: ' + data{{ metricName }}[dataIndex]); {% endif %} {% endif %}