Skip to content

Instantly share code, notes, and snippets.

@shaunxu
Created March 10, 2014 06:28
Show Gist options
  • Save shaunxu/9460382 to your computer and use it in GitHub Desktop.
Save shaunxu/9460382 to your computer and use it in GitHub Desktop.
Monitor CPU usage for a specific process
var usage = require('usage');
var log4js = require('log4js');
log4js.clearAppenders();
log4js.addAppender(log4js.appenders.console(log4js.layouts.basicLayout));
var pid = process.argv[2];
var logger = log4js.getLogger('CPU(' + pid + ')');
var interval = setInterval(function () {
usage.lookup(pid, { keepHistory: true }, function (error, result) {
if (error) {
if (error.errno == 34 && error.code == 'ENOENT') {
logger.info('Process ' + pid + ' terminated');
clearInterval(interval);
}
else {
logger.error('ERROR');
logger.error(JSON.stringify(error, null, 2));
}
}
else {
logger.info(result.cpu);
}
});
}, 500);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment