Featured Articles

Photo by Yichun Zhang

How a Single "0" Took Down Bilibili — Every Server at 100% CPU, and Reboots Didn't Help

How a Single "0" Took Down Bilibili — Every Server at 100% CPU, and Reboots Didn't Help

Binary Vulnerability Scanning: Catch Backported Patches, Cut False Positives

Binary Vulnerability Scanning: Catch Backported Patches, Cut False Positives

Binary Vulnerability Scanning: Catch Backported Patches, Cut False Positives

Introduction to OpenResty XRay

Introduction to OpenResty XRay

Introduction to OpenResty XRay

Nginx Reverse Proxy QPS Dropped 15x: A Missing upstream keepalive and an -O0 Debug Build

Nginx Reverse Proxy QPS Dropped 15x: A Missing upstream keepalive and an -O0 Debug Build

Nginx Reverse Proxy QPS Dropped 15x: A Missing upstream keepalive and an -O0 Debug Build

Non-Invasive Java Profiler: Capture Method Arguments in Production Without a Java Agent

Non-Invasive Java Profiler: Capture Method Arguments in Production Without a Java Agent

Non-Invasive Java Profiler: Capture Method Arguments in Production Without a Java Agent

Photo by Philip Brown

The Wonderland of Dynamic Tracing (Part 1 of 3)

The Wonderland of Dynamic Tracing (Part 1 of 3)

Photo by Jose G. Ortega Castro

How OpenResty and Nginx Shared Memory Zones Consume RAM

How OpenResty and Nginx Shared Memory Zones Consume RAM

Photo by Harrison Broadbent

Nginx Memory Usage Explained: Where the RAM Actually Goes

Nginx Memory Usage Explained: Where the RAM Actually Goes

OpenResty XRay reduce your CPU usage up to  90%
OpenResty XRay reduce your CPU usage up to 90%
Request free trial

Latest Articles

Accurately Restore the Real Client IP Address in OpenResty Edge

  • Set “Trusted hosts to set real IP” and “Real IP from” Globally
  • Configure the Application to Output the Client Address
  • Check the Client Address Received on OpenResty Edge
  • What is OpenResty Edge
Photo by Yichun Zhang
  • Set “Trusted hosts to set real IP” and “Real IP from” Globally
  • Configure the Application to Output the Client Address
  • Check the Client Address Received on OpenResty Edge
  • What is OpenResty Edge

Use C++ to Dynamic-Trace C++ Applications

  • Setting Up the Target C++ Program
  • Crafting the C++ (or Y++) Analyzer
  • Operationalizing the Target and Analyzer
  • Advancing Support for Complex C++ Applications
  • About the Debug Symbols
Photo by Yichun Zhang
  • Setting Up the Target C++ Program
  • Crafting the C++ (or Y++) Analyzer
  • Operationalizing the Target and Analyzer
  • Advancing Support for Complex C++ Applications
  • About the Debug Symbols

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

Nginx 'No Debugging Symbols Found'? Rebuild Them Automatically with OpenResty XRay

  • Confirming Nginx Is Stripped and Debug Symbols Are Missing
  • Rebuild Missing Nginx Debug Symbols Automatically — No Recompile Needed
  • Continuous Analysis: Daily and Weekly Insights Reports
  • FAQ: nginx-dbg, recompiling, and profiling stripped binaries
  • Confirming Nginx Is Stripped and Debug Symbols Are Missing
  • Rebuild Missing Nginx Debug Symbols Automatically — No Recompile Needed
  • Continuous Analysis: Daily and Weekly Insights Reports
  • FAQ: nginx-dbg, recompiling, and profiling stripped binaries

Automatic Core Dump Analysis (using OpenResty XRay)

  • Locate the core dump file from a crashed OpenResty/Nginx worker
  • Start automatic (guided) core dump analysis in OpenResty XRay
  • Read the signal, CPU registers, and C backtrace of the crash
  • Follow the Lua backtrace to the exact crashing line
  • Automatic Insights reports for online core dumps
  • Locate the core dump file from a crashed OpenResty/Nginx worker
  • Start automatic (guided) core dump analysis in OpenResty XRay
  • Read the signal, CPU registers, and C backtrace of the crash
  • Follow the Lua backtrace to the exact crashing line
  • Automatic Insights reports for online core dumps

