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.
$ npm install inspector-api --saveconst 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()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()const Inspector = require('inspector-api') const inspector = new Inspector() await inspector.heap.takeSnapshot()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()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)
new inspector([config])| 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()
$ npm testCoverage report can be found in coverage/.