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
OpenResty XRay Jul 6, 2023 OpenResty XRay Updated Jul 6, 2023 10 mins read 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 An empty zone Filling entries of similar sizes Deleting odd-numbered keys Deleting the keys in the first half Mitigating Fragmentation
OpenResty XRay Jul 6, 2023 OpenResty XRay Updated Jul 6, 2023 13 mins read 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 Slabs and pages What is allocated is not what is paid for Fake Memory Leaks HUP reload
OpenResty XRay Apr 10, 2024 OpenResty XRay Updated Apr 10, 2024 11 mins read How OpenResty and Nginx Allocate and Manage Memory On The System Level On The Application Level For Traditional Nginx Servers On The System Level On The Application Level For Traditional Nginx Servers
OpenResty XRay Apr 10, 2024 OpenResty XRay Updated Apr 10, 2024 16 mins read The LuaJIT GC64 Mode The Old Memory Limit When Hitting The Memory Limit The Memory Limit Is Per Process GC-Managed Memory Memory Allocated Outside GC Extending The x64 Mode to The 4 GB Limit The New GC64 Mode How to Enable The GC64 Mode Performance Impact Debugging and Profiling Tool Chains The Old Memory Limit When Hitting The Memory Limit The Memory Limit Is Per Process GC-Managed Memory Memory Allocated Outside GC Extending The x64 Mode to The 4 GB Limit The New GC64 Mode How to Enable The GC64 Mode Performance Impact Debugging and Profiling Tool Chains