/* 404 page not found. */
Trending
OpenResty XRay Jan 14, 2023
OpenResty XRay Jan 14, 2023
Automatic Analysis Reports in OpenResty XRay

- The Past
- The Present
- The Future
OpenResty XRay Nov 12, 2021
OpenResty XRay Nov 12, 2021
Ylang: Universal Language for eBPF, Stap+, GDB, and More (Part 1 of 4)

- What is Dynamic Tracing
- Why the “Y” Name
- Getting Started
- Various Backends and Runtimes
- Why a Unified Frontend Language
- The Language Syntax
OpenResty XRay Aug 31, 2020
OpenResty XRay Aug 31, 2020
Introduction to Lua-Land CPU Flame Graphs

- What is a Flame Graph
- Simple Lua samples
- Complicated Lua applications
- Sampling overhead
- Safety
- Compatibility
- Other types of Lua-land Flame Graphs
OpenResty XRay Aug 10, 2020
OpenResty XRay Aug 10, 2020
Memory Fragmentation in OpenResty and Nginx's Shared Memory Zones

- An empty zone
- Filling entries of similar sizes
- Deleting odd-numbered keys
- Deleting the keys in the first half
- Mitigating Fragmentation
OpenResty XRay Aug 4, 2020
OpenResty XRay Aug 4, 2020
How OpenResty and Nginx Shared Memory Zones Consume RAM

- Slabs and pages
- What is allocated is not what is paid for
- Fake Memory Leaks
- HUP reload
OpenResty XRay Jan 21, 2020
OpenResty XRay Jan 21, 2020
How OpenResty and Nginx Allocate and Manage Memory

- On The System Level
- On The Application Level
- For Traditional Nginx Servers
Latest Articles
OpenResty Open Source May 30, 2025
OpenResty Open Source May 30, 2025
OpenResty 1.27.1.2 Released

- Version highlights
- Full Changelog
- Feedback
OpenResty XRay May 30, 2025
OpenResty XRay May 30, 2025
Deep Dive into Dynamic Tracing Technology: How OpenResty XRay Revolutionizes Problem Diagnosis

- Dynamic Tracing: A Powerful Tool for Solving Complex System Issues
- Why Choose OpenResty XRay?
- Product Focus: XRay Applications in Real-World Scenarios
- Common Misconceptions and FAQs: What You Might Want to Know About Dynamic Tracing
OpenResty XRay May 26, 2025
OpenResty XRay May 26, 2025
Why is Dynamic Tracing Difficult to Implement? How Does OpenResty XRay Break Through?

- Why is Problem Troubleshooting Becoming Increasingly Difficult in Modern Software Architecture?
- Trend Insights: The Future of Observability Technology
- How Does Dynamic Tracing Technology Break Through Abstraction Layers?
- Use Case: Real-time Statistics of Plugin Resource Consumption in Production Kong Services
- Conclusion
OpenResty XRay May 26, 2025
OpenResty XRay May 26, 2025
Traditional Methods vs. Dynamic Tracing: A Revolution in Efficiency and Control

- A Revolution in Efficiency and Control
- Dynamic Tracing: X-Ray Vision for Your Systems
- From Flame Graphs to System Panorama
- Why Choose OpenResty XRay?
- The Future of Observability: New Frontiers in Dynamic Tracing
OpenResty XRay May 26, 2025
OpenResty XRay May 26, 2025
The Next Stop for Observability: How OpenResty XRay Redefines Problem Troubleshooting

