UNPKG

@luvsharma1931/memory-profiler

Version:

Intelligent memory profiler for Node.js applications to provide memory leak and heap memory usage information

44 lines (35 loc) 1.17 kB
var FS = require("fs"); var memwatch = require('node-memwatch'); var logger = require("./logger") var dirSetup = require("./dirSetup"); var logFile1; var logFile2; var registerEvents = function() { logFile1.on('error', (err) => { logger.log(err) }); logFile2.on('error', (err) => { logger.log(err) }); } var startProfilerLogs = function() { logFile1 = FS.createWriteStream(`${dirSetup.logPath}/memoryLeak.txt`, { flags: 'as', autoClose: false }) logFile2 = FS.createWriteStream(`${dirSetup.logPath}/memoryStats.txt`, { flags: 'as', autoClose: false }) registerEvents() } var startProfiler = function() { logger.log("memory profiling started") memwatch.on('leak', function(info) { info.created = new Date().toISOString() logFile1.write(`${JSON.stringify(info)},\r\n`); }); memwatch.on('stats', function(stats) { stats.created = new Date().toISOString() logFile2.write(`${JSON.stringify(stats)},\r\n`); }); } dirSetup.createFolderStructure() logger.startLogging() startProfilerLogs() startProfiler() module.exports = memwatch