Monitoring & Diagnostics – Tools


Node.js has become one of the most popular programming languages capable of running enterprise solutions. The following tools have been created to provide diagnostic information and help you in the day-to-day monitoring of your Node.js applications.


Application Metrics for Node.js

Monitoring with Application Metrics for Node.js

Application Metrics for Node.js in action, running on IBM Cloud.

  • Collects live Node.js metrics to display in a Web dashboard or for use with Health Center
Node Application Metrics is fully open source and is available on Github.

Health Center


Live garbage collection performance from ACME Air running on Node.js V6, visualised in Health Center.

  • Monitors the status of a running application to help you to:
    • Optimize application performance
    • Improve application stability and uptime
    • Reduce system resource usage
    • Reduce the time to resolve problems
    • Drive down development and maintenance costs

Node Report

node report

A diagnostic report for a Node.js application on IBM Cloud.

  • Generates a summary dump, written as a text file
  • Contains key information about the JavaScript application and the Node.js runtime:
    • JavaScript and C++ stacks
    • V8 heap statistics
    • Per-process and per-thread CPU usage
    • Environment variables and resource limits
  • Can be triggered on unhandled exceptions, fatal errors, signals, and by calling a JavaScript API
Node Report is a Node.js Foundation open source project, available on Github.

Garbage Collection and Memory Visualizer (GCMV)


Historic total application pause time due to garbage collection.

  • Visualize and analyse the memory usage and garbage collection activity of your application

LLDB (with the llnode plugin)


LLDB (with the llnode plugin) being used to examine source code for an HTTP request listener.

  • Analyses Node.js v4 – v6 core dumps by using the llnode plugin
LLDB is a high-performance debugger built on the LLVM and Clang open-source project.

  • Tracks end-user experiences throughout heterogeneous environments
  • Provides non-invasive user performance monitoring to help ensure compliance with service level agreements
  • Designed for easy deployment and can be extended to various applications running on mobile devices

  • Analyses and correlates response times, availability, alerts, and team activities such as code deployment
  • Monitors uptime and response time of your applications, as frequently as every minute, from several geographical locations
  • Runs tests to measure performance of web pages, API calls, and simulated user flows through scripted browser interactions
  • Provides screenshots of browser failures and historical performance statistics

IBM is also working actively with the Node.js Postmortem Diagnostics Working Group, to further improve diagnostics for Node.js.

Trademarks and affiliations

Node.js is an official trademark of Joyent. IBM SDK for Node.js is not formally related to or endorsed by the official Joyent Node.js open source or commercial project. Java, JavaScript and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates. Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Microsoft, Windows, Windows NT and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. Apple, Macintosh, and Mac OS are trademarks of Apple Inc., registered in the United States and other countries. Other company, product and service names may be trademarks or service marks of others.