@nearform/bubbleprof

Programmable interface to Clinic.js Bubbleprof

Stats

StarsIssuesVersionUpdatedCreatedSize
@nearform/bubbleprof
74197.0.04 months ago3 years agoMinified + gzip package size for @nearform/bubbleprof in KB

Readme

Clinic.js Bubbleprof

Greenkeeper badge npm version Stability Stable Github Actions build status Downloads Code style

Programmable interface to Clinic.js Bubbleprof. Learn more about Clinic.js: https://clinicjs.org/

Screenshot

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

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.