Analyzer nodejs-off-cpu
Name
nodejs-off-cpu - Node JS-Land off-CPU Flame Graph
This analyzer profiles off-CPU time in JavaScript-land code execution within Node.js applications. It captures stack traces when JavaScript code is blocked or waiting, such as during asynchronous I/O operations, promise resolution, or event loop delays. The analyzer generates flame graphs with a blue color scheme that visualize time spent off-CPU across JavaScript function calls, helping identify blocking operations, inefficient async patterns, event loop starvation, and I/O bottlenecks that impact Node.js application responsiveness.
Resource Category
off-CPU.
Application Type & Technical Stack
- Node.js
Command Line Syntax
The analyzer can be invoked directly on the command-line via the orxray
utility from the openresty-xray-cli software package.
Alternatively, the analyzer can also be invoked manually or automatically on the web console UI of OpenResty XRay (like on the Advanced web page).
# PID is the target process PID.
orxray analyzer run nodejs-off-cpu -p PID
# trace a shell command directly
orxray analyzer run nodejs-off-cpu -c SHELL_CMD
# PGID is the process group ID or any process's PID within the target process
# group.
orxray analyzer run nodejs-off-cpu -p -PGID
# trace any processes started from the specified executable path.
orxray analyzer run nodejs-off-cpu --exe /path/to/exe/file
Tracing Multiple Processes
Supported.
Output Formats
- Flame Graphs
Author
The OpenResty Inc. Team.
Copyright
Copyright (C) by OpenResty Inc. All rights reserved.