Analyzer php-off-cpu

Name

php-off-cpu - PHP-Land off-CPU Flame Graph

This analyzer profiles blocking and waiting time in PHP applications by capturing stack traces during off-CPU periods when threads are not actively consuming CPU cycles. It tracks time spent in I/O operations, lock contention, and other blocking scenarios, generating flame graphs that visualize off-CPU time distribution across PHP-level function calls. The analyzer helps identify latency issues, diagnose blocking operations, and optimize application responsiveness by revealing where code spends time waiting rather than executing.

Resource Category

off-CPU.

Application Type & Technical Stack

  • PHP

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 php-off-cpu -p PID

# trace a shell command directly
orxray analyzer run php-off-cpu -c SHELL_CMD

# PGID is the process group ID or any process's PID within the target process
# group.
orxray analyzer run php-off-cpu -p -PGID

# trace any processes started from the specified executable path.
orxray analyzer run php-off-cpu --exe /path/to/exe/file

Tracing Multiple Processes

Supported.

Output Formats

  • Flame Graphs

Author

The OpenResty Inc. Team.

Copyright (C) by OpenResty Inc. All rights reserved.