← Back
Openresty-Xray

Find the largest Python objects or values taking the most RAM (using OpenResty XRay)

  • Problem: high memory usage
  • Use the guided analysis feature of OpenResty XRay to find the largest Python objects or values taking the most RAM
  • Automatic analysis and reports
  • What is OpenResty XRay
  • Problem: high memory usage
  • Use the guided analysis feature of OpenResty XRay to find the largest Python objects or values taking the most RAM
  • Automatic analysis and reports
  • What is OpenResty XRay

How CPU time is spent inside Rust’s Sled library (using OpenResty XRay)

  • Problem: high CPU usage
  • Use the guidede analysis feature of OpenResty XRay to spot the most CPU-intensive Rust code paths
  • Automatic analysis and reports
  • What is OpenResty XRay
  • Problem: high CPU usage
  • Use the guidede analysis feature of OpenResty XRay to spot the most CPU-intensive Rust code paths
  • Automatic analysis and reports
  • What is OpenResty XRay

How CPU time is spent inside Go's etcd server (using OpenResty XRay)

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

How CPU time is spent inside llama.cpp + LLaMA2 (using OpenResty XRay)

  • Problem: high CPU usage
  • Use the guidede analysis feature of OpenResty XRay to spot the hottest C++ code paths
  • Automatic analysis and reports
  • What is OpenResty XRay
  • Problem: high CPU usage
  • Use the guidede analysis feature of OpenResty XRay to spot the hottest C++ code paths
  • Automatic analysis and reports
  • What is OpenResty XRay

Pinpointing the hottest Go code paths with high CPU usage (using OpenResty XRay)

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

Pinpointing the blocking Python code paths (using OpenResty XRay)

  • Problem: low CPU usage
  • Use the guidede analysis feature of OpenResty XRay to spot the blocking Python code paths
  • Automatic analysis and reports
  • What is OpenResty XRay
  • Problem: low CPU usage
  • Use the guidede analysis feature of OpenResty XRay to spot the blocking Python code paths
  • Automatic analysis and reports
  • What is OpenResty XRay

Pinpointing hottest Perl code paths (using OpenResty XRay)

  • Problem: high CPU usage
  • Use the guidede analysis feature of OpenResty XRay to spot the hottest Perl code paths
  • Automatic analysis and reports
  • What is OpenResty XRay
  • Problem: high CPU usage
  • Use the guidede analysis feature of OpenResty XRay to spot the hottest Perl code paths
  • Automatic analysis and reports
  • What is OpenResty XRay

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
Photo by Yichun Zhang
  • 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 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

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
Photo by Philip Brown
  • 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

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
Photo by L N
  • Dynamic Tracing Support in Linux Kernels
  • Hardware Tracing
  • Analyze Remains of Dead Process
  • Traditional Debugging Technologies
  • A Messy World of Debugging
  • OpenResty XRay

New FAQ Doc for OpenResty XRay

We recently prepared a new FAQ document for OpenResty XRay
Photo by Yichun Zhang
We recently prepared a new FAQ document for OpenResty XRay

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

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
Photo by Yichun Zhang
  • 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

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
Photo by Yichun Zhang
  • 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

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
Photo by Yichun Zhang
  • 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

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
Photo by Yichun Zhang
  • 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 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
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