Linux process usage lookup with nodejs
JavaScript C++ C Python
Switch branches/tags
Pull request Compare This branch is 91 commits behind arunoda:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
lib
src
test
.gitignore
.travis.yml
LICENSE
README.md
binding.gyp
package.json

README.md

node-usage Build Status

process usage lookup with nodejs

  • Simple interface to lookup cpu and memory usage of any accessible process on the system.
  • Works on Linux, SmartOS and Solaris
  • Tested on Heroku and Nodejitsu

Example

Code

var usage = require('usage');

var pid = process.pid // you can use any valid PID instead
usage.lookup(pid, function(err, result) {
	
});

Result Object

{ 
	cpu: 10.6, //in percentage
	memory: 100065280 //in no of bytes
}

Average CPU usage vs Current CPU usage

This is only applicable for Linux

By default CPU Percentage provided is an average from the starting time of the process. It does not correctly reflect the current CPU usage. (this is also a problem with linux ps utility)

But If you call usage.lookup() continuously for a given pid, you can turn on keepHistory flag and you'll get the CPU usage since last time you track the usage. This reflects the current CPU usage.

see following example to enable keepHistory flag

var pid = process.pid;
var options = { keepHistory: true }
usage.lookup(pid, options, function(err, result) {
	
});

you can clear history cache too

usage.clearHistory(pid); //clear history for the given pid
usage.clearHistory(); //clean history for all pids

Motivation

  • Some of the NodeJS PAAS providers do not expose an interface to monitor CPU and Memory usage.
  • They asks us to go for somewhere else for that which I don't want to go (or simply I cannot go)
  • So node-usage was born to tackle on this.