profiling-nodejs
Listing requirements: OS independent, Opensource and free of commercial
π₯ Flamegraphs
- 0x - Single-command flamegraph profiling.
- flamebearer - Blazing fast flame graph tool for V8 and Node.
- ndb - ndb is an improved debugging experience for Node.js, enabled by Chrome DevTools
- node-clinic-flame - Programmable interface to clinic flame (Use 0x under the hood)
π Monitoring
- node-clinic - Dashboard to diagnose your Node.js performance issues
- node-clinic-bubbleprof - Programmable interface to
clinic bubbleprof
(async profiling) - node-clinic-doctor - Programmable interface to
clinic doctor
(memory, cpu, process stats) - node-trace-events-parser - Fast streaming parser for Node.js trace events
- ndb - ndb is an improved debugging experience for Node.js, enabled by Chrome DevTools
- Async hooks - API to register callbacks tracking the lifetime of asynchronous resources created inside a Node.js application
- swagger-stats - API Telemetry and APM - Trace API calls and Monitor API performance, health and usage statistics
- deoptigate - Visual interface to investigate in v8/Node.js function deoptimizations
π Benchmarking
- autocannon - Fast HTTP/1.1 benchmarking tool written in Node.js
- artillery - Modern, powerful, hackable backend & API testing toolkit. Load testing & functional testing.
- nanobench - Simple benchmarking tool with TAP-like output that is easy to parse
- fastbench - The simplest benchmark you can run on node
- branch-comparer - Checkout multiple git branches, execute scripts and log the results
- ndb - ndb is an improved debugging experience for Node.js, enabled by Chrome DevTools
- benchmark.js - A benchmarking library. As used on jsPerf.com
- perf hooks - The Performance Timing API provides an implementation of the W3C Performance Timeline specification
π§ Coverage
- c8 - Output coverage reports using Node.js' built in coverage
- nyc - The Istanbul command line interface
π» Tracing
- opentracing-javascript - OpenTracing API for Javascript (both Node and browser)
π Articles
- Introducing Clinic Bubbleprof - Introducing Clinic Bubbleprof, a Unique Way to Visualise Node.Js Code
- Introduction to libuv - An Introduction to libuv Release 2.0.0
- Learning v8 - Project for learning V8 internals
- Learning Node.js - Project for learning Node.js internals
- Optimizing prototypes - JavaScript engine fundamentals: optimizing prototypes
- Shapes and Inline Caches - JavaScript engine fundamentals: Shapes and Inline Caches
- Flame Graphs β Explanation of what are flame graphs and what types exist.
- Ready, Steady, Crash! A briefly introduction in artillery and load testing in general.
- v8-perf - Excellent resource to get a deep understanding how to write efficient code on v8.
Blog of V8 Javascript Engine
This is the official blog of the V8 JavaScript engine which report in regular intervals about improvements and insights.
Related lists
- awesome-nodejs - Delightful Node.js packages and resources
License
To the extent possible under law, Dustin Deus has waived all copyright and related or neighboring rights to this work.