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) });