If you can’t measure it, you can’t improve it
Here you will find some great resources to start with monitoring of Node.js applications. For a demo of a custom instrumentation using InfluxDB and Grafana you can check the example directory.
- What the heck is the event loop anyway? by Patrick
- Everything You Need to Know About Node.js Event Loop by Bert Belder
- Into the Loop by Jake Archivald
- Node's Event Loop From the Inside Out by Sam Roberts
- What you should know to really understand the Node.js Event Loop - Daniel Khan
- The Definitive Guide for Monitoring Node.js Applications - RisingStack's blog
- Node.js Performance Monitoring - Part 3: Debugging the Event Loop - NodeSource's blog
- Don't Block the Event Loop (or the Worker Pool) - nodejs.org's guides
- Overview of Blocking vs Non-Blocking - nodejs.org's guides
- The Node.js Event Loop, Timers, and process.nextTick() - nodejs.org's guides
- blocked: Check if a node event loop is blocked.
- under-pressure: Measure process load with automatic handling of "Service Unavailable" plugin for Fastify.
- overload-protection: Load detection and shedding capabilities for http, express, restify, and koa
- nodejs-dashboard: Telemetry dashboard for node.js apps from the terminal
- node-clinic: Clinic diagnoses your Node.js performance issues