npm install node-stats-lite --save
const nodeStats = require('node-stats-lite');
This module can be used in 2 ways -
1. As an Express.js middleware
app.get('/monitor', nodeStats);
This will simply create a new API endpoint /monitor
in your Express.js powered app. Then making a GET call to /monitor
url path will provide all the stats.
If you're not using Express.js or are not interested in using it as a middleware and want more control then you can simply call the function without any arguments to get all the stats. The function returns a Promise object.
// using traditional promises
getStats().then((stats) => console.log(stats));
// using async-await
const stats = await getStats();
The stats Object(Method 2) or the API response(Method 1) provides the following stats -
- Node.js version running
- Memory used by this Node service (in bytes)
- Memory used by this Node service realtive to System memory (%)
- CPU used by this Node service (%)
- Name of the Node file which is executed
- Uptime of this Node service (in seconds)
- pid of this Node process
Sample response -
{
"version": "v7.9.0",
"service_name": "app.js",
"cpu_usage": 1.4,
"memory_consumed": 201768960,
"memory_consumed_percent": 6.1,
"uptime": 68231.624,
"pid": 10790
}
- Node.js version >= 7.6.0
- Linux based system