Install OpenResty XRay’s Agents on Amazon Linux via Package Bundles

  • Logging in to the Console
  • Installing the Agent via Bundle Packages
  • Configuring and Detecting Applications
  • Initiating Analyzers and Viewing Insights
  • Install Another Agent
  • What is OpenResty XRay
  • Logging in to the Console
  • Installing the Agent via Bundle Packages
  • Configuring and Detecting Applications
  • Initiating Analyzers and Viewing Insights
  • Install Another Agent
  • What is OpenResty XRay

Debugging High Disk I/O in Go Services on Linux

  • Identifying the Go process with high disk I/O
  • Tracing Go disk read and write code paths with flame graphs
  • Automatic disk I/O analysis and reports
  • What is OpenResty XRay
  • Frequently Asked Questions
  • Identifying the Go process with high disk I/O
  • Tracing Go disk read and write code paths with flame graphs
  • Automatic disk I/O analysis and reports
  • What is OpenResty XRay
  • Frequently Asked Questions

Control Access to DNS Applications in OpenResty Edge's Admin Console

  • Check DNS page permissions as a super user
  • Create a user group with only read permission for this DNS application
  • Create a tester account
  • See the DNS applications with permission granted
  • What is OpenResty Edge
  • Check DNS page permissions as a super user
  • Create a user group with only read permission for this DNS application
  • Create a tester account
  • See the DNS applications with permission granted
  • What is OpenResty Edge

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

How to Create and Call a Lua Module in OpenResty Edge Using Edgelang

  • How to create a Global Lua Module in OpenResty Edge
  • How to call the Lua module from Edgelang in a page rule
  • How to verify the Lua module output with curl
  • What is OpenResty Edge
  • How to create a Global Lua Module in OpenResty Edge
  • How to call the Lua module from Edgelang in a page rule
  • How to verify the Lua module output with curl
  • What is OpenResty Edge

Laravel High CPU Usage: Why Even Hello World Burns Half Its CPU

  • Why Laravel uses high CPU even in hello world apps
  • Laravel CPU profiling: the three hottest code paths
  • Automatic analysis and reports
  • What is OpenResty XRay
  • Why Laravel uses high CPU even in hello world apps
  • Laravel CPU profiling: the three hottest code paths
  • Automatic analysis and reports
  • What is OpenResty XRay

Perl Process Stuck at 13% CPU: Off-CPU Flame Graphs Pinpoint a Blocking HTTP Call

  • The symptom: Perl process CPU usage stays low under heavy requests
  • Find the blocking Perl code paths with OpenResty XRay’s off-CPU flame graphs
  • Automatic analysis and reports in the Insights page
  • FAQ
  • What is OpenResty XRay
  • About The Author
  • The symptom: Perl process CPU usage stays low under heavy requests
  • Find the blocking Perl code paths with OpenResty XRay’s off-CPU flame graphs
  • Automatic analysis and reports in the Insights page
  • FAQ
  • What is OpenResty XRay
  • About The Author

Pinpointing CPU-Hottest Go Code Paths Inside Prometheus (using OpenResty XRay)

  • Problem: high CPU usage
  • Use the guided analysis feature of OpenResty XRay to spot the CPU-hottest Go code paths
  • Automatic analysis and reports
  • What is OpenResty XRay
  • Problem: high CPU usage
  • Use the guided analysis feature of OpenResty XRay to spot the CPU-hottest Go code paths
  • Automatic analysis and reports
  • What is OpenResty XRay
Contact us

OpenResty open-source community workspace

Please join us here and share your thoughts and questions with us, we can't wait to see you there!


limited time offer

Request TRIAL today and receive a diagnostic REPORT
Learn more

Love to hear from you, Get in touch 👋

Message was sent successfully!

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