Added server stats graph breaks.

Ylian Saint-Hilaire committed Mar 21, 2020 at 17:33 UTC 2ca9ea9ed406ef04a354d41697e6ac103e7e52f7
2 files changed +14
meshcentral.js
+2
@@ -70,6 +70,7 @@ function CreateMeshCentralServer(config, args) {
70 obj.serverWarnings = []; // List of warnings that should be shown to administrators
71 obj.cookieUseOnceTable = {}; // List of cookies that are already expired
72 obj.cookieUseOnceTableCleanCounter = 0; // Clean the cookieUseOnceTable each 20 additions
73 + obj.firstStats = true; // True until this server saves it's not stats to the database
74
75 // Server version
76 obj.currentVer = null;
@@ -1272,6 +1273,7 @@ function CreateMeshCentralServer(config, args) {
1273 }
1274 };
1275 if (obj.mpsserver != null) { data.conn.am = Object.keys(obj.mpsserver.ciraConnections).length; }
1276 + if (obj.firstStats === true) { delete obj.firstStats; data.first = true; }
1277 obj.db.SetServerStats(data); // Save the stats to the database
1278 obj.DispatchEvent(['*'], obj, { action: 'servertimelinestats', data: data }); // Event the server stats
1279 }, 300000);
views/default.handlebars
+12
@@ -10709,6 +10709,12 @@
10709 };
10710 for (var i = 0; i < serverTimelineStats.length; i++) {
10711 var t = new Date(serverTimelineStats[i].time);
10712 + if (serverTimelineStats[i].first == true) {
10713 + data.datasets[0].data.push({ x: serverTimelineStats[i].time - 1, y: NaN });
10714 + data.datasets[1].data.push({ x: serverTimelineStats[i].time - 1, y: NaN });
10715 + data.datasets[2].data.push({ x: serverTimelineStats[i].time - 1, y: NaN });
10716 + data.datasets[3].data.push({ x: serverTimelineStats[i].time - 1, y: NaN });
10717 + }
10718 if (serverTimelineStats[i].conn) {
10719 data.datasets[0].data.push({ x: serverTimelineStats[i].time, y: serverTimelineStats[i].conn.ca });
10720 data.datasets[1].data.push({ x: serverTimelineStats[i].time, y: serverTimelineStats[i].conn.cu });
@@ -10729,6 +10735,12 @@
10735 ]
10736 };
10737 for (var i = 0; i < serverTimelineStats.length; i++) {
10738 + if (serverTimelineStats[i].first == true) {
10739 + data.datasets[0].data.push({ x: serverTimelineStats[i].time - 1, y: NaN });
10740 + data.datasets[1].data.push({ x: serverTimelineStats[i].time - 1, y: NaN });
10741 + data.datasets[2].data.push({ x: serverTimelineStats[i].time - 1, y: NaN });
10742 + data.datasets[3].data.push({ x: serverTimelineStats[i].time - 1, y: NaN });
10743 + }
10744 data.datasets[0].data.push({ x: serverTimelineStats[i].time, y: serverTimelineStats[i].mem.external / (1024 * 1024) });
10745 data.datasets[1].data.push({ x: serverTimelineStats[i].time, y: serverTimelineStats[i].mem.heapUsed / (1024 * 1024) });
10746 data.datasets[2].data.push({ x: serverTimelineStats[i].time, y: serverTimelineStats[i].mem.heapTotal / (1024 * 1024) });