mirror of
https://github.com/UiO-Gaming/infoscreen3.git
synced 2026-11-05 22:04:33 +01:00
30 lines
928 B
JavaScript
30 lines
928 B
JavaScript
import plugin from "../../modules/plugin.js";
|
|
import cli from "../../modules/cli.js";
|
|
import chalk from 'chalk';
|
|
|
|
let prevValue = 0;
|
|
let startValue = (process.memoryUsage().rss / 1048576).toFixed(1);
|
|
|
|
function tickHeapDump() {
|
|
setImmediate(function () {
|
|
let memMB = (process.memoryUsage().rss / 1048576).toFixed(1);
|
|
if (prevValue != memMB) {
|
|
let prefix = chalk.bold.red("▲");
|
|
if (memMB < prevValue) {
|
|
prefix = chalk.bold.green("▼");
|
|
}
|
|
cli.info("Memory: " + prefix + " " + (memMB - prevValue).toFixed(1) + 'Mb' + " start: " + startValue + "Mb now: " + memMB + "Mb (" + (memMB - startValue).toFixed(1) + "Mb)");
|
|
prevValue = memMB;
|
|
}
|
|
});
|
|
}
|
|
|
|
export default class profilerPlugin extends plugin {
|
|
onInit() {
|
|
tickHeapDump();
|
|
setInterval(() => {
|
|
tickHeapDump();
|
|
}, 5000);
|
|
}
|
|
}
|