- Why is Problem Troubleshooting Becoming Increasingly Difficult in Modern Software Architecture?
- Trend Insights: The Future of Observability Technology
- How Does Dynamic Tracing Technology Break Through Abstraction Layers?
- Use Case: Real-time Statistics of Plugin Resource Consumption in Production Kong Services
- Conclusion
Archives
2025 May
- OpenResty 1.27.1.2 Released May 30, 2025
- Deep Dive into Dynamic Tracing Technology: How OpenResty XRay Revolutionizes Problem Diagnosis May 30, 2025
- Why is Dynamic Tracing Difficult to Implement? How Does OpenResty XRay Break Through? May 26, 2025
- Traditional Methods vs. Dynamic Tracing: A Revolution in Efficiency and Control May 26, 2025
- The Next Stop for Observability: How OpenResty XRay Redefines Problem Troubleshooting May 26, 2025
- From Black Box to White Box: OpenResty XRay Makes System Issues Nowhere to Hide May 7, 2025
2025 Apr
- OpenResty XRay Empowers LLVM clang Performance Optimization Practices April 18, 2025
- Self-Optimization: The Performance Evolution of OpenResty XRay April 17, 2025
- OpenResty XRay Helps Boost Script Performance by 44 Times April 7, 2025
- Cross-Media Data Structure Drift: OpenResty XRay Enables 20x Performance Improvement April 3, 2025
- From OOM to O(1): The Implementation Path of Streaming JSON Parser April 2, 2025
- From Days to Hours: How OpenResty XRay Accelerated the Linux shred Tool by Dozens of Times April 1, 2025
2024 Oct
2024 Sep
2024 Aug
2024 Jun
2024 May
- Pinpointing the Hottest Rust Code Paths with High Disk I/O (using OpenResty XRay) May 24, 2024
- Introduction to OpenResty XRay Mobile Apps May 12, 2024
- Locate Large Memory Objects inside PHP Processes (using OpenResty XRay) May 11, 2024
- Enable Automatic Healthcheck for Gateway Servers in OpenResty Edge May 8, 2024
2024 Apr
2024 Mar
- How to Trace Exceptions inside Perl Applications (using OpenResty XRay) March 30, 2024
- Analyze OpenResty/Nginx Applications without Debug Symbols (using OpenResty XRay) March 27, 2024
- Automatic Core Dump Analysis (using OpenResty XRay) March 13, 2024
- Install OpenResty XRay’s Agents on Amazon Linux via Package Bundles March 11, 2024
- Pinpointing the Hottest Go Code Paths with High Disk I/O (using OpenResty XRay) March 10, 2024
2024 Feb
- Control Access to DNS Applications in OpenResty Edge's Admin Console February 28, 2024
- Pinpointing the hottest PHP code paths with high CPU usage (using OpenResty XRay) February 27, 2024
- How CPU Time is Spent inside Envoy Servers (using OpenResty XRay) February 27, 2024
- How to Locate Exceptions inside Go Applications (using OpenResty XRay) February 19, 2024
- Call Lua modules by Edgelang in OpenResty Edge February 6, 2024
- How CPU Time is Spent inside PHP Laravel Apps (using OpenResty XRay) February 1, 2024
2024 Jan
- Find Blocking Perl Code Paths Holding back CPU Usage (Using OpenResty XRay) January 26, 2024
- How to Locate Exceptions inside Rust Applications (using OpenResty XRay) January 19, 2024
- Pinpointing CPU-Hottest Go Code Paths Inside Prometheus (using OpenResty XRay) January 16, 2024
- OpenResty 1.25.3.1 Released January 12, 2024
- Global Search in OpenResty Edge January 7, 2024
2023 Dec
- How to Diagnose HTTP 504 Timeout Errors using OpenResty XRay December 29, 2023
- Performance Overhead of OpenResty XRay when Tracing Perl Apps December 25, 2023
- How CPU Time is Spent inside Go’s CockroachDB (using OpenResty XRay) December 25, 2023
- How to Use Gateway Staging Servers in OpenResty Edge December 21, 2023
- Locate Large Memory Objects inside Perl Processes (using OpenResty XRay) December 15, 2023
- Performance Overhead of OpenResty XRay when Tracing Go Apps December 7, 2023
- Install OpenResty XRay’s Agents on Ubuntu via Deb Packages December 5, 2023
- Configuring Webhooks in OpenResty Edge December 4, 2023
- Performance Impact of OpenResty XRay when Tracing PHP Apps (using OpenResty XRay) December 1, 2023
2023 Nov
- Performance Impact of OpenResty XRay when Tracing Rust Apps (using OpenResty XRay) November 27, 2023
- Performance Impact of OpenResty XRay when Tracing Python Apps (using OpenResty XRay) November 27, 2023
- Dynamic-Tracing Custom Go Programs with Custom Ylang Analyzers (using OpenResty XRay) November 24, 2023
- Configure Custom Error Pages in OpenResty Edge November 23, 2023
- Configure DNS Records in OpenResty Edge November 21, 2023
- Adding Custom Response Headers in OpenResty Edge November 15, 2023
- How to Use OpenResty Edge's Global Server Load Balancing (GSLB) Feature November 9, 2023
2023 Oct
2023 Sep
- How CPU time is spent inside Rust’s Sled library (using OpenResty XRay) September 28, 2023
- Find the largest Python objects or values taking the most RAM (using OpenResty XRay) September 28, 2023
- How CPU time is spent inside Go's etcd server (using OpenResty XRay) September 27, 2023
- How CPU time is spent inside llama.cpp + LLaMA2 (using OpenResty XRay) September 21, 2023
- Find Blocking Go Code Paths Holding back CPU Usage (Using OpenResty XRay) September 1, 2023
2023 Aug
- Pinpointing the hottest Go code paths with high CPU usage (using OpenResty XRay) August 23, 2023
- Pinpointing the blocking Python code paths (using OpenResty XRay) August 8, 2023
- Two bugs in Linux kernels' tracing subsystem (found by OpenResty XRay) August 6, 2023
- Pinpointing hottest Perl code paths (using OpenResty XRay) August 4, 2023
2023 Jul
- Pinpointing hottest Lua code paths in online OpenResty/Nginx servers (using OpenResty XRay) July 28, 2023
- OpenResty 1.21.4.2 Released July 28, 2023
- Memory and CPU usage statistics among Kong plugins online (using OpenResty XRay) July 15, 2023
- How we solved a CPU bottleneck caused by Lua exceptions in a custom Kong plugin (using OpenResty XRay) July 15, 2023
- Troubleshooting the extra 200-ms request latency online July 5, 2023
2023 Jun
- EdgeLang: A Powerful and Efficient Language for Gateway Logic June 30, 2023
- Pinpointing leaked Lua tables with OpenResty XRay's command-line tools June 27, 2023
- Real-Time Request Counting against Nginx Processes via YSQL June 23, 2023
- Using request IDs to troubleshoot problematic requests in OpenResty Edge gateways June 7, 2023
- Configuring hCaptcha’s captcha webpages in OpenResty Edge June 6, 2023
- Pushing static resources to OpenResty Edge gateways June 5, 2023
- Configuring SNI proxies in OpenResty Edge June 5, 2023
- Configuring the built-in captcha webpages in OpenResty Edge June 3, 2023
2023 May
- Configuring gateway access log files in OpenResty Edge May 30, 2023
- Load-balancing TCP applications via OpenResty Edge May 29, 2023
- Configuring error log files in OpenResty Edge May 28, 2023
- Configuring sticky cookies in OpenResty Edge gateways May 25, 2023
- How to use standard dynamic metrics in OpenResty Edge May 22, 2023
- Managing traffic to Kubernetes (K8s) upstreams in OpenResty Edge May 8, 2023
- How to deploy the on-premises version of OpenResty XRay on Microsoft's Azure cloud May 5, 2023
2023 Apr
- High-Performance Web Application Firewall (WAF) in OpenResty Edge April 25, 2023
- Configure distributed gRPC proxy in OpenResty Edge April 25, 2023
- The EdgeLang DSL in OpenResty Edge April 19, 2023
- OpenResty 1.21.4.2 RC1 is out April 17, 2023
- How to pass the real client IP addresses to backend servers via special request headers April 12, 2023
2023 Feb
- When Lua IPC Pipes Block OpenResty or Nginx's Event Loops February 18, 2023
- The Wonderland of Dynamic Tracing (Part 3 of 3) February 16, 2023
- The Wonderland of Dynamic Tracing (Part 2 of 3) February 16, 2023
- The Wonderland of Dynamic Tracing (Part 1 of 3) February 16, 2023
- Optimize Memory Fragmentation due to Huge Nginx Configuration February 14, 2023
- New FAQ Doc for OpenResty XRay February 7, 2023
2022 Jun
2021 Dec
2021 Nov
2021 Sep
- Auto-Generate Demo Videos for Google Search from Screenplay Docs (via OpenResty Showman) September 26, 2021
- Set Different Host Headers for Upstream Requests in OpenResty Edge September 16, 2021
- Official OpenResty Debian 11 package repo September 9, 2021
- Redirect to different URIs Based on Clients' Language Settings (OpenResty Edge) September 6, 2021
2021 Jun
2021 May
2021 Apr
2021 Mar
2021 Feb
2020 Dec
2020 Nov
- Install OpenResty on CentOS 8 via dnf November 30, 2020
- The resty Command-Line Utility Demo November 29, 2020
- Memory Reduced by 60%, OpenResty XRay Precisely Locates Problem Code, Quickly Completes Fixes and Deployment November 19, 2020
- Write Your Own Lua Modules for OpenResty Applications November 15, 2020
- Hello World HTTP Example in OpenResty November 14, 2020
- OpenResty 1.19.3.1 released November 5, 2020