https://github.com/yurks/devel-info
Collect dev-related data in node.js apps (environment, cluster, process, system, request...)
https://github.com/yurks/devel-info
development information node nodejs
Last synced: about 1 month ago
JSON representation
Collect dev-related data in node.js apps (environment, cluster, process, system, request...)
- Host: GitHub
- URL: https://github.com/yurks/devel-info
- Owner: yurks
- License: mit
- Created: 2017-03-16T23:51:09.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-03-21T15:05:12.000Z (over 9 years ago)
- Last Synced: 2025-08-09T04:36:00.771Z (11 months ago)
- Topics: development, information, node, nodejs
- Language: JavaScript
- Homepage:
- Size: 34.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# devel-info
Collect dev-related data in node.js apps (environment, cluster, process, system, request...) and show it in pretty format.
May be useful for overall application state overview in production environments.

## Installation
Use `npm` to install it to your app:
npm install --save devel-info
## Usage
### As node server or connect/express middleware
Run following script:
```js
var develInfo = require('devel-info');
// for node server
require('http')
.createServer(develInfo())
.listen(8011);
// or for connect middleware
require('connect')()
.use(develInfo())
.listen(8011);
```
and navigate to `http://127.0.0.1:8011/devel-info` after application starts.
Additional initialization should be applied on cluster setup to collect information about workers:
```js
var develInfo = require('devel-info');
var cluster = require('cluster');
develInfo.initCluster(cluster);
if (cluster.isMaster) {
// master init
} else {
// workers init
}
```
See [example](example/index.js) for working solution.
### As standalone function
```js
var develInfo = require('devel-info');
develInfo(function(err, data) {
if (!err) {
console.log(data);
}
});
```
## Options
develInfo([config], [callback], [clientRequest|])
1. `config` could be an object with following options:
* `url` — url for devel-info page (default: `'/devel-info'`).
* `type` — output format (default: `'html'` for using as middleware or `'json'` for using with callback)
* `sections` — info sections collected from node app environment (default: `['package', 'proc', (config.custom), 'request', 'request.parsed', 'request.headers', 'request.headers.cookie', 'os', 'process', 'process.env', 'os.networkInterfaces']`)
* `custom` — custom object with any data to show in devel-info page (default: `undefined`)
`config` could be `String` or `Array` and will be treated as `sections` option in this case. Also, `config` argument could be skipped — the defaults will be used.
2. `callback` is a function which called on info gathering finish. Use it if you want to control all this stuff manually ;)
3. `clientRequest` is a [node object](https://nodejs.org/api/http.html#http_class_http_clientrequest) which represents an in-progress request.
Used for collecting request-related information and make sense only when using `callback`.
## Demo
Run directly from your application root for quick demonstration:
node node_module/devel-info/example
## License
[MIT license](LICENSE)