BPF Trace - Advanced Debugging
Overview
Syntax
Parameters
Parameter
Description
Example
Basic Example
Configuration
Expected Output
Understanding the Output
Syscall Types
Syscall
Description
Typical Usage
Event Phases
Field Reference
process_data Messages
process_data MessagesReal-World Example: Nginx HTTP→HTTPS Reverse Proxy
Scenario
Traffic Flow Visualization
Step-by-Step Syscall Trace
1. Accept Client Connection
2. Read HTTP Request from Client
3. Write HTTPS Request to Backend
4. Read HTTPS Response from Backend
5. Write HTTP Response to Client
6. Write Access Log
Filtering Options
Filter by Executable Name
No Filter (All Processes)
Log Level Requirements
Log Level
BPF Trace Output
Debugging Use Cases
1. Missing Response Data
2. Per-FD TLS State Issues
3. Understanding Data Flow
Common Patterns
HTTP Server (Single FD)
HTTPS Client (Single FD with SSL)
Reverse Proxy (Two FDs - HTTP + HTTPS)
Troubleshooting
No "eBPF trace" Output
Too Much Output
Syscall Not Appearing
Performance Considerations
Traffic Level
Overhead
Recommendation
Comparison: Regular Logs vs BPF Trace
Regular Qtap Logs (--log-level=info)
BPF Trace (--bpf-trace="mod:socket,exe.contains:nginx")
Related Configuration
Known Limitations
Summary
Feature
Value
Last updated