endpoint-monitor
Version:
Monitor for endpoint
31 lines (25 loc) • 867 B
text/typescript
const os = require('os');
const getMemoryUsage = (): number => {
return addObjectAllValues(process.memoryUsage());
};
const getMemoryUsagePercent = (): number => {
const totalMemory: number = os.totalmem();
return getMemoryUsage() / totalMemory;
};
const getFreeMemory = (): number => {
return os.freemem();
};
const getFreeMemoryPercent = (): number => {
const freeMemory = getFreeMemory();
const totalMemory: number = os.totalmem();
return freeMemory / totalMemory;
};
const addObjectAllValues = (obj: Object): number => {
let result: number = 0;
const values: any[] = Object.values(obj);
values.forEach((value) => {
if (typeof value === 'number') result += value;
});
return result;
};
export { getMemoryUsage, getMemoryUsagePercent, getFreeMemory, getFreeMemoryPercent };