OpenResty XRay Standard Analyzers
OpenResty XRay provides standard analyzers for the following application types or stack stacks (the list is still growing fast).
All
OpenResty XRay provides the following tools for analyzing All applications:
CPU
c-on-cpu: C-Land CPU Flame Graphcpu-hogs: cpu hogs of the systemepoll-level-event-fgraph: Epoll Level Trigger Event Flame Graphepoll-loop-blocking-distr: Epoll Loop Blocking Latency Distributionepoll-wait-ret-distr: Return Value Distribution of epoll_waitepoll-wait-timers: Wait timers for epollepoll-wait-timers-fgraph: Wait timers flamegraph for epollfunc-call-rate: Function Call Rateimage-inspect: inspect image meta data by process IDkernel-on-cpu: Kernel-Land on-CPU Flame Graphpage-fault-by-pid: Page fault order by process IDpagefault-fgraph: Page Fault Flame Graphprocess-ctx-sw-stats: Process Context Switches Statisticssys-load-avg-by-app: System Load Average By Applicationsys-softirq-stats: System Softirq Statisticssysctl: Run sysctl -a to get all sysctl parameters
Disk I/O
bench-io-create-files: benchmark of creating and writing into the filesdiskstat: Virtual File System Read Write By Disk Namedisktop-by-proc: Virtual File System Read Write N Processfile-system-fgraph: File System Flame Graphvfs-read-fgraph: Virtual File System Read/Sendfile Flame Graphvfs-read-latency-fgraph: Virtual File System Read/Sendfile Latency Flame Graphvfs-read-latency-top-files: Virtual File System Read Latency Top N files (including sendfile)vfs-read-top-files: Virtual File System Read Top N files (including sendfile)vfs-read-volume-fgraph: Virtual File System Read/Sendfile Volume Flame Graphvfs-write-fgraph: Virtual File System Write Flame Graphvfs-write-latency-fgraph: Virtual File System Write Latency Flame Graphvfs-write-latency-top-files: Virtual File System Write Latency Top N filesvfs-write-top-files: Virtual File System Write Top N filesvfs-write-volume-fgraph: Virtual File System Write Volume Flame Graph
Latency
epoll-wait-overrun-time-distr: Epoll Wait Overrun Time Distributionfunc-latency-distr: Function Latency Distributionsocket-send-recv-latency-fgraph: Socket Send/Recv Message Latency Flame Graph
Memory
c-alloc-fgraph: C Memory Allocation Flame Graphc-count-alloc-free: C Application-Level Memory API Callsc-memory: C Application-Level Memory Usage Breakdownc-memory-leak-fgraph: C-Land Memory Leak Flame Graphskmalloc-leak-fgraph: kmalloc leakage Flame Graphlibc-chunks: Distributions of Memory Chunk Sizes of the Memory Allocatorlibc-dump-mem: Dump the used memory allocated by malloc and related functionslibc-mallinfo: Information about memory allocations performed by malloc and related functionsmmap-leaks: Mmap Leak Backtrace Sampling Tools for Leak Flame Graphsprocess-memory: Virtual Memory Usage Breakdowntcmalloc-bin-distr: Distribution of Memory Usage across tcmalloc Size Classes and Page Heapthread-stack-loaded: Loaded stack memory used by all the threads
Miscellaneous
gen-core-dump: Generate the core dump file via gcore and optionally bundle it with related ELF filesgeneric-core-dump-analysis: Generic Core Dump Analysisget-dlopen-libs: Get libraries loaded by dlopenproc-reap: Reap the snapshot processproc-snap: Create a snapshot of the process (only for expert)signal-watcher: Sent or Received signalssyscall-execve: fork and execute commandssyscall-write-stat: Statistic of errno for write/writev/send syscall
Network I/O
kernel-dropwatch: Packet Drop Flame Graphsocket-leak-fgraph: Socket Leakage Flame Graphsocket-send-recv-message: Socket Send/Recv Message Flame Graphsocket-send-recv-volume-fgraph: Socket Send/Recv Message Volume Flame Graphsys-nf-conntrack: current config of nf-conntrack and its recommend valuetcp-reset-fgraph: TCP Reset Flame Graph
off-CPU
c-off-cpu: C-Land off-CPU Flame Graph
APISIX
OpenResty XRay provides the following tools for analyzing APISIX applications:
CPU
lj-add-timer-lua-fgraph: ngx.timer Add Timer Flamegraphlj-c-on-cpu: C-Land CPU Flame Graph for LuaJITlj-dump-traces: Dump LuaJIT Traceslj-excep-lua-fgraph: Lua Exception Flame Graphlj-func-events: Trace LuaJIT function call entry eventslj-gc-step-calls: Number of LuaJIT GC function calls per secondlj-jit-state: Check The LuaJIT JIT State: on/offlj-live-coroutines: dump the bts of the living Lua coroutineslj-lua-full-bt: Dump Lua Full Backtrace including the variables in the stacklj-lua-newcdata: Lua-Land New CData Creation Flame Graph Sampling Tool for LuaJIT Applications.lj-lua-newfunc: Lua-Land New Function Creation Flame Graph sampling Tool for LuaJIT Applications.lj-lua-newgco: LuaJIT GC Object Allocation Flame Graphlj-lua-newstr: LuaJIT String Objects Allocation Flame Graphlj-lua-newtab: LuaJIT Table Objects Allocation Flame Graphlj-lua-newthread: LuaJIT Thread Objects Allocation Flame Graphlj-lua-on-cpu: Lua-Land CPU Flame Graphlj-lua-tab-resize: LuaJIT Table resize Flame Graphlj-no-pcre-jit-lua-fgraph: Lua Land Flame Graph for function path that PCRE jit is disabledlj-slowest-ngx-re: Slowest find/match/split Regular Expression of ngx.relj-slowest-str-gmatch: Slowest Lua string.gmatchlj-slowest-str-gsub: Slowest String Global Substitution For Lua’s string.gsublj-slowest-str-match-find: Slowest String Match/Findlj-str-find-no-plain-fgraph: Lua string.find Searching Plain String Without Plain Mode Setlj-trace-abort-events-fgraph: Lua Land Trace Abort Events Flame Graphlj-trace-stats: LuaJIT VM Trace Event Statisticslj-vm-states: LuaJIT VM States Distributionngx-access-log-buffer-size: Nginx Access Log Buffer Size Configurationngx-brotli-compression-level: Nginx Brotli Compression Level Statisticsngx-brotli-compression-types: Nginx Brotli Compression Types Statisticsngx-cpu-hottest-hosts: Showing the top 10 hostnames consuming the most CPU resourcesngx-cpu-hottest-uris: Showing the top 10 URIs order by request countngx-epoll-event-stats: Statistics of Epoll Events Receivedngx-epoll-wait-timers: Tracking the Nginx-Land Epoll Wait Timeout Valuesngx-gzip-compression-level: Nginx GZIP Compression Level Statisticsngx-gzip-compression-types: Nginx GZIP Compression Types Statisticsngx-lua-code-cache: Nginx Lua Code Cache Requestsngx-open-file-cache-conf: Nginx Open File Cache Configurationngx-pcre-compile-lua-fgraph: Openresty New PCRE Compilation Lua Land Flame Graphngx-shdict-hit-rate: Nginx Shared Dict Hit Ratengx-slowest-config-re: Slowest Regular Expression in Nginx Rewrite or Find Configngx-stats: Nginx Statistics from nginx_statusngx-timer-delay-distr: Timeout Value Distribution of Nginx Timerngx-zstd-compression-level: Nginx ZStandard Compression Level Statisticsngx-zstd-compression-types: Nginx ZStandard Compression Types Statisticsopenresty-compiled-regex-cache: OpenResty Compiled Regex Cache Statisticsopenresty-cosocket-handshake: Cosocket SSL Handshake Flame Graphopenresty-new-timer-fgraph: Openresty New Timer Flamegraphopenresty-running-timers-fgraph: Openresty Running Timer Flamegraph
Disk I/O
lj-read-fgraph: Lua-Land Virtual File System Read/Sendfile Flame Graphlj-read-latency-fgraph: Lua-Land Virtual File System Read/Sendfile Latency Flame Graphlj-read-volume-fgraph: Lua-Land Virtual File System Read/Sendfile Volume Flame Graphlj-write-fgraph: Lua-Land Virtual File System Write Flame Graphlj-write-latency-fgraph: Lua-Land Virtual File System Write Latency Flame Graphlj-write-volume-fgraph: Lua-Land Virtual File System Write Volume Flame Graph
Error
lj-lua-ngx-print-error: ngx.print and ngx.say error Flame Graph
Latency
ngx-err-log-files: Nginx Error Log Filesngx-http-access-time: Nginx HTTP Access Phase Latencyngx-http-rewrite-time: Nginx HTTP Rewrite Phase Latencyngx-http-upstream-time: Nginx HTTP Upstream Latencyngx-https-handshake-time: Nginx HTTPs handshake - uselessngx-read-req-body-time: Nginx Request Body Reading Time Distributionngx-req-latency: Nginx Request Latencyngx-req-latency-advance: Nginx Request Latency with Lua Profilingngx-req-latency-distr: HTTP Request Latency Distributionngx-req-lj-yield-count: Nginx Request LuaJIT Yield Times Flame Graphngx-req-lj-yield-latency: Nginx Request LuaJIT Yield Latency Flame Graphngx-req-lj-yield-time: Nginx Request LuaJIT Yield Latencyngx-tls-handshake-latency: Nginx SSL/TLS handshake Latencyopenresty-coro-timeout-packets: Nginx Request Latencysema-wait-fgraph: Semaphore wait Calls
Memory
lj-alloc-stats: Statistics for LuaJIT’s builtin Allocator (Directly allocated memory blocks larger than 128K will not be counted)lj-c-memory-leak-fgraph: Lua-Land Memory Leak Flame Graphslj-dump-cdata-fin: Dump LuaJIT CDATA finalizerlj-dump-loaded-mods: Showing the loaded modules of the LuaJIT VMlj-err-mem: Luajit Memory Exceptionlj-free-stats: Statistics of free chunks for LuaJIT’s builtin Allocatorlj-gco-cdata-fin: CData Object Statistics by Finalizerlj-gco-cdata-stats: CData Object Statistics by CData Typelj-gco-ref: GC Object Reference Flame Graphlj-gco-stat: Statistics for LuaJIT GC Objectslj-lua-newgco-size: LuaJIT GC Object Allocation Size Flame Graphlj-mem-realloc-distr: Lua Memory Realloc Size Distributionlj-mem-realloc-fgraph: Lua Memory Realloc Size Flamegraphslj-tab-chain-loops: Find loops in LuaJIT table node chains.lj-tab-unreachable-node: Find unreachable nodes in the lua tables.ngx-loaded-modules: Nginx Loaded Modulesngx-mem-pools: Nginx Memory Pool Statisticsngx-shdict-stores: Nginx Shdict Stores Statisticsngx-shm-lru: Nginx Share Memory LRU Statisticsngx-shm-slabs: Slab Memory Usage in Nginx Shared Memoryngx-shm-tree-height: Compute the RBTree Height of Nginx Shared Memory Zones.resty-memory: Application-Level Memory Usage Breakdown
Miscellaneous
collect-luajit-ffnames: Collect LuaJIT ffnameslj-gc-state: LuaJIT GC configuration and runtime statelj-lua-new-timer-errors: Nginx Lua Tracks Timer Creation Errorsngx-config: Configurations for Nginxngx-config-servers: Dump The Name of The Http Serversngx-dump-timers: Dump nginx timers in the rbtreengx-graceful-exits: Nginx Graceful Exit Eventngx-lua-sleep: Nginx Lua Sleep Calls Distributionngx-lua-sleep-fgraph: Nginx Lua Sleep Flame Graphngx-worker-id: Nginx Worker IDopenresty-core-dump-analysis: OpenResty Core Dump Analysis
Network I/O
lj-lua-ngx-exit-fgraph: Lua-Land Nginx Request Status Code Flame Graphlj-lua-socket-close-fgraph: Lua-Land close socket Flame Graphngx-downstream-keepalive-stats: HTTP Downstream Request Connection Keepalive Statisticsngx-downstream-ssl-session-reused: Nginx Downstream SSL/TLS Session Reused Statisticsngx-dump-cur-req: Dump Nginx Requestngx-dump-dns: Dump Nginx DNS configuration and domain cachesngx-dump-req: Dump Nginx Requestngx-keepalive-statistics: Request/Upstream Connection Keep-alive Statisticsngx-proxy-cache-status: Proxy Cache Status Distributionngx-read-req-body-packets: Capture the packets of the HTTP request that the read body time is greater than the thresholdngx-req-count: Count Nginx Subrequests and Main Requestsngx-req-counts-by-hosts: Showing the top 10 hostnames order by request countsngx-req-distribution: Nginx Traffic Distribution By Calls of Finalize Requestngx-req-err-packets: IP Packets of Specified HTTP Errorsngx-req-size-by-hosts: Showing the top 10 hostnames order by request sizengx-req-status-code: Request Status Code Per Secondngx-rps: Nginx RPS Statisticsngx-ssl-server-conf: Sample the Server Configurations by Requestsngx-ssl-session-ticket-key: Nginx SSL Session Ticket Key Configurationngx-status-code-fgraph: Nginx Request Status Code Flame Graphngx-tls-handshake-info: SSL/TLS Session handshake information Statisticsngx-tls-session-resumption: Downstream SSL/TLS Session Resumption Statisticsngx-top-latency-reqs: IP packets of top latency HTTP requestsngx-upstream-err-packets: Capture the upstream packets that have specific error codengx-upstream-no-keepalive: capture the packets that have no HTTP upstream ‘keepalive’ configurationngx-upstream-ssl-session-reused: Upstream SSL/TLS Session Reused Statisticsopenresty-cosocket-connect: OpenResty Cosocket Connect Operation Flame Graphopenresty-cosocket-err-fgraph: OpenResty Cosocket Error Flame Graphopenresty-cosocket-err-packets: IP Packets of OpenResty Cosocket Which has Errorsopenresty-cosocket-no-keepalive: OpenResty Cosocket Without Keepalive Flame Graphopenresty-cosocket-pool: OpenResty Cosocket Pool Statisticsopenresty-cosocket-timeout: OpenResty Cosocket Timeout Distributionopenresty-lua-phase-cpu-time: OpenResty Lua Phase CPU time statisticsopenresty-lua-phase-wall-time: OpenResty Lua Phase wall time statisticssocket-close-fgraph: close socket Flame Graph
off-CPU
lj-c-off-cpu: C-Land off-CPU Flame Graph for LuaJITlj-lua-off-cpu: Lua-Land off-CPU Flame Graphngx-err-log-lvl-distr: Nginx Error Log Level Distribution
C/C++
OpenResty XRay provides the following tools for analyzing C/C++ applications:
CPU
c-on-cpu: C-Land CPU Flame Graph
Dlang
OpenResty XRay provides the following tools for analyzing Dlang applications:
Memory
d-newgco: D GC Object Allocation Flame Graphd-newgco-size: D GC Object Allocation Size Flame Graph
Envoy
OpenResty XRay provides the following tools for analyzing Envoy applications:
CPU
c-on-cpu: C-Land CPU Flame Graphenvoy-lua-on-cpu: Envoy Lua-Land on-CPU Flame Graph
off-CPU
c-off-cpu: C-Land off-CPU Flame Graphenvoy-lua-off-cpu: Envoy Lua-Land off-CPU Flame Graph
Erlang
OpenResty XRay provides the following tools for analyzing Erlang applications:
CPU
erl-on-cpu: Erlang-Land on-CPU Flame Graph
off-CPU
erl-off-cpu: Erlang-Land off-CPU Flame Graph
Go
OpenResty XRay provides the following tools for analyzing Go applications:
CPU
go-alloc-fgraph: Go Memory Allocation Flame Graphgo-excep-fgraph: Go-Land Exception Flame Graphgo-live-goroutines: dump the stacks of the living goroutinesgo-on-cpu: Go-Land on-CPU Flame Graph
Latency
go-net-http-req-latency: Go net/http Request Latency
Memory
go-gco-ref: Go-Land GC Object Reference Flame Graphgo-memory: Go-Land Memory Breakdown
Miscellaneous
go-core-dump-analysis: Go Application Core Dump Analysis
Network I/O
krakend-req-canceled: Krakend actively canceled requests
off-CPU
go-off-cpu: Go-Land off-CPU Flame Graph
Java
OpenResty XRay provides the following tools for analyzing Java applications:
CPU
java-find-method-entry: Find Java method entriesjava-ftrace: Trace Java function call entry eventsjava-on-cpu: Java-Land on-CPU Flame Graphpre-java-ftrace: Preliminary Analyzer for tracing Java function call entry events
Disk I/O
java-read-fgraph: Java-Land Virtual File System Read/Sendfile Flame Graphjava-read-latency-fgraph: Java-Land Virtual File System Read/Sendfile Latency Flame Graphjava-read-volume-fgraph: Java-Land Virtual File System Read/Sendfile Volume Flame Graphjava-write-fgraph: Java-Land Virtual File System Write Flame Graphjava-write-latency-fgraph: Java-Land Virtual File System Write Latency Flame Graphjava-write-volume-fgraph: Java-Land Virtual File System Write Volume Flame Graph
Memory
java-gco-ref: Java-Land GC Object Reference Flame Graphjava-newgco: Java GC Object Allocation Flame Graphjava-newgco-size: Java GC Object Allocation Size Flame Graph
Network I/O
java-kafka-req-latency: Java Kafka Request Latencyjava-tomcat-req-latency: Java Tomcat Request Latencyjava-tomcat-top-latency-reqs: IP packets of top latency HTTP requestspre-java-kafka-req-latency: Preliminary Analyzer for Java Kafka Request Latencypre-java-tomcat-req-latency: Preliminary Analyzer for Java Tomcat Request Latency
off-CPU
java-off-cpu: Java-Land off-CPU Flame Graph
Kong
OpenResty XRay provides the following tools for analyzing Kong applications:
CPU
lj-add-timer-lua-fgraph: ngx.timer Add Timer Flamegraphlj-c-on-cpu: C-Land CPU Flame Graph for LuaJITlj-dump-traces: Dump LuaJIT Traceslj-excep-lua-fgraph: Lua Exception Flame Graphlj-func-events: Trace LuaJIT function call entry eventslj-gc-step-calls: Number of LuaJIT GC function calls per secondlj-jit-state: Check The LuaJIT JIT State: on/offlj-live-coroutines: dump the bts of the living Lua coroutineslj-lua-full-bt: Dump Lua Full Backtrace including the variables in the stacklj-lua-newcdata: Lua-Land New CData Creation Flame Graph Sampling Tool for LuaJIT Applications.lj-lua-newfunc: Lua-Land New Function Creation Flame Graph sampling Tool for LuaJIT Applications.lj-lua-newgco: LuaJIT GC Object Allocation Flame Graphlj-lua-newstr: LuaJIT String Objects Allocation Flame Graphlj-lua-newtab: LuaJIT Table Objects Allocation Flame Graphlj-lua-newthread: LuaJIT Thread Objects Allocation Flame Graphlj-lua-on-cpu: Lua-Land CPU Flame Graphlj-lua-tab-resize: LuaJIT Table resize Flame Graphlj-no-pcre-jit-lua-fgraph: Lua Land Flame Graph for function path that PCRE jit is disabledlj-slowest-ngx-re: Slowest find/match/split Regular Expression of ngx.relj-slowest-str-gmatch: Slowest Lua string.gmatchlj-slowest-str-gsub: Slowest String Global Substitution For Lua’s string.gsublj-slowest-str-match-find: Slowest String Match/Findlj-str-find-no-plain-fgraph: Lua string.find Searching Plain String Without Plain Mode Setlj-trace-abort-events-fgraph: Lua Land Trace Abort Events Flame Graphlj-trace-stats: LuaJIT VM Trace Event Statisticslj-vm-states: LuaJIT VM States Distributionngx-access-log-buffer-size: Nginx Access Log Buffer Size Configurationngx-brotli-compression-level: Nginx Brotli Compression Level Statisticsngx-brotli-compression-types: Nginx Brotli Compression Types Statisticsngx-cpu-hottest-hosts: Showing the top 10 hostnames consuming the most CPU resourcesngx-cpu-hottest-uris: Showing the top 10 URIs order by request countngx-epoll-event-stats: Statistics of Epoll Events Receivedngx-epoll-wait-timers: Tracking the Nginx-Land Epoll Wait Timeout Valuesngx-gzip-compression-level: Nginx GZIP Compression Level Statisticsngx-gzip-compression-types: Nginx GZIP Compression Types Statisticsngx-lua-code-cache: Nginx Lua Code Cache Requestsngx-open-file-cache-conf: Nginx Open File Cache Configurationngx-pcre-compile-lua-fgraph: Openresty New PCRE Compilation Lua Land Flame Graphngx-shdict-hit-rate: Nginx Shared Dict Hit Ratengx-slowest-config-re: Slowest Regular Expression in Nginx Rewrite or Find Configngx-stats: Nginx Statistics from nginx_statusngx-timer-delay-distr: Timeout Value Distribution of Nginx Timerngx-zstd-compression-level: Nginx ZStandard Compression Level Statisticsngx-zstd-compression-types: Nginx ZStandard Compression Types Statisticsopenresty-compiled-regex-cache: OpenResty Compiled Regex Cache Statisticsopenresty-cosocket-handshake: Cosocket SSL Handshake Flame Graphopenresty-new-timer-fgraph: Openresty New Timer Flamegraphopenresty-running-timers-fgraph: Openresty Running Timer Flamegraph
Disk I/O
lj-read-fgraph: Lua-Land Virtual File System Read/Sendfile Flame Graphlj-read-latency-fgraph: Lua-Land Virtual File System Read/Sendfile Latency Flame Graphlj-read-volume-fgraph: Lua-Land Virtual File System Read/Sendfile Volume Flame Graphlj-write-fgraph: Lua-Land Virtual File System Write Flame Graphlj-write-latency-fgraph: Lua-Land Virtual File System Write Latency Flame Graphlj-write-volume-fgraph: Lua-Land Virtual File System Write Volume Flame Graph
Error
lj-lua-ngx-print-error: ngx.print and ngx.say error Flame Graph
Latency
ngx-err-log-files: Nginx Error Log Filesngx-http-access-time: Nginx HTTP Access Phase Latencyngx-http-rewrite-time: Nginx HTTP Rewrite Phase Latencyngx-http-upstream-time: Nginx HTTP Upstream Latencyngx-https-handshake-time: Nginx HTTPs handshake - uselessngx-read-req-body-time: Nginx Request Body Reading Time Distributionngx-req-latency: Nginx Request Latencyngx-req-latency-advance: Nginx Request Latency with Lua Profilingngx-req-latency-distr: HTTP Request Latency Distributionngx-req-lj-yield-count: Nginx Request LuaJIT Yield Times Flame Graphngx-req-lj-yield-latency: Nginx Request LuaJIT Yield Latency Flame Graphngx-req-lj-yield-time: Nginx Request LuaJIT Yield Latencyngx-tls-handshake-latency: Nginx SSL/TLS handshake Latencyopenresty-coro-timeout-packets: Nginx Request Latencysema-wait-fgraph: Semaphore wait Calls
Memory
lj-alloc-stats: Statistics for LuaJIT’s builtin Allocator (Directly allocated memory blocks larger than 128K will not be counted)lj-c-memory-leak-fgraph: Lua-Land Memory Leak Flame Graphslj-dump-cdata-fin: Dump LuaJIT CDATA finalizerlj-dump-loaded-mods: Showing the loaded modules of the LuaJIT VMlj-err-mem: Luajit Memory Exceptionlj-free-stats: Statistics of free chunks for LuaJIT’s builtin Allocatorlj-gco-cdata-fin: CData Object Statistics by Finalizerlj-gco-cdata-stats: CData Object Statistics by CData Typelj-gco-ref: GC Object Reference Flame Graphlj-gco-stat: Statistics for LuaJIT GC Objectslj-lua-newgco-size: LuaJIT GC Object Allocation Size Flame Graphlj-mem-realloc-distr: Lua Memory Realloc Size Distributionlj-mem-realloc-fgraph: Lua Memory Realloc Size Flamegraphslj-tab-chain-loops: Find loops in LuaJIT table node chains.lj-tab-unreachable-node: Find unreachable nodes in the lua tables.ngx-loaded-modules: Nginx Loaded Modulesngx-mem-pools: Nginx Memory Pool Statisticsngx-shdict-stores: Nginx Shdict Stores Statisticsngx-shm-lru: Nginx Share Memory LRU Statisticsngx-shm-slabs: Slab Memory Usage in Nginx Shared Memoryngx-shm-tree-height: Compute the RBTree Height of Nginx Shared Memory Zones.resty-memory: Application-Level Memory Usage Breakdown
Miscellaneous
collect-luajit-ffnames: Collect LuaJIT ffnameslj-gc-state: LuaJIT GC configuration and runtime statelj-lua-new-timer-errors: Nginx Lua Tracks Timer Creation Errorsngx-config: Configurations for Nginxngx-config-servers: Dump The Name of The Http Serversngx-dump-timers: Dump nginx timers in the rbtreengx-graceful-exits: Nginx Graceful Exit Eventngx-lua-sleep: Nginx Lua Sleep Calls Distributionngx-lua-sleep-fgraph: Nginx Lua Sleep Flame Graphngx-worker-id: Nginx Worker IDopenresty-core-dump-analysis: OpenResty Core Dump Analysis
Network I/O
lj-lua-ngx-exit-fgraph: Lua-Land Nginx Request Status Code Flame Graphlj-lua-socket-close-fgraph: Lua-Land close socket Flame Graphngx-downstream-keepalive-stats: HTTP Downstream Request Connection Keepalive Statisticsngx-downstream-ssl-session-reused: Nginx Downstream SSL/TLS Session Reused Statisticsngx-dump-cur-req: Dump Nginx Requestngx-dump-dns: Dump Nginx DNS configuration and domain cachesngx-dump-req: Dump Nginx Requestngx-keepalive-statistics: Request/Upstream Connection Keep-alive Statisticsngx-proxy-cache-status: Proxy Cache Status Distributionngx-read-req-body-packets: Capture the packets of the HTTP request that the read body time is greater than the thresholdngx-req-count: Count Nginx Subrequests and Main Requestsngx-req-counts-by-hosts: Showing the top 10 hostnames order by request countsngx-req-distribution: Nginx Traffic Distribution By Calls of Finalize Requestngx-req-err-packets: IP Packets of Specified HTTP Errorsngx-req-size-by-hosts: Showing the top 10 hostnames order by request sizengx-req-status-code: Request Status Code Per Secondngx-rps: Nginx RPS Statisticsngx-ssl-server-conf: Sample the Server Configurations by Requestsngx-ssl-session-ticket-key: Nginx SSL Session Ticket Key Configurationngx-status-code-fgraph: Nginx Request Status Code Flame Graphngx-tls-handshake-info: SSL/TLS Session handshake information Statisticsngx-tls-session-resumption: Downstream SSL/TLS Session Resumption Statisticsngx-top-latency-reqs: IP packets of top latency HTTP requestsngx-upstream-err-packets: Capture the upstream packets that have specific error codengx-upstream-no-keepalive: capture the packets that have no HTTP upstream ‘keepalive’ configurationngx-upstream-ssl-session-reused: Upstream SSL/TLS Session Reused Statisticsopenresty-cosocket-connect: OpenResty Cosocket Connect Operation Flame Graphopenresty-cosocket-err-fgraph: OpenResty Cosocket Error Flame Graphopenresty-cosocket-err-packets: IP Packets of OpenResty Cosocket Which has Errorsopenresty-cosocket-no-keepalive: OpenResty Cosocket Without Keepalive Flame Graphopenresty-cosocket-pool: OpenResty Cosocket Pool Statisticsopenresty-cosocket-timeout: OpenResty Cosocket Timeout Distributionopenresty-lua-phase-cpu-time: OpenResty Lua Phase CPU time statisticsopenresty-lua-phase-wall-time: OpenResty Lua Phase wall time statisticssocket-close-fgraph: close socket Flame Graph
off-CPU
lj-c-off-cpu: C-Land off-CPU Flame Graph for LuaJITlj-lua-off-cpu: Lua-Land off-CPU Flame Graphngx-err-log-lvl-distr: Nginx Error Log Level Distribution
Lua
OpenResty XRay provides the following tools for analyzing Lua applications:
CPU
lua-excep-fgraph: Lua-Land Exception Flame Graph for standard Lualua-on-cpu: Lua-Land CPU Flame Graph for standard Lua
Memory
lua-gco-ref: GC Object Reference Flame Graph for Stand Lua
off-CPU
lua-off-cpu: Lua-Land off-CPU Flame Graph for standard Lua
Nginx
OpenResty XRay provides the following tools for analyzing Nginx applications:
CPU
ngx-access-log-buffer-size: Nginx Access Log Buffer Size Configurationngx-brotli-compression-level: Nginx Brotli Compression Level Statisticsngx-brotli-compression-types: Nginx Brotli Compression Types Statisticsngx-epoll-event-stats: Statistics of Epoll Events Receivedngx-epoll-wait-timers: Tracking the Nginx-Land Epoll Wait Timeout Valuesngx-gzip-compression-level: Nginx GZIP Compression Level Statisticsngx-gzip-compression-types: Nginx GZIP Compression Types Statisticsngx-open-file-cache-conf: Nginx Open File Cache Configurationngx-slowest-config-re: Slowest Regular Expression in Nginx Rewrite or Find Configngx-zstd-compression-level: Nginx ZStandard Compression Level Statisticsngx-zstd-compression-types: Nginx ZStandard Compression Types Statistics
Latency
ngx-err-log-files: Nginx Error Log Filesngx-https-handshake-time: Nginx HTTPs handshake - uselessngx-req-latency: Nginx Request Latencyngx-req-latency-advance: Nginx Request Latency with Lua Profilingngx-req-latency-distr: HTTP Request Latency Distribution
Memory
ngx-mem-pools: Nginx Memory Pool Statisticsngx-shm-slabs: Slab Memory Usage in Nginx Shared Memory
Miscellaneous
ngx-config: Configurations for Nginxngx-dump-timers: Dump nginx timers in the rbtreengx-graceful-exits: Nginx Graceful Exit Eventngx-worker-id: Nginx Worker ID
Network I/O
ngx-dump-all-reqs: Dump all Nginx HTTP Requestsngx-read-req-body-packets: Capture the packets of the HTTP request that the read body time is greater than the thresholdngx-req-distribution: Nginx Traffic Distribution By Calls of Finalize Requestngx-req-err-packets: IP Packets of Specified HTTP Errorsngx-ssl-session-ticket-key: Nginx SSL Session Ticket Key Configurationngx-status-code-fgraph: Nginx Request Status Code Flame Graphngx-top-latency-reqs: IP packets of top latency HTTP requestsngx-upstream-err-packets: Capture the upstream packets that have specific error codengx-upstream-no-keepalive: capture the packets that have no HTTP upstream ‘keepalive’ configuration
off-CPU
ngx-err-log-lvl-distr: Nginx Error Log Level Distribution
Node.js
OpenResty XRay provides the following tools for analyzing Node.js applications:
CPU
nodejs-ftrace: Trace Node.js function call entry eventsnodejs-on-cpu: Node JS-Land on-CPU Flame Graphpre-nodejs-ftrace: Preliminary Analyzer for tracing Node.js function call entry events
off-CPU
nodejs-off-cpu: Node JS-Land off-CPU Flame Graph
OpenResty
OpenResty XRay provides the following tools for analyzing OpenResty applications:
CPU
lj-add-timer-lua-fgraph: ngx.timer Add Timer Flamegraphlj-c-on-cpu: C-Land CPU Flame Graph for LuaJITlj-coro-c-on-cpu: C-Land CPU Flame Graph for LuaJIT and Corolj-dump-traces: Dump LuaJIT Traceslj-excep-lua-fgraph: Lua Exception Flame Graphlj-func-events: Trace LuaJIT function call entry eventslj-gc-step-calls: Number of LuaJIT GC function calls per secondlj-jit-state: Check The LuaJIT JIT State: on/offlj-live-coroutines: dump the bts of the living Lua coroutineslj-lua-full-bt: Dump Lua Full Backtrace including the variables in the stacklj-lua-newcdata: Lua-Land New CData Creation Flame Graph Sampling Tool for LuaJIT Applications.lj-lua-newfunc: Lua-Land New Function Creation Flame Graph sampling Tool for LuaJIT Applications.lj-lua-newgco: LuaJIT GC Object Allocation Flame Graphlj-lua-newstr: LuaJIT String Objects Allocation Flame Graphlj-lua-newtab: LuaJIT Table Objects Allocation Flame Graphlj-lua-newthread: LuaJIT Thread Objects Allocation Flame Graphlj-lua-on-cpu: Lua-Land CPU Flame Graphlj-lua-tab-resize: LuaJIT Table resize Flame Graphlj-no-pcre-jit-lua-fgraph: Lua Land Flame Graph for function path that PCRE jit is disabledlj-slowest-ngx-re: Slowest find/match/split Regular Expression of ngx.relj-slowest-str-gmatch: Slowest Lua string.gmatchlj-slowest-str-gsub: Slowest String Global Substitution For Lua’s string.gsublj-slowest-str-match-find: Slowest String Match/Findlj-str-find-no-plain-fgraph: Lua string.find Searching Plain String Without Plain Mode Setlj-trace-abort-events-fgraph: Lua Land Trace Abort Events Flame Graphlj-trace-stats: LuaJIT VM Trace Event Statisticslj-vm-states: LuaJIT VM States Distributionngx-access-log-buffer-size: Nginx Access Log Buffer Size Configurationngx-brotli-compression-level: Nginx Brotli Compression Level Statisticsngx-brotli-compression-types: Nginx Brotli Compression Types Statisticsngx-cpu-hottest-hosts: Showing the top 10 hostnames consuming the most CPU resourcesngx-cpu-hottest-uris: Showing the top 10 URIs order by request countngx-epoll-event-stats: Statistics of Epoll Events Receivedngx-epoll-wait-timers: Tracking the Nginx-Land Epoll Wait Timeout Valuesngx-gzip-compression-level: Nginx GZIP Compression Level Statisticsngx-gzip-compression-types: Nginx GZIP Compression Types Statisticsngx-lua-code-cache: Nginx Lua Code Cache Requestsngx-open-file-cache-conf: Nginx Open File Cache Configurationngx-pcre-compile-lua-fgraph: Openresty New PCRE Compilation Lua Land Flame Graphngx-shdict-hit-rate: Nginx Shared Dict Hit Ratengx-slowest-config-re: Slowest Regular Expression in Nginx Rewrite or Find Configngx-stats: Nginx Statistics from nginx_statusngx-timer-delay-distr: Timeout Value Distribution of Nginx Timerngx-zstd-compression-level: Nginx ZStandard Compression Level Statisticsngx-zstd-compression-types: Nginx ZStandard Compression Types Statisticsopenresty-compiled-regex-cache: OpenResty Compiled Regex Cache Statisticsopenresty-cosocket-handshake: Cosocket SSL Handshake Flame Graphopenresty-new-timer-fgraph: Openresty New Timer Flamegraphopenresty-running-timers-fgraph: Openresty Running Timer Flamegraph
Disk I/O
lj-read-fgraph: Lua-Land Virtual File System Read/Sendfile Flame Graphlj-read-latency-fgraph: Lua-Land Virtual File System Read/Sendfile Latency Flame Graphlj-read-volume-fgraph: Lua-Land Virtual File System Read/Sendfile Volume Flame Graphlj-write-fgraph: Lua-Land Virtual File System Write Flame Graphlj-write-latency-fgraph: Lua-Land Virtual File System Write Latency Flame Graphlj-write-volume-fgraph: Lua-Land Virtual File System Write Volume Flame Graph
Error
lj-lua-ngx-print-error: ngx.print and ngx.say error Flame Graph
Latency
ngx-err-log-files: Nginx Error Log Filesngx-http-access-time: Nginx HTTP Access Phase Latencyngx-http-rewrite-time: Nginx HTTP Rewrite Phase Latencyngx-http-upstream-time: Nginx HTTP Upstream Latencyngx-https-handshake-time: Nginx HTTPs handshake - uselessngx-read-req-body-time: Nginx Request Body Reading Time Distributionngx-req-latency: Nginx Request Latencyngx-req-latency-advance: Nginx Request Latency with Lua Profilingngx-req-latency-distr: HTTP Request Latency Distributionngx-req-lj-yield-count: Nginx Request LuaJIT Yield Times Flame Graphngx-req-lj-yield-latency: Nginx Request LuaJIT Yield Latency Flame Graphngx-req-lj-yield-time: Nginx Request LuaJIT Yield Latencyngx-tls-handshake-latency: Nginx SSL/TLS handshake Latencyopenresty-coro-timeout-packets: Nginx Request Latencysema-wait-fgraph: Semaphore wait Calls
Memory
lj-alloc-stats: Statistics for LuaJIT’s builtin Allocator (Directly allocated memory blocks larger than 128K will not be counted)lj-c-memory-leak-fgraph: Lua-Land Memory Leak Flame Graphslj-dump-cdata-fin: Dump LuaJIT CDATA finalizerlj-dump-loaded-mods: Showing the loaded modules of the LuaJIT VMlj-err-mem: Luajit Memory Exceptionlj-free-stats: Statistics of free chunks for LuaJIT’s builtin Allocatorlj-gco-cdata-fin: CData Object Statistics by Finalizerlj-gco-cdata-stats: CData Object Statistics by CData Typelj-gco-ref: GC Object Reference Flame Graphlj-gco-stat: Statistics for LuaJIT GC Objectslj-lua-newgco-size: LuaJIT GC Object Allocation Size Flame Graphlj-mem-realloc-distr: Lua Memory Realloc Size Distributionlj-mem-realloc-fgraph: Lua Memory Realloc Size Flamegraphslj-tab-chain-loops: Find loops in LuaJIT table node chains.lj-tab-unreachable-node: Find unreachable nodes in the lua tables.ngx-loaded-modules: Nginx Loaded Modulesngx-mem-pools: Nginx Memory Pool Statisticsngx-shdict-stores: Nginx Shdict Stores Statisticsngx-shm-lru: Nginx Share Memory LRU Statisticsngx-shm-slabs: Slab Memory Usage in Nginx Shared Memoryngx-shm-tree-height: Compute the RBTree Height of Nginx Shared Memory Zones.resty-memory: Application-Level Memory Usage Breakdown
Miscellaneous
collect-luajit-ffnames: Collect LuaJIT ffnameslj-gc-state: LuaJIT GC configuration and runtime statelj-lua-new-timer-errors: Nginx Lua Tracks Timer Creation Errorsngx-config: Configurations for Nginxngx-config-servers: Dump The Name of The Http Serversngx-dump-timers: Dump nginx timers in the rbtreengx-graceful-exits: Nginx Graceful Exit Eventngx-lua-sleep: Nginx Lua Sleep Calls Distributionngx-lua-sleep-fgraph: Nginx Lua Sleep Flame Graphngx-worker-id: Nginx Worker IDopenresty-core-dump-analysis: OpenResty Core Dump Analysis
Network I/O
lj-lua-ngx-exit-fgraph: Lua-Land Nginx Request Status Code Flame Graphlj-lua-socket-close-fgraph: Lua-Land close socket Flame Graphngx-downstream-keepalive-stats: HTTP Downstream Request Connection Keepalive Statisticsngx-downstream-ssl-session-reused: Nginx Downstream SSL/TLS Session Reused Statisticsngx-dump-all-reqs: Dump all Nginx HTTP Requestsngx-dump-cur-req: Dump Nginx Requestngx-dump-dns: Dump Nginx DNS configuration and domain cachesngx-dump-req: Dump Nginx Requestngx-keepalive-statistics: Request/Upstream Connection Keep-alive Statisticsngx-proxy-cache-status: Proxy Cache Status Distributionngx-read-req-body-packets: Capture the packets of the HTTP request that the read body time is greater than the thresholdngx-req-count: Count Nginx Subrequests and Main Requestsngx-req-counts-by-hosts: Showing the top 10 hostnames order by request countsngx-req-distribution: Nginx Traffic Distribution By Calls of Finalize Requestngx-req-err-packets: IP Packets of Specified HTTP Errorsngx-req-size-by-hosts: Showing the top 10 hostnames order by request sizengx-req-status-code: Request Status Code Per Secondngx-rps: Nginx RPS Statisticsngx-ssl-server-conf: Sample the Server Configurations by Requestsngx-ssl-session-ticket-key: Nginx SSL Session Ticket Key Configurationngx-status-code-fgraph: Nginx Request Status Code Flame Graphngx-tls-handshake-info: SSL/TLS Session handshake information Statisticsngx-tls-session-resumption: Downstream SSL/TLS Session Resumption Statisticsngx-top-latency-reqs: IP packets of top latency HTTP requestsngx-upstream-err-packets: Capture the upstream packets that have specific error codengx-upstream-no-keepalive: capture the packets that have no HTTP upstream ‘keepalive’ configurationngx-upstream-ssl-session-reused: Upstream SSL/TLS Session Reused Statisticsopenresty-cosocket-connect: OpenResty Cosocket Connect Operation Flame Graphopenresty-cosocket-err-fgraph: OpenResty Cosocket Error Flame Graphopenresty-cosocket-err-packets: IP Packets of OpenResty Cosocket Which has Errorsopenresty-cosocket-no-keepalive: OpenResty Cosocket Without Keepalive Flame Graphopenresty-cosocket-pool: OpenResty Cosocket Pool Statisticsopenresty-cosocket-timeout: OpenResty Cosocket Timeout Distributionopenresty-lua-phase-cpu-time: OpenResty Lua Phase CPU time statisticsopenresty-lua-phase-wall-time: OpenResty Lua Phase wall time statisticssocket-close-fgraph: close socket Flame Graph
off-CPU
lj-c-off-cpu: C-Land off-CPU Flame Graph for LuaJITlj-lua-off-cpu: Lua-Land off-CPU Flame Graphngx-err-log-lvl-distr: Nginx Error Log Level Distribution
Perl
OpenResty XRay provides the following tools for analyzing Perl applications:
CPU
perl-excep-fgraph: Perl-Land Exception Flame Graphperl-func-events: Trace perl function call entry eventsperl-on-cpu: Perl-Land on-CPU Flame Graph
Disk I/O
perl-read-fgraph: Perl-Land Virtual File System Read/Sendfile Flame Graphperl-read-latency-fgraph: Perl-Land Virtual File System Read/Sendfile Latency Flame Graphperl-read-volume-fgraph: Perl-Land Virtual File System Read/Sendfile Volume Flame Graphperl-write-fgraph: Perl-Land Virtual File System Write Flame Graphperl-write-latency-fgraph: Perl-Land Virtual File System Write Latency Flame Graphperl-write-volume-fgraph: Perl-Land Virtual File System Write Volume Flame Graph
Memory
perl-gco-ref: Perl GC Object Reference Flame Graph
off-CPU
perl-off-cpu: Perl-Land off-CPU Flame Graph
PHP
OpenResty XRay provides the following tools for analyzing PHP applications:
CPU
php-excep-fgraph: PHP-Land Exception Flame Graphphp-func-events: Trace PHP function call entry eventsphp-on-cpu: PHP-Land CPU Flame Graph
Disk I/O
php-read-fgraph: PHP-Land Virtual File System Read/Sendfile Flame Graphphp-read-latency-fgraph: PHP-Land Virtual File System Read/Sendfile Latency Flame Graphphp-read-volume-fgraph: PHP-Land Virtual File System Read/Sendfile Volume Flame Graphphp-write-fgraph: PHP-Land Virtual File System Write Flame Graphphp-write-latency-fgraph: PHP-Land Virtual File System Write Latency Flame Graphphp-write-volume-fgraph: PHP-Land Virtual File System Write Volume Flame Graph
Memory
php-bin-distr: Distributions of Memory Chunk Sizes in PHP Zend Allocatorphp-gco-ref: PHP GC Object Reference Flame Graphphp-gco-stat: Statistics for PHP GC Objects
off-CPU
php-off-cpu: PHP-Land off-CPU Flame Graph
PostgreSQL
OpenResty XRay provides the following tools for analyzing PostgreSQL applications:
Memory
pg-mem-pool: PostgreSQL Memory Pool Size
Python
OpenResty XRay provides the following tools for analyzing Python applications:
CPU
py-excep-fgraph: Python-Land Exception Flame Graphpy-func-events: Trace python function call entry eventspy-on-cpu: Python CPU Flame Graphpyftrace: Trace python function call entry/exit events
Disk I/O
py-read-fgraph: Python-Land Virtual File System Read/Sendfile Flame Graphpy-read-latency-fgraph: Python-Land Virtual File System Read/Sendfile Latency Flame Graphpy-read-volume-fgraph: Python-Land Virtual File System Read/Sendfile Volume Flame Graphpy-write-fgraph: Python-Land Virtual File System Write Flame Graphpy-write-latency-fgraph: Python-Land Virtual File System Write Latency Flame Graphpy-write-volume-fgraph: Python-Land Virtual File System Write Volume Flame Graph
Memory
pre-py-gco-ref: Preliminary Analyzer for Python GC Objects Reference Flame Graphpy-gco-ref: Python GC Object Reference Flame Graphpy-gco-stat: Statistics for Python GC Objects
off-CPU
py-off-cpu: Python3 off-CPU Flame Graph
Redis
OpenResty XRay provides the following tools for analyzing Redis applications:
CPU
lua-excep-fgraph: Lua-Land Exception Flame Graph for standard Lualua-on-cpu: Lua-Land CPU Flame Graph for standard Lua
Memory
lua-gco-ref: GC Object Reference Flame Graph for Stand Lua
off-CPU
lua-off-cpu: Lua-Land off-CPU Flame Graph for standard Lua
Ruby
OpenResty XRay provides the following tools for analyzing Ruby applications:
CPU
ruby-on-cpu: Ruby CPU Flame Graph
off-CPU
ruby-off-cpu: Ruby off-CPU Flame Graph
Rust
OpenResty XRay provides the following tools for analyzing Rust applications:
CPU
rust-excep-fgraph: Rust-Land Exception Flame Graphrust-on-cpu: Rust-Land on-CPU Flame Graph
off-CPU
rust-off-cpu: Rust-Land off-CPU Flame Graph
Author
The OpenResty Inc. Team.
Copyright
Copyright (C) by OpenResty Inc. All rights reserved.