This page describes how to monitor Node.js processes. The AppDynamics Node.js Agent helps you monitor Node.js applications in production to determine which applications are slower than normal or producing errors. It also provides tools for troubleshooting application problems so that you can take action before your users experience poor performance.

To access the data, log in to the Controller from a Web browser using your AppDynamics credentials. You can also access the data programmatically using the AppDynamics REST API.

Process Snapshots

The node dashboard for Node.js is similar to the node dashboards for other app agents except that it also includes a Process Snapshots tab, which you use to access process snapshots for the Node.js process.

In a single-threaded model, such as Node.js, one slow function forces other functions to wait. You can monitor Node.js processes using lists of process snapshots to identify which functions have high CPU times and which consume a lot of memory. From the list, you can select and examine process snapshots to identify exactly which functions in your code are blocking the CPU or leaking memory.

A process snapshot describes an instance of a CPU process on an instrumented Node.js node. It generates a process-wide call graph for a CPU process over a configurable time range. Process snapshots are independent of any running business transactions.

You can monitor process snapshots at the tier level or the node level.

Customizations

The Node.js Agent collects several metrics that do not appear in standard dashboards. You can see all the metrics in the Metric Browser, including special metrics related to Node.js processes in Application Infrastructure Performance > Tier > Node.js.

You can create custom dashboards that display any of these metrics using a variety of widgets to create a visual display of information customized for specific types of users in your organization: executives, ops, developers, QA and so forth.

You can also create health rules that stipulate certain levels of acceptable performance and then create policies that automatically send an alert or take an automated action when those rules are violated.