Clinic.js Bubbleprof
Programmable interface to Clinic.js Bubbleprof. Learn more about Clinic.js: https://clinicjs.org/
Supported node versions
- Node.js 10.0.0 and above
- Node.js 9.4.0 and above
- Node.js 8.10.0 and above
Example
const ClinicBubbleprof = require('@nearform/bubbleprof')
const bubbleprof = new ClinicBubbleprof()
bubbleprof.collect(['node', './path-to-script.js'], function (err, filepath) {
if (err) throw err
bubbleprof.visualize(filepath, filepath + '.html', function (err) {
if (err) throw err
})
})
To get started with Clinic.js Bubbleprof you might want to take a look at the examples
repo.
Documentation
const ClinicBubbleprof = require('@nearform/bubbleprof')
const bubbleprof = new ClinicBubbleprof()
new ClinicBubbleprof([settings])
- settings
<Object>
- detectPort
<boolean>
Default: false - debug
<boolean>
If set to true, the generated html will not be minified.
Default: false - dest
<String>
The folder where the collected data is stored.
Default: '.'
bubbleprof.collect(args, callback)
Starts a process by using:
const { spawn } = require('child_process')
spawn(args[0], ['-r', 'sampler.js'].concat(args.slice(1)))
The injected sampler will produce a file in the current working directory, with
the process PID
in its filename. The filepath relative to the current working
directory will be the value in the callback.
stdout, stderr, and stdin will be relayed to the calling process. As will the
SIGINT
event.
bubbleprof.visualize(dataFilename, outputFilename, callback)
Will consume the data file specified by dataFilename
, this data file will be
produced by the sampler using bubbleprof.collect
.
bubbleprof.visualize
will then output a standalone HTML file to
outputFilename
. When completed the callback will be called with no extra
arguments, except a possible error.
License
MIT