How We Pinpointed a 244ms Latency Spike in a 500k QPS OpenResty Gateway

  • Latency Spikes and CPU Waste Hidden Beneath Healthy Averages
  • Troubleshooting OpenResty Latency Without Code Changes or Restarts
  • The Results: Latency Spikes Eliminated, 30% Lower CPU Usage
  • Frequently Asked Questions
  • Latency Spikes and CPU Waste Hidden Beneath Healthy Averages
  • Troubleshooting OpenResty Latency Without Code Changes or Restarts
  • The Results: Latency Spikes Eliminated, 30% Lower CPU Usage
  • Frequently Asked Questions

Gzip CPU Usage: Why Compression Level 6 Consumed 54% of Server CPU

  • How Gzip Compression Consumed 54% of CPU in Production
  • Why Gzip CPU Usage Was So High: A Configuration-Level Diagnosis
  • Quantifying Gzip and Brotli CPU Overhead
  • From Guesswork to Data-Driven Compression Tuning
  • How Gzip Compression Consumed 54% of CPU in Production
  • Why Gzip CPU Usage Was So High: A Configuration-Level Diagnosis
  • Quantifying Gzip and Brotli CPU Overhead
  • From Guesswork to Data-Driven Compression Tuning

Non-Invasive Node.js CPU Profiling with Flame Graphs

  • High CPU Usage Issues in Node.js Applications
  • CPU Blocking Issues in Node.js Applications
  • Automated Sampling and Expert Analysis
  • Performance Impact and Overhead
  • Future Plans
  • High CPU Usage Issues in Node.js Applications
  • CPU Blocking Issues in Node.js Applications
  • Automated Sampling and Expert Analysis
  • Performance Impact and Overhead
  • Future Plans

Java Application Profiling: CPU, Off-CPU & Disk I/O Without Safepoint Bias

  • Profiling Java CPU hotspots with flame graphs
  • Off-CPU Java profiling: lock contention and blocking analysis
  • Java disk I/O profiling: tracing file and socket writes
  • OpenJDK 8/11/17/21 application profiling support
  • Automated sampling and expert analysis
  • Performance impact and overhead
  • FAQ
Photo by Yichun Zhang
  • Profiling Java CPU hotspots with flame graphs
  • Off-CPU Java profiling: lock contention and blocking analysis
  • Java disk I/O profiling: tracing file and socket writes
  • OpenJDK 8/11/17/21 application profiling support
  • Automated sampling and expert analysis
  • Performance impact and overhead
  • FAQ

Erlang High CPU Usage: PCRE Regex Bottleneck Traced with Flame Graphs

  • Observing 200%+ CPU in an Erlang Process
  • Profiling Erlang CPU Usage with OpenResty XRay
  • C-Level Analysis: erts_pcre_exec and PCRE Backtracking
  • Why PCRE Regex Backtracking Is Expensive in the BEAM VM
  • Automatic Monitoring and Reports
  • FAQ: Erlang High CPU Usage
  • What is OpenResty XRay
  • Observing 200%+ CPU in an Erlang Process
  • Profiling Erlang CPU Usage with OpenResty XRay
  • C-Level Analysis: erts_pcre_exec and PCRE Backtracking
  • Why PCRE Regex Backtracking Is Expensive in the BEAM VM
  • Automatic Monitoring and Reports
  • FAQ: Erlang High CPU Usage
  • What is OpenResty XRay

Envoy CPU Profiling: Find Hot C++ Paths with Flame Graphs

  • Scenario: Envoy Proxy Running at 90% CPU
  • Profile Envoy CPU with C++ Flame Graphs
  • Continuous CPU Monitoring with Automated Reports
  • What is OpenResty XRay
  • FAQ: Envoy CPU Profiling
  • Scenario: Envoy Proxy Running at 90% CPU
  • Profile Envoy CPU with C++ Flame Graphs
  • Continuous CPU Monitoring with Automated Reports
  • What is OpenResty XRay
  • FAQ: Envoy CPU Profiling

PHP High CPU Usage: Find the Hottest Code Path with OpenResty XRay

  • Problem: high CPU usage
  • Find which PHP function is using the CPU with OpenResty XRay Guided Analysis
  • Read the CPU flame graph and the hottest PHP and C code paths
  • Automatic analysis and reports
  • What is OpenResty XRay
  • Problem: high CPU usage
  • Find which PHP function is using the CPU with OpenResty XRay Guided Analysis
  • Read the CPU flame graph and the hottest PHP and C code paths
  • Automatic analysis and reports
  • What is OpenResty XRay

CockroachDB High CPU Usage: Profiling a Live Go Server with Flame Graphs

  • Problem: CockroachDB high CPU usage
  • Find the most CPU-intensive Go code paths with guided analysis
  • Automatic CPU analysis and reports
  • What is OpenResty XRay
  • Problem: CockroachDB high CPU usage
  • Find the most CPU-intensive Go code paths with guided analysis
  • Automatic CPU analysis and reports
  • What is OpenResty XRay

