A simple node module to access V8 inspector + some tools to export and read the data.
npm install inspector-api







Simple wrapper around "inspector" module.
Basically it adds :
- promises & async/await syntax
- S3 exporter
| Version | Supported | Tested |
|:-------------:|:-------------:|:--------------:|
| 20.x | yes | yes |
| 18.x | yes | yes |
| 16.x | yes | yes |
In order to have all features we recommend to use at least Node.js version 10 or higher.
``console`
$ npm install inspector-api --save
javascript
const Inspector = require('inspector-api')
const inspector = new Inspector()await inspector.profiler.enable()
await inspector.profiler.start()
// Invoke business logic under measurement here...
// some time later...
await inspector.profiler.stop()
`Memory sampling
`javascript
const Inspector = require('inspector-api')
const inspector = new Inspector()await inspector.heap.enable()
await inspector.heap.startSampling()
// Invoke business logic under measurement here...
// some time later...
await inspector.heap.stopSampling()
`Memory snapshot
`javascript
const Inspector = require('inspector-api')
const inspector = new Inspector()await inspector.heap.takeSnapshot()
`Code coverage
`javascript
const Inspector = require('inspector-api')
const inspector = new Inspector()await inspector.profiler.enable()
await inspector.profiler.startPreciseCoverage({ callCount: true, detailed: true })
const data = await inspector.profiler.takePreciseCoverage()
await inspector.profiler.stopPreciseCoverage()
`Use S3 exporter
`javascript
const Inspector = require('inspector-api')
const inspector = new Inspector({
storage: {
type: 's3',
bucket: 'testBucket',
dir: 'inspector'
}
})await inspector.profiler.enable()
await inspector.profiler.start()
// Invoke business logic under measurement here...
// some time later...
await inspector.profiler.stop()
`Warning: it seems that the new AWS SDK leads to unexpected error if you use the takeSnapshot method (you should use memory sampling)
$3
`javascript
new inspector([config])
`#### config.storage
| Option | description | Default value |
|:-------------:|:------------------------------------------:|:--------------:|
|
type | Storage type (raw, s3 or fs) | raw |
| bucket | S3 bucket's name | none |
| dir | Directory where to store the file | none |If you use fs, the generated data will be store on the disk in your default tmp directory.
You can display it in Node.js with the command
require('os').tmpdir()Test
`console
$ npm test
``Coverage report can be found in coverage/.