/node-clinic

Clinic diagnoses your Node.js performance issues

Primary LanguageJavaScriptOtherNOASSERTION

banner

node-clinic

Greenkeeper badge

npm version build status build status downloads js-standard-style

Install

npm install -g clinic

Getting started

As a first step, run the clinic doctor:

clinic doctor -- node server.js

Then benchmark your server with wrk or autocannon:

wrk http://localhost:3000
autocannon http://localhost:3000

If you want to run autocannon or wrk as soon as your server starts listening you can use the --on-port option

# $PORT is the port the server is listening on
clinic doctor --on-port 'autocannon http://localhost:$PORT' -- node server.js

Finally shut down your server (Ctrl+C). Once the server process has shutdown clinic doctor will analyse the collected data and detect what type of issue you are having. Based on the issue type, it will provide a recommendation for you.

For example, to debug I/O issues, use clinic bubbleprof:

clinic bubbleprof -- node server.js

Then benchmark your server again, just like you did with clinic doctor.

Supported Node.js versions

Clinic relies heavily on Node.js core instrumentation available in later versions. Currently the supported Node.js versions are ^10.0.0 and ^8.9.4.

Examples and Demos

Report an issue

If you encounter any issue, feel free to send us an issue report at:

https://github.com/nearform/node-clinic/issues

When creating an issue, it will be a huge help for us if you upload your data to the clinic cloud. To do this, use clinic upload:

clinic upload 1000.clinic-doctor

and include the URL that it returns.

More information

For more information use the --help option:

clinic doctor --help
clinic bubbleprof --help
clinic flame --help
clinic upload --help

Flags

-h | --help                Display Help
-v | --version             Display Version

Programmable Interfaces

Each of the tools has a programmable interface which you can read about in their repos.

License

GPL 3.0