matterbridge 3.3.1-dev-20251011-c8b30f8 → 3.3.1-dev-20251012-b3546f8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +4 -1
- package/dist/cliHistory.js +43 -12
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -57,7 +57,6 @@ async function startCpuMemoryCheck() {
|
|
|
57
57
|
log.debug(`Cpu memory check started`);
|
|
58
58
|
prevCpus = os.cpus();
|
|
59
59
|
prevProcessCpu = process.cpuUsage();
|
|
60
|
-
clearInterval(memoryCheckInterval);
|
|
61
60
|
const interval = () => {
|
|
62
61
|
const systemUptime = formatOsUpTime(Math.floor(os.uptime()));
|
|
63
62
|
const processUptime = formatOsUpTime(Math.floor(process.uptime()));
|
|
@@ -148,6 +147,10 @@ async function startCpuMemoryCheck() {
|
|
|
148
147
|
entry.peakHeapUsed = peakHeapUsed;
|
|
149
148
|
entry.heapTotal = memoryUsageRaw.heapTotal;
|
|
150
149
|
entry.peakHeapTotal = peakHeapTotal;
|
|
150
|
+
entry.external = memoryUsageRaw.external;
|
|
151
|
+
entry.peakExternal = peakExternal;
|
|
152
|
+
entry.arrayBuffers = memoryUsageRaw.arrayBuffers;
|
|
153
|
+
entry.peakArrayBuffers = peakArrayBuffers;
|
|
151
154
|
setHistoryIndex((historyIndex + 1) % historySize);
|
|
152
155
|
if (trace)
|
|
153
156
|
log.debug(`***${YELLOW}${BRIGHT}Host cpu:${db} ` +
|
package/dist/cliHistory.js
CHANGED
|
@@ -2,7 +2,7 @@ if (process.argv.includes('--loader') || process.argv.includes('-loader'))
|
|
|
2
2
|
console.log('\u001B[32mCli history loaded.\u001B[40;0m');
|
|
3
3
|
import { writeFileSync } from 'node:fs';
|
|
4
4
|
import path from 'node:path';
|
|
5
|
-
export const historySize =
|
|
5
|
+
export const historySize = 4320;
|
|
6
6
|
export let historyIndex = 0;
|
|
7
7
|
export function setHistoryIndex(index) {
|
|
8
8
|
if (!Number.isFinite(index) || !Number.isSafeInteger(index)) {
|
|
@@ -54,9 +54,10 @@ export function generateHistoryPage(options = {}) {
|
|
|
54
54
|
const peakRss = Math.max(...normalizedHistory.map((entry) => entry.peakRss ?? entry.rss));
|
|
55
55
|
const peakHeapUsed = Math.max(...normalizedHistory.map((entry) => entry.peakHeapUsed ?? entry.heapUsed));
|
|
56
56
|
const peakHeapTotal = Math.max(...normalizedHistory.map((entry) => entry.peakHeapTotal ?? entry.heapTotal));
|
|
57
|
+
const peakExternal = Math.max(...normalizedHistory.map((entry) => entry.peakExternal ?? entry.external));
|
|
58
|
+
const peakArrayBuffers = Math.max(...normalizedHistory.map((entry) => entry.peakArrayBuffers ?? entry.arrayBuffers));
|
|
57
59
|
const firstTimestamp = normalizedHistory[0]?.timestamp ?? Date.now();
|
|
58
60
|
const lastTimestamp = normalizedHistory[normalizedHistory.length - 1]?.timestamp ?? Date.now();
|
|
59
|
-
const historySanitised = JSON.stringify(normalizedHistory).replace(/</g, '\\u003c').replace(/>/g, '\\u003e');
|
|
60
61
|
const summary = {
|
|
61
62
|
entries: normalizedHistory.length,
|
|
62
63
|
timeRange: `${new Date(firstTimestamp).toLocaleString()} → ${new Date(lastTimestamp).toLocaleString()}`,
|
|
@@ -65,8 +66,9 @@ export function generateHistoryPage(options = {}) {
|
|
|
65
66
|
peakRss,
|
|
66
67
|
peakHeapUsed,
|
|
67
68
|
peakHeapTotal,
|
|
69
|
+
peakExternal,
|
|
70
|
+
peakArrayBuffers,
|
|
68
71
|
};
|
|
69
|
-
const summarySanitised = JSON.stringify(summary).replace(/</g, '\\u003c').replace(/>/g, '\\u003e');
|
|
70
72
|
const html = `<!DOCTYPE html>
|
|
71
73
|
<html lang="en">
|
|
72
74
|
<head>
|
|
@@ -275,8 +277,8 @@ export function generateHistoryPage(options = {}) {
|
|
|
275
277
|
</div>
|
|
276
278
|
|
|
277
279
|
<script type="module">
|
|
278
|
-
const HISTORY_DATA = ${
|
|
279
|
-
const SUMMARY_DATA = ${
|
|
280
|
+
const HISTORY_DATA = ${JSON.stringify(normalizedHistory)};
|
|
281
|
+
const SUMMARY_DATA = ${JSON.stringify(summary)};
|
|
280
282
|
let cleanup = () => {};
|
|
281
283
|
|
|
282
284
|
const summaryContainer = document.getElementById('summary');
|
|
@@ -287,7 +289,9 @@ export function generateHistoryPage(options = {}) {
|
|
|
287
289
|
{ label: 'Process CPU Peak', value: SUMMARY_DATA.peakProcessCpu.toFixed(2) + ' %' },
|
|
288
290
|
{ label: 'RSS Peak', value: formatBytes(SUMMARY_DATA.peakRss) },
|
|
289
291
|
{ label: 'Heap Used Peak', value: formatBytes(SUMMARY_DATA.peakHeapUsed) },
|
|
290
|
-
{ label: 'Heap Total Peak', value: formatBytes(SUMMARY_DATA.peakHeapTotal) }
|
|
292
|
+
{ label: 'Heap Total Peak', value: formatBytes(SUMMARY_DATA.peakHeapTotal) },
|
|
293
|
+
{ label: 'External Peak', value: formatBytes(SUMMARY_DATA.peakExternal) },
|
|
294
|
+
{ label: 'Array Buffers Peak', value: formatBytes(SUMMARY_DATA.peakArrayBuffers) }
|
|
291
295
|
];
|
|
292
296
|
|
|
293
297
|
summaryEntries.forEach(function (itemData) {
|
|
@@ -330,7 +334,7 @@ export function generateHistoryPage(options = {}) {
|
|
|
330
334
|
const cpuPeakValue = HISTORY_DATA.reduce(function (acc, entry) {
|
|
331
335
|
return Math.max(acc, Number.isFinite(entry.peakCpu) ? entry.peakCpu : 0, Number.isFinite(entry.cpu) ? entry.cpu : 0);
|
|
332
336
|
}, 0);
|
|
333
|
-
const
|
|
337
|
+
const cpuMaxYAxis = cpuPeakValue > 0 ? cpuPeakValue * 1.05 : undefined;
|
|
334
338
|
|
|
335
339
|
const processCpuPeakValue = HISTORY_DATA.reduce(function (acc, entry) {
|
|
336
340
|
return Math.max(
|
|
@@ -339,7 +343,33 @@ export function generateHistoryPage(options = {}) {
|
|
|
339
343
|
Number.isFinite(entry.processCpu) ? entry.processCpu : 0
|
|
340
344
|
);
|
|
341
345
|
}, 0);
|
|
342
|
-
const
|
|
346
|
+
const processCpuMaxYAxis = processCpuPeakValue > 0 ? processCpuPeakValue * 1.05 : undefined;
|
|
347
|
+
const useProcessCpuDecimals = (processCpuMaxYAxis ?? 0) <= 3;
|
|
348
|
+
|
|
349
|
+
// Compute memory chart dynamic minimum Y as (min observed MB) - 10%
|
|
350
|
+
const memoryMinMb = HISTORY_DATA.reduce(function (acc, entry) {
|
|
351
|
+
const values = [entry.rss, entry.heapTotal, entry.heapUsed].map(bytesToMb);
|
|
352
|
+
const finiteValues = values.filter(function (v) { return Number.isFinite(v); });
|
|
353
|
+
const minEntry = finiteValues.length ? Math.min.apply(Math, finiteValues) : acc;
|
|
354
|
+
return Math.min(acc, minEntry);
|
|
355
|
+
}, Number.POSITIVE_INFINITY);
|
|
356
|
+
const memoryMinYAxis = Number.isFinite(memoryMinMb) && memoryMinMb > 0 ? Math.max(0, memoryMinMb - memoryMinMb * 0.1) : 0;
|
|
357
|
+
|
|
358
|
+
// Compute memory chart dynamic maximum Y as (max observed MB including peaks) + 5%
|
|
359
|
+
const memoryMaxMb = HISTORY_DATA.reduce(function (acc, entry) {
|
|
360
|
+
const values = [
|
|
361
|
+
entry.rss,
|
|
362
|
+
entry.heapTotal,
|
|
363
|
+
entry.heapUsed,
|
|
364
|
+
entry.peakRss,
|
|
365
|
+
entry.peakHeapTotal,
|
|
366
|
+
entry.peakHeapUsed
|
|
367
|
+
].map(bytesToMb);
|
|
368
|
+
const finiteValues = values.filter(function (v) { return Number.isFinite(v); });
|
|
369
|
+
const maxEntry = finiteValues.length ? Math.max.apply(Math, finiteValues) : acc;
|
|
370
|
+
return Math.max(acc, maxEntry);
|
|
371
|
+
}, 0);
|
|
372
|
+
const memoryMaxYAxis = Number.isFinite(memoryMaxMb) && memoryMaxMb > 0 ? memoryMaxMb * 1.05 : undefined;
|
|
343
373
|
|
|
344
374
|
renderCharts();
|
|
345
375
|
|
|
@@ -368,7 +398,7 @@ export function generateHistoryPage(options = {}) {
|
|
|
368
398
|
}
|
|
369
399
|
],
|
|
370
400
|
minY: 0,
|
|
371
|
-
maxY:
|
|
401
|
+
maxY: cpuMaxYAxis,
|
|
372
402
|
yFormatter: function (value) {
|
|
373
403
|
return value.toFixed(0) + ' %';
|
|
374
404
|
}
|
|
@@ -401,9 +431,9 @@ export function generateHistoryPage(options = {}) {
|
|
|
401
431
|
}
|
|
402
432
|
],
|
|
403
433
|
minY: 0,
|
|
404
|
-
maxY:
|
|
434
|
+
maxY: processCpuMaxYAxis,
|
|
405
435
|
yFormatter: function (value) {
|
|
406
|
-
return value.toFixed(0) + ' %';
|
|
436
|
+
return value.toFixed(useProcessCpuDecimals ? 1 : 0) + ' %';
|
|
407
437
|
}
|
|
408
438
|
});
|
|
409
439
|
|
|
@@ -427,7 +457,8 @@ export function generateHistoryPage(options = {}) {
|
|
|
427
457
|
color: '#f472b6'
|
|
428
458
|
}
|
|
429
459
|
],
|
|
430
|
-
minY:
|
|
460
|
+
minY: memoryMinYAxis,
|
|
461
|
+
maxY: memoryMaxYAxis,
|
|
431
462
|
yFormatter: function (value) {
|
|
432
463
|
return value.toFixed(0) + ' MB';
|
|
433
464
|
}
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "matterbridge",
|
|
3
|
-
"version": "3.3.1-dev-
|
|
3
|
+
"version": "3.3.1-dev-20251012-b3546f8",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "matterbridge",
|
|
9
|
-
"version": "3.3.1-dev-
|
|
9
|
+
"version": "3.3.1-dev-20251012-b3546f8",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@matter/main": "0.15.5",
|
package/package.json
CHANGED