n8n/packages/nodes-base/nodes/DebugHelper/functions.ts
Michael Auerswald 18f588444f
feat(DebugHelper Node): Fix and include in main app (#6406)
* improve node a bit

* fixing continueOnFail() ton contain error in json

* improve pairedItem

* fix random data returning object results

* fix nanoId length typo

* update pnpm-lock file

---------

Co-authored-by: Marcus <marcus@n8n.io>
2023-06-20 10:47:15 +02:00

31 lines
908 B
TypeScript

import { setFlagsFromString } from 'v8';
import { runInNewContext } from 'vm';
export const runGarbageCollector = () => {
try {
setFlagsFromString('--expose_gc');
const gc = runInNewContext('gc'); // nocommit
gc();
} catch (error) {
console.log(error);
}
};
export const generateGarbageMemory = (sizeInMB: number, onHeap = true) => {
const divider = onHeap ? 8 : 1;
const size = Math.max(1, Math.floor((sizeInMB * 1024 * 1024) / divider));
if (onHeap) {
// arrays are allocated on the heap
// size in this case is only an approximation...
const array = Array(size);
array.fill(0);
} else {
const array = new Uint8Array(size);
array.fill(0);
}
// const used = process.memoryUsage().heapUsed / 1024 / 1024;
// const external = process.memoryUsage().external / 1024 / 1024;
// console.log(`heap: ${used} MB / external: ${external} MB`);
return { ...process.memoryUsage() };
};