Rust CPU Profiling: Find the Hottest Code Paths in Sled with OpenResty XRay

  • The problem: a Sled-based cache service using over 100% CPU
  • Profile the running Rust process with Guided Analysis
  • Read the Rust CPU flame graph: the #1 hottest code path
  • The #2 hottest code path: get_inner and view_for_key
  • Automatic Rust CPU analysis reports
  • Frequently asked questions
  • The problem: a Sled-based cache service using over 100% CPU
  • Profile the running Rust process with Guided Analysis
  • Read the Rust CPU flame graph: the #1 hottest code path
  • The #2 hottest code path: get_inner and view_for_key
  • Automatic Rust CPU analysis reports
  • Frequently asked questions

etcd High CPU Usage: Find the Hottest Go Code Paths with Flame Graphs

  • Symptom: etcd consuming over 70% of a CPU core
  • Use OpenResty XRay Guided Analysis to find the hottest Go code paths
  • Automatic etcd CPU monitoring and reports
  • What is OpenResty XRay
  • Symptom: etcd consuming over 70% of a CPU core
  • Use OpenResty XRay Guided Analysis to find the hottest Go code paths
  • Automatic etcd CPU monitoring and reports
  • What is OpenResty XRay

llama.cpp CPU Usage: 400% CPU Traced to ggml Hot Functions

  • Running llama.cpp and Observing 400% CPU Usage
  • Profiling llama.cpp CPU Usage with OpenResty XRay
  • Findings: The Hottest C++ Code Paths
  • What is OpenResty XRay
  • Running llama.cpp and Observing 400% CPU Usage
  • Profiling llama.cpp CPU Usage with OpenResty XRay
  • Findings: The Hottest C++ Code Paths
  • What is OpenResty XRay

Go Off-CPU Analysis: Tracing a Running Process Stuck at 2% CPU to a Blocking Shell Call

  • The symptom: Go service CPU usage stays low under load
  • Running off-CPU analysis on the live Go process with OpenResty XRay
  • Root cause: a blocking shell command at a single source line
  • Automatic analysis and reports
  • The symptom: Go service CPU usage stays low under load
  • Running off-CPU analysis on the live Go process with OpenResty XRay
  • Root cause: a blocking shell command at a single source line
  • Automatic analysis and reports

Lua High CPU Usage: Find the Hottest Lua Code Path in Nginx/OpenResty

  • The symptom: an Nginx worker process using almost 100% CPU
  • Find the hottest Lua code path with Guided Analysis
  • Monitor Lua CPU usage automatically with Insights reports
  • Frequently asked questions
  • The symptom: an Nginx worker process using almost 100% CPU
  • Find the hottest Lua code path with Guided Analysis
  • Monitor Lua CPU usage automatically with Insights reports
  • Frequently asked questions

Kong Plugin High CPU Usage: A Hidden Lua Exception Traced with Flame Graphs

  • The problem: Kong plugin high CPU usage under light traffic
  • Finding the CPU bottleneck with an OpenResty XRay flame graph
  • The result: Kong CPU usage cut from 80% to 50%
Photo by Yichun Zhang
  • The problem: Kong plugin high CPU usage under light traffic
  • Finding the CPU bottleneck with an OpenResty XRay flame graph
  • The result: Kong CPU usage cut from 80% to 50%

Nginx High CPU Usage: Find Which Requests Consume the Most CPU

  • Prerequisites and Environment Setup
  • Find Which Request Hostname Uses the Most CPU
  • Find Which Request URI Uses the Most CPU
  • Digging Deeper: Why Some Hostnames Use More CPU
  • Running the Tools in the Web Console
  • Tracing Nginx CPU Usage Inside Containers
  • How the CPU Profiling Tools Work
  • The Overhead of the Profiling Tools
  • Frequently Asked Questions
Photo by Yichun Zhang
  • Prerequisites and Environment Setup
  • Find Which Request Hostname Uses the Most CPU
  • Find Which Request URI Uses the Most CPU
  • Digging Deeper: Why Some Hostnames Use More CPU
  • Running the Tools in the Web Console
  • Tracing Nginx CPU Usage Inside Containers
  • How the CPU Profiling Tools Work
  • The Overhead of the Profiling Tools
  • Frequently Asked Questions

Lua CPU Flame Graphs: Profiling LuaJIT in Production

  • What Is a Lua CPU Flame Graph
  • Profiling simple LuaJIT apps: verifying accuracy
  • Profiling complex LuaJIT apps in production
  • Sampling Overhead
  • Production safety: not a single bit changed
  • Compatibility
  • FAQ
Photo by Guido Jansen
  • What Is a Lua CPU Flame Graph
  • Profiling simple LuaJIT apps: verifying accuracy
  • Profiling complex LuaJIT apps in production
  • Sampling Overhead
  • Production safety: not a single bit changed
  • Compatibility
  • FAQ
Contact us

Love to hear from you, Get in touch 👋

Message was sent successfully!

Our Team will get back to you within 24 hours.
x