← Back
openresty-xray

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

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

  • Problem: high CPU usage
  • Spot the CPU-hottest Erlang code paths
  • Automatic analysis and reports
  • What is OpenResty XRay
  • Problem: high CPU usage
  • Spot the CPU-hottest Erlang code paths
  • Automatic analysis and reports
  • What is OpenResty XRay

How to Trace Exceptions inside Perl Applications (using OpenResty XRay)

  • How to detect and analyze exceptions inside Perl applications
  • Automatic analysis and reports
  • What is OpenResty XRay
  • How to detect and analyze exceptions inside Perl applications
  • Automatic analysis and reports
  • What is OpenResty XRay

Analyze OpenResty/Nginx Applications without Debug Symbols (using OpenResty XRay)

  • Problem: Debug Symbols are missing
  • Automatically Analyze and Rebuild Debug Symbols
  • Automatic analysis and reports
  • What is OpenResty XRay
  • Problem: Debug Symbols are missing
  • Automatically Analyze and Rebuild Debug Symbols
  • Automatic analysis and reports
  • What is OpenResty XRay

Automatic Core Dump Analysis (using OpenResty XRay)

  • Check the core dump file
  • Use the guided analysis feature of OpenResty XRay to analyze the core file
  • Automatic analysis and reports
  • What is OpenResty XRay
  • Check the core dump file
  • Use the guided analysis feature of OpenResty XRay to analyze the core file
  • Automatic analysis and reports
  • What is OpenResty XRay

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

Pinpointing the Hottest Go Code Paths with High Disk I/O (using OpenResty XRay)

  • Problem: high disk I/O
  • Use the guidede analysis feature of OpenResty XRay to spot the problematic Go code paths
  • Automatic analysis and reports
  • What is OpenResty XRay
  • Problem: high disk I/O
  • Use the guidede analysis feature of OpenResty XRay to spot the problematic Go code paths
  • Automatic analysis and reports
  • What is OpenResty XRay

How CPU Time is Spent inside Envoy Servers (using OpenResty XRay)

  • Problem: high CPU usage
  • Use the guidede analysis feature of OpenResty XRay to spot the most CPU-intensive C++ code paths inside Envoy Servers
  • 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 C++ code paths inside Envoy Servers
  • Automatic analysis and reports
  • What is OpenResty XRay

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

  • Problem: high CPU usage
  • Use the guidede analysis feature of OpenResty XRay to spot the CPU-hottest PHP 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 CPU-hottest PHP code paths
  • Automatic analysis and reports
  • What is OpenResty XRay

How to Locate Exceptions inside Go Applications (using OpenResty XRay)

  • How to detect and analyze exceptions inside live Go applications
  • Automatic analysis and reports
  • What is OpenResty XRay
  • How to detect and analyze exceptions inside live Go applications
  • Automatic analysis and reports
  • What is OpenResty XRay

How CPU Time is Spent inside PHP Laravel Apps (using OpenResty XRay)

  • Problem: high CPU usage
  • Use the Guidede Analysis Feature of OpenResty XRay to Analyze CPU Distribution in Laravel Application
  • Automatic analysis and reports
  • What is OpenResty XRay
  • Problem: high CPU usage
  • Use the Guidede Analysis Feature of OpenResty XRay to Analyze CPU Distribution in Laravel Application
  • Automatic analysis and reports
  • What is OpenResty XRay

Find Blocking Perl Code Paths Holding back CPU Usage (Using OpenResty XRay)

  • Problem: low CPU usage
  • Use the guided analysis feature of OpenResty XRay to spot the blocking Perl code paths
  • Automatic analysis and reports
  • What is OpenResty XRay
  • About The Author
  • Problem: low CPU usage
  • Use the guided analysis feature of OpenResty XRay to spot the blocking Perl code paths
  • Automatic analysis and reports
  • What is OpenResty XRay
  • About The Author

How to Locate Exceptions inside Rust Applications (using OpenResty XRay)

  • How to detect and analyze exceptions inside live Rust applications
  • Automatic analysis and reports
  • What is OpenResty XRay
  • How to detect and analyze exceptions inside live Rust applications
  • Automatic analysis and reports
  • What is OpenResty XRay

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

  • Problem: high CPU usage
  • Use the guidede 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 guidede analysis feature of OpenResty XRay to spot the CPU-hottest Go code paths
  • Automatic analysis and reports
  • What is OpenResty XRay

How to Diagnose HTTP 504 Timeout Errors using OpenResty XRay

  • Problem: HTTP 504 gateway timeout errors
  • Use the guidede analysis feature of OpenResty XRay to diagnose these errors
  • Automatic analysis and reports
  • What is OpenResty XRay
  • Problem: HTTP 504 gateway timeout errors
  • Use the guidede analysis feature of OpenResty XRay to diagnose these errors
  • Automatic analysis and reports
  • What is OpenResty XRay

How CPU Time is Spent inside Go’s CockroachDB (using OpenResty XRay)

  • Problem: high CPU usage
  • Use the guidede analysis feature of OpenResty XRay to spot the most CPU-intensive 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 most CPU-intensive Go code paths
  • Automatic analysis and reports
  • What is OpenResty XRay

Performance Overhead of OpenResty XRay when Tracing Perl Apps

  • Process Performance Before Running Analysis
  • Performance Impact When the Analyzer is Running
  • Impact Measurement on Throughput and Latency
  • What is OpenResty XRay
  • Process Performance Before Running Analysis
  • Performance Impact When the Analyzer is Running
  • Impact Measurement on Throughput and Latency
  • What is OpenResty XRay

Locate Large Memory Objects inside Perl Processes (using OpenResty XRay)

  • Problem: high memory usage
  • Use the guided analysis feature of OpenResty XRay to find the largest Perl 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 Perl objects or values taking the most RAM
  • Automatic analysis and reports
  • What is OpenResty XRay

Performance Overhead of OpenResty XRay when Tracing Go Apps

  • Process Performance Before Running Analysis
  • Performance Impact When the Analyzer is Running
  • Impact Measurement on Throughput and Latency
  • What is OpenResty XRay
  • Process Performance Before Running Analysis
  • Performance Impact When the Analyzer is Running
  • Impact Measurement on Throughput and Latency
  • What is OpenResty XRay

Install OpenResty XRay’s Agents on Ubuntu via Deb Packages

  • Logging in to the Console
  • Installing the Agent via Deb Packages
  • Checking the Agent Status and Logs
  • 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 Deb Packages
  • Checking the Agent Status and Logs
  • Configuring and Detecting Applications
  • Initiating Analyzers and Viewing Insights
  • Install Another Agent
  • What is OpenResty XRay

Performance Impact of OpenResty XRay when Tracing PHP Apps (using OpenResty XRay)

  • Process Performance Before Running Analysis
  • Performance Impact When the Analyzer is Running
  • Impact Measurement on Throughput and Latency
  • What is OpenResty XRay
  • Process Performance Before Running Analysis
  • Performance Impact When the Analyzer is Running
  • Impact Measurement on Throughput and Latency
  • What is OpenResty XRay

Performance Impact of OpenResty XRay when Tracing Python Apps (using OpenResty XRay)

  • Process Performance Before Running Analysis
  • Performance Impact When the Analyzer is Running
  • Impact Measurement on Throughput and Latency
  • What is OpenResty XRay
  • Process Performance Before Running Analysis
  • Performance Impact When the Analyzer is Running
  • Impact Measurement on Throughput and Latency
  • What is OpenResty XRay

Performance Impact of OpenResty XRay when Tracing Rust Apps (using OpenResty XRay)

  • Process Performance Before Running Analysis
  • Performance Impact When the Analyzer is Running
  • Impact Measurement on Throughput and Latency
  • What is OpenResty XRay
  • Process Performance Before Running Analysis
  • Performance Impact When the Analyzer is Running
  • Impact Measurement on Throughput and Latency
  • What is OpenResty XRay

Dynamic-Tracing Custom Go Programs with Custom Ylang Analyzers (using OpenResty XRay)

  • Insert two key-value Pairs into a Go Variable
  • Write a Customize Ylang Analyzer to Dynamically Trace the Go program
  • Test the Results
  • What is OpenResty XRay
  • Insert two key-value Pairs into a Go Variable
  • Write a Customize Ylang Analyzer to Dynamically Trace the Go program
  • Test the Results
  • What is OpenResty XRay

How Python Django's Application Uses Memory Internally (Using OpenResty XRay)

  • Problem: high memory usage
  • Use the guidede analysis feature of OpenResty XRay to analyze the django application
  • Automatic analysis and reports
  • What is OpenResty XRay
  • Problem: high memory usage
  • Use the guidede analysis feature of OpenResty XRay to analyze the django application
  • Automatic analysis and reports
  • What is OpenResty XRay

Install OpenResty XRay’s Agents on CentOS via RPM Packages

  • Logging in to the Console
  • Installing the Agent via RPM Packages
  • Checking the Agent Status and Logs
  • 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 RPM Packages
  • Checking the Agent Status and Logs
  • Configuring and Detecting Applications
  • Initiating Analyzers and Viewing Insights
  • Install Another Agent
  • What is 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

Find Blocking Go Code Paths Holding back CPU Usage (Using OpenResty XRay)

  • Problem: low CPU usage
  • Use the guidede analysis feature of OpenResty XRay to spot the blocking Go 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 Go 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

Two bugs in Linux kernels' tracing subsystem (found by OpenResty XRay)

  • Kernel deadlocks in user-space memory reading
  • Data races in x86 breakpoint insertion of the kernel
  • What is OpenResty XRay
Photo by Yichun Zhang
  • Kernel deadlocks in user-space memory reading
  • Data races in x86 breakpoint insertion of the kernel
  • 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

Pinpointing hottest Lua code paths in online OpenResty/Nginx servers (using OpenResty XRay)

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

How we solved a CPU bottleneck caused by Lua exceptions in a custom Kong plugin (using OpenResty XRay)

  • The problem: high CPU usage in Kong servers
  • The analysis & report
  • The result: improved performance and reduced CPU usage
Photo by Yichun Zhang
  • The problem: high CPU usage in Kong servers
  • The analysis & report
  • The result: improved performance and reduced CPU usage

Memory and CPU usage statistics among Kong plugins online (using OpenResty XRay)

  • CPU usage among all Kong plugins in a server process
  • Memory usage among all Kong plugins in a server process
  • Extra overhead for the servers
Photo by Yichun Zhang
  • CPU usage among all Kong plugins in a server process
  • Memory usage among all Kong plugins in a server process
  • Extra overhead for the servers

Troubleshooting the extra 200-ms request latency online

  • The Problem
  • The Analsysis Process
  • Fully-automated analysis
  • What is OpenResty XRay
Photo by Yichun Zhang
  • The Problem
  • The Analsysis Process
  • Fully-automated analysis
  • What is OpenResty XRay

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

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

When Lua IPC Pipes Block OpenResty or Nginx's Event Loops

  • The Problem
  • Analyses
  • Solutions
  • Results
Photo by Yichun Zhang
  • The Problem
  • Analyses
  • Solutions
  • Results

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 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

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

Optimize Memory Fragmentation due to Huge Nginx Configuration

  • Challenges
  • Analyses
  • Solutions
  • Results
Photo by Yichun Zhang
  • Challenges
  • Analyses
  • Solutions
  • Results

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

Automatic Analysis Reports in OpenResty XRay

  • The Past
  • The Present
  • The Future
Photo by Yichun Zhang
  • The Past
  • The Present
  • The Future

Resolving Bilibili’s major site incident with OpenResty XRay

  • The incident
  • Process of resolution
  • Hardening after the incident
  • OpenResty XRay Services
Photo by Yichun Zhang
  • The incident
  • Process of resolution
  • Hardening after the incident
  • OpenResty XRay Services
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