genet
A Node.js application profiling tool.
This is a simple Node.js profiling tool. Use it like this.
First add it to your project.
Installation
$ npm install genet -S
Usage
Then start profiling. Put this somewhere in your app. Probably
near the start.
const Genet = require('genet');
const profile = new Genet();
profile.start();
API
When requiring the genet
module, the module exports the Genet
object's
constructor function.
const Genet = require('genet');
var profile = new Genet();
new Genet(options)
Creates a new profiler. Several options are allowed.
options.profileName
{string} - The profile name provided to v8-profiler
.
Defaults to 'genet'
.options.outputFile
{string} - The output file name.
Defaults to ./prof-${Date.now()}.cpuprofile
.options.duration
{Number} - The number of milliseconds to run the profiler. Defaults to 5000.options.verbose
{boolean} - Determines how much log output you'll see. Defaults to false
.options.report
{boolean} - Whether or not to generate report output. Defaults to true
.options.flamegraph
{boolean} - Determines whether to generate a flamegraph .svg file.
Defaults to false
.options.filter
{RegExp|String} - An inclusive filter which determines what functions to
include in the reports based on comparison with the path and filename for a given function.
profile.start()
Begins profiling the application. The profiler will run until options.duration
milliseconds
have elapsed, and then generate reports.
profile.stop()
Stops profiling the application. If the profiler has already been stopped, this function
does nothing. If the profiler is still running, it cancels the timeout set by options.duration
and then stops the profiler. This function returns a promise that resolves when the
profiler has stopped.
Reporters
By default, genet
will generate a report to the console, and to a file. Using the
flamegraph
option, you can also generate a flamegraph as an .svg
file.
Console output will look something like this.
The flamegraph SVG might look something like this.
Contributing
Please read the contributing guide