commit da28099: [WebUI] Show scan time in server list

moisseev moiseev at mezonplus.ru
Sun Mar 6 17:21:05 UTC 2022


Author: moisseev
Date: 2022-03-05 12:29:16 +0300
URL: https://github.com/rspamd/rspamd/commit/da28099f0eceec09d315de0fa0a58340d4af86a2 (refs/pull/4097/head)

[WebUI] Show scan time in server list

---
 interface/index.html      |  1 +
 interface/js/app/stats.js | 27 +++++++++++++++++++++++++--
 2 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/interface/index.html b/interface/index.html
index b0727e136..38d66a048 100644
--- a/interface/index.html
+++ b/interface/index.html
@@ -163,6 +163,7 @@
 												<th>Server name</th>
 												<th>Host</th>
 												<th class="w-1">Status</th>
+												<th class="w-1">Scan time</th>
 												<th class="w-1">Uptime</th>
 												<th class="w-1">Version</th>
 												<th>Configuration ID</th>
diff --git a/interface/js/app/stats.js b/interface/js/app/stats.js
index 41651550d..8b38d7f10 100644
--- a/interface/js/app/stats.js
+++ b/interface/js/app/stats.js
@@ -113,6 +113,10 @@ define(["jquery", "d3pie"],
                 var version = "???";
                 var uptime = "???";
                 var short_id = "???";
+                let scan_times = {
+                    data: "???",
+                    title: ""
+                };
                 if (val.status) {
                     row_class = "success";
                     glyph_status = "fas fa-check";
@@ -124,8 +128,26 @@ define(["jquery", "d3pie"],
                     }
                     if (key === "All SERVERS") {
                         short_id = "";
-                    } else if ("config_id" in val.data) {
-                        short_id = val.data.config_id.substring(0, 8);
+                        scan_times.data = "";
+                    } else {
+                        if ("config_id" in val.data) {
+                            short_id = val.data.config_id.substring(0, 8);
+                        }
+                        if ("scan_times" in val.data) {
+                            const [min, max] = d3.extent(val.data.scan_times);
+                            if (max) {
+                                const f = d3.format(".3f");
+                                scan_times = {
+                                    data: "<small>" + f(min) + "/</small>" + f(d3.mean(val.data.scan_times)) + "<small>/" + f(max) + "</small>",
+                                    title: ' title="min/avg/max"'
+                                };
+                            } else {
+                                scan_times = {
+                                    data: "-",
+                                    title: ' title="Have not scanned anything yet"'
+                                };
+                            }
+                        }
                     }
                 }
 
@@ -134,6 +156,7 @@ define(["jquery", "d3pie"],
                 "<td>" + key + "</td>" +
                 "<td>" + val.host + "</td>" +
                 '<td class="text-center"><span class="icon"><i class="' + glyph_status + '"></i></span></td>' +
+                '<td class="text-center"' + scan_times.title + ">" + scan_times.data + "</td>" +
                 '<td class="text-right' +
                   ((Number.isFinite(val.data.uptime) && val.data.uptime < 3600)
                       ? ' warning" title="Has been restarted within the last hour"'


More information about the Commits mailing list