OpenResty XRay Aug 29, 2023 OpenResty XRay Updated Aug 29, 2023 5 mins read Troubleshooting the extra 200-ms request latency online The Problem The Analsysis Process Fully-automated analysis What is OpenResty XRay The Problem The Analsysis Process Fully-automated analysis What is OpenResty XRay
OpenResty XRay Jul 22, 2023 OpenResty XRay Updated Jul 22, 2023 6 mins read Pinpointing leaked Lua tables with OpenResty XRay's command-line tools How LuaJIT manages memory OpenResty XRay’s command-line tools An leaking example Analysis procedure lj-gco-ref analyzer Fully-automated analysis How LuaJIT manages memory OpenResty XRay’s command-line tools An leaking example Analysis procedure lj-gco-ref analyzer Fully-automated analysis
OpenResty XRay Jul 22, 2023 OpenResty XRay Updated Jul 22, 2023 8 mins read Real-Time Request Counting against Nginx Processes via YSQL How to install the run-ysql tool Count total requests served in real time Filter out specific requests Using YSQL in the Web Console True non-invasive tracing How to install the run-ysql tool Count total requests served in real time Filter out specific requests Using YSQL in the Web Console True non-invasive tracing
OpenResty XRay Nov 1, 2023 OpenResty XRay Updated Nov 1, 2023 6 mins read How to deploy the on-premises version of OpenResty XRay on Microsoft's Azure cloud Create a subscription and a resource group Create the Azure Kubernetes service Prepare the environment variables Log in to Azure from the command line Create the namespace and secret for Kubernetes Create the Azure Disk Update the configuration file for the persistent volume Update the Kubernetes configuration file Create the persistent volume Deploy the Kubernetes service Configure the application gateway Create a subscription and a resource group Create the Azure Kubernetes service Prepare the environment variables Log in to Azure from the command line Create the namespace and secret for Kubernetes Create the Azure Disk Update the configuration file for the persistent volume Update the Kubernetes configuration file Create the persistent volume Deploy the Kubernetes service Configure the application gateway
OpenResty XRay Aug 28, 2023 OpenResty XRay Updated Aug 28, 2023 6 mins read When Lua IPC Pipes Block OpenResty or Nginx's Event Loops The Problem Analyses Solutions Results The Problem Analyses Solutions Results
OpenResty XRay Apr 10, 2024 OpenResty XRay Updated Apr 10, 2024 26 mins read The Wonderland of Dynamic Tracing (Part 1 of 3) Dynamic Tracing What It Is Too Good to be True? How it Works Still Having Doubts? The Advantages of Dynamic Tracing DTrace SystemTap DTrace and SystemTap Applications of SystemTap in Production Dynamic Tracing What It Is Too Good to be True? How it Works Still Having Doubts? The Advantages of Dynamic Tracing DTrace SystemTap DTrace and SystemTap Applications of SystemTap in Production
OpenResty XRay Apr 10, 2024 OpenResty XRay Updated Apr 10, 2024 15 mins read The Wonderland of Dynamic Tracing (Part 2 of 3) Flame Graphs Methodology Knowledge Is Power Open-Source and Debug Symbols Flame Graphs Methodology Knowledge Is Power Open-Source and Debug Symbols
OpenResty XRay Apr 10, 2024 OpenResty XRay Updated Apr 10, 2024 7 mins read The Wonderland of Dynamic Tracing (Part 3 of 3) Dynamic Tracing Support in Linux Kernels Hardware Tracing Analyze Remains of Dead Process Traditional Debugging Technologies A Messy World of Debugging OpenResty XRay Dynamic Tracing Support in Linux Kernels Hardware Tracing Analyze Remains of Dead Process Traditional Debugging Technologies A Messy World of Debugging OpenResty XRay
OpenResty XRay Dec 28, 2022 OpenResty XRay Updated Dec 28, 2022 8 mins read Optimize Memory Fragmentation due to Huge Nginx Configuration Challenges Analyses Solutions Results Challenges Analyses Solutions Results
OpenResty XRay Feb 7, 2023 OpenResty XRay Updated Feb 7, 2023 1 min read New FAQ Doc for OpenResty XRay We recently prepared a new FAQ document for OpenResty XRay We recently prepared a new FAQ document for OpenResty XRay
OpenResty XRay Aug 28, 2023 OpenResty XRay Updated Aug 28, 2023 10 mins read Automatic Analysis Reports in OpenResty XRay The Past The Present The Future The Past The Present The Future
OpenResty XRay Apr 10, 2024 OpenResty XRay Updated Apr 10, 2024 6 mins read Resolving Bilibili’s major site incident with OpenResty XRay The incident Process of resolution Hardening after the incident OpenResty XRay Services The incident Process of resolution Hardening after the incident OpenResty XRay Services
OpenResty XRay Jun 28, 2023 OpenResty XRay Updated Jun 28, 2023 11 mins read Tracing the Slowest PCRE Regular Expressions in OpenResty or Nginx Processes System Environment Narrowing Down the Culprit without Guessing Limiting the execution overhead of PCRE Non-Backtracking Regular Expression Engines Lua’s Builtin Patterns Tracing Applications inside Containers How The Tools are Implemented The Overhead of the Tools System Environment Narrowing Down the Culprit without Guessing Limiting the execution overhead of PCRE Non-Backtracking Regular Expression Engines Lua’s Builtin Patterns Tracing Applications inside Containers How The Tools are Implemented The Overhead of the Tools
OpenResty XRay Apr 10, 2024 OpenResty XRay Updated Apr 10, 2024 9 mins read Listing Loaded Lua Modules in OpenResty or Nginx Processes System Environment Names of Loaded Lua Modules Running Directly in the Web Console Tracing Applications inside Containers How The Tools are Implemented The Overhead of the Tools System Environment Names of Loaded Lua Modules Running Directly in the Web Console Tracing Applications inside Containers How The Tools are Implemented The Overhead of the Tools
OpenResty XRay Apr 10, 2024 OpenResty XRay Updated Apr 10, 2024 12 mins read Analyzing the Most CPU-Consuming Requests in OpenResty or Nginx System Environment CPU-Hottest Request Hostnames CPU-Hottest Request URIs Digging Deeper Running Directly in the Web Console Tracing Applications inside Containers How The Tools are Implemented The Overhead of the Tools System Environment CPU-Hottest Request Hostnames CPU-Hottest Request URIs Digging Deeper Running Directly in the Web Console Tracing Applications inside Containers How The Tools are Implemented The Overhead of the Tools
OpenResty XRay Sep 20, 2023 OpenResty XRay Updated Sep 20, 2023 14 mins read Ylang: Universal Language for eBPF, Stap+, GDB, and More (Part 4 of 4) Transparent Container Tracing Efficient Stack Unwinding Analyzing Dead Processes (Core Dumps) Very Low Tracing Overhead Standard Ylang Libraries & Tools Network Filtering & Control The Ylang Compiler’s Implementation Operating System Support Contributions to Open-Source Communities Transparent Container Tracing Efficient Stack Unwinding Analyzing Dead Processes (Core Dumps) Very Low Tracing Overhead Standard Ylang Libraries & Tools Network Filtering & Control The Ylang Compiler’s Implementation Operating System Support Contributions to Open-Source Communities
OpenResty XRay Jul 10, 2023 OpenResty XRay Updated Jul 10, 2023 10 mins read Ylang: Universal Language for eBPF, Stap+, GDB, and More (Part 3 of 4) The Language Syntax (Continued) String Literals Built-in Regex Support Full Control-Flow Support Floating-Point Number Support Compared to Open-Source Toolchains Transparent Debug Symbol Handling Debug Symbols: No Runtime Overhead Centralized Package Database Fuzzy Matching Debug Symbols The Language Syntax (Continued) String Literals Built-in Regex Support Full Control-Flow Support Floating-Point Number Support Compared to Open-Source Toolchains Transparent Debug Symbol Handling Debug Symbols: No Runtime Overhead Centralized Package Database Fuzzy Matching Debug Symbols
OpenResty XRay Aug 21, 2023 OpenResty XRay Updated Aug 21, 2023 14 mins read Ylang: Universal Language for eBPF, Stap+, GDB, and More (Part 2 of 4) The Language Syntax (Continued) Macros with Extensions Tracer and Tracee Spaces Probes Extended Variable Types The Language Syntax (Continued) Macros with Extensions Tracer and Tracee Spaces Probes Extended Variable Types
OpenResty XRay Jul 10, 2023 OpenResty XRay Updated Jul 10, 2023 14 mins read 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 What is Dynamic Tracing Why the “Y” Name Getting Started Various Backends and Runtimes Why a Unified Frontend Language The Language Syntax
OpenResty XRay Apr 10, 2024 OpenResty XRay Updated Apr 10, 2024 19 mins read 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 What is a Flame Graph Simple Lua samples Complicated Lua applications Sampling overhead Safety Compatibility Other types of Lua-land Flame Graphs