Determine in realtime what's happening inside your node process from the terminal. No need to instrument code to get the deets. Also splits stderr/stdout to help spot errors sooner.
The preferred method is global install but can optionally be placed locally as well.
% npm install -g nodejs-dashboard
There are a couple patterns for including nodejs-dashboard
in your code. This module isn't designed for production use and should be limited to development environments.
From within a dev.index.js
script or other dev entry point simply require the nodejs-dashboard
module.
// dev.index.js
require("nodejs-dashboard");
require("./index");
Next update your package.json
to launch the dashboard:
...
"scripts": {
"dev": "nodejs-dashboard node dev.index.js"
}
...
This method utilizes Node's -r
flag to introduce the nodejs-dashboard
module. In this setup no code modifications are required. This is functionally equivalent to the above example.
Update your package.json
with the new script:
...
"scripts": {
"dev": "nodejs-dashboard -- node -r nodejs-dashboard index.js"
}
...
If your app requires additional arguments you'll need to pass the --
flag to your script. For example:
...
"scripts": {
"dev": "nodejs-dashboard -- node -m=false --bar=true index.js"
}
...
Most CLI interfaces provide a mechanism for launching other tools. If you're looking to use something like nodemon or babel checkout the exec options provided by the CLI.
% nodemon --exec "nodejs-dashboard babel-node" src/index.js
Once you've completed these steps run the following in your terminal:
% npm run dev
Usage: nodejs-dashboard [options] -- [node] [script] [arguments]
Options:
-h, --help output usage information
-V, --version output the version number
-p, --port [port] Socket listener port
-e, --eventdelay [ms] Minimum threshold for event loop reporting, default 10ms
#####--port
Under the hood the dashboard utilizes SocketIO with a default port of 9838
. If this conflicts with an existing service you can optionally change this value.
#####--eventdelay
This tunes the minimum threshold for reporting event loop delays. The default value is 10ms
. Any delay below this value will be reported at 0
.
To gracefully exit and terminate the spawned process use one of: Ctrl + C
, Q
, or ESC
.