Analyzer ngx-epoll-wait-timers

Name

ngx-epoll-wait-timers - Tracking the Nginx-Land Epoll Wait Timeout Values

This analyzer tracks the timeout parameter values passed to epoll_wait system calls in Nginx-based applications including OpenResty and Kong. It captures the distribution of timeout values configured during event loop iterations, generating histogram visualizations that reveal the event loop’s timing strategy. The analyzer helps understand how the application configures its event polling behavior and can identify unusual timeout patterns that may affect responsiveness or resource utilization.

Resource Category

CPU.

Application Type & Technical Stack

  • OpenResty
  • Nginx
  • Kong
  • APISIX

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 ngx-epoll-wait-timers -p PID

# trace a shell command directly
orxray analyzer run ngx-epoll-wait-timers -c SHELL_CMD

Tracing Multiple Processes

Not supported.

Output Formats

  • Histogram Bar Charts
  • Plain Texts

Output Example

[{
  "title": "Tracking the Nginx-Land Epoll Wait Routines",
  "subtitle": "999 Calls (min: 0 ms, avg: 45 ms, max: 100 ms)",
  "type": "dist-bar",
  "ver": 1,
  "series": {
    "data": {"0": 7, "1": 13, "2": 22, "4": 46, "8": 102, "16": 187, "32": 340, "64": 282, "128": 0, "256": 0},
    "name": "Calls",
    "categoryUnit": "ms",
    "categoryTitle": ""Timer of Nginx-Land Epoll Wait Routines"
  },
  "summary": {"min": 0, "max": 100, "avg": 45, "cnt": 999},
  "kind": "ngx-epoll-wait-timers"
}]

Author

The OpenResty Inc. Team.

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