AppDynamics Application Intelligence Platform

3.8.x Documentation



Release Notes

Skip to end of metadata
Go to start of metadata

One reason for slow load times is inefficient code that uses a lot of CPU time. In a single-threaded model, such as Node.js, one slow process forces other processes to wait.

You can monitor Node.js processes using lists of process snapshots to identify which processes have high CPU times. From the list you can select and examine process snapshots of slow processes to identify exactly which functions in your code are blocking the CPU.

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. Process snapshots persist for 14 days, unless you archive them in which case they are available forever.

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

Set Up Process Snapshot Collection

  1. Navigate to the dashboard for the tier or node for which you want to collect process snapshots.
  2. Click the Process Snapshots tab.
  3. Click Collect Process Snapshots.
  4. If you are in the tier dashboard, select the node for which you want to collect snapshots from the Node dropdown list. If you are in the node dashboard, you can only set up snapshot collection for that node.
  5. Enter how many seconds you want to collect process snapshots for this node. The maximum is 60 seconds.
  6. Click Start.

The agent collects process snapshots for the configured duration.

Process Snapshots List

To access the process snapshots list:

  1. Navigate to the dashboard for the tier or node for which you want to view process snapshots.
  2. Click the Process Snapshots tab.

For each process snapshot the list displays the time the process started, the process's execution time in milliseconds, and the tier and node in which the process executed.

Click the Exe Time column and then toggle the direction to sort the snapshots in descending order by execution time. The processes with the slowest CPU times will be at the top of the list. These are the snapshots you will want to examine.

To filter the process snapshots list

You can filter the process snapshot list to display only the snapshots that you are interested in. You can filter by execution time,  whether the snapshot is archived, and the GUID of the request. If you access the list from the tier dashboard, you can also filter by node.

More Actions Menu

Use the More Actions menu to select one or more process snapshots in the list and perform the following actions on them.

  • Archive Use this option to archive the selected process snapshots. Normally snapshots are purged after two weeks. You can archive a snapshot beyond the normal snapshot lifespan to retain it for future analysis. You can view archived snapshots by checking the Archived filter in the Filters panel.
  • Delete items Use this option to remove the snapshot from the list.
  • Copy a Link to this Snapshot to the clipboard Use this option to send a link to the snapshot to someone.
  • Export Grid Data Use this option to export the snapshot data to a file.

View Process Snapshots

From the process snapshots list, double-click the process snapshot that you want to view.

A process snapshot contain the following tabs:

  • SUMMARY: Displays the execution time of the process, timestamp of the snapshot, CPU time used, tier and node the process ran on, GUID of the request, etc..
    You can click the link icon to copy a link of the snapshot URL.
  • CALL GRAPH: Shows the execution time of methods on the process's call stack.
    In the Time column you can identify which calls take the longest time to execute.

    Click the  to see more information about a call.

The total processing time displayed for the root element in the call graph includes the CPU idle time.

  • HOT SPOTS: Sorts the calls by execution time, with the most expensive calls at the top.
    To see the invocation trace of a single call in the lower panel, select the call in the upper panel.
    Use the slider in the upper right corner to filter which calls to display as hot spots. For example, the following setting filters out all calls faster than 496 ms from the hot spots list.
  • ADDITIONAL DATA : Displays the unique id of the process.