Description
Background:
At the moment, Apache APISIX does not have a very useful profile tool for profiling CPU or memory, and the developer can only use benchmarking or printing logs to profile the Apache APISIX.
Description:
Use eBPF to create a profile tool for Apache APISIX, use eBPF to capture the Lua call stack information in Apache APISIX, and draw it into a CPU flame graph.
Task
1. Use eBPF to capture and parse the Lua call stack information in Apache APISIX, summarize it, and generate a CPU flame graph
2. Use eBPF to capture and parse C and Lua mixed call stack information at the same time, summarize it and generate a CPU flame graph
3. Support grabbing Apache APISIX processes running in Docker
4. Support for grabbing Apache APISIX Openresty luajit32/luajit64 mode
Recommended Skills:
1. Familiar with Lua/C
2. Have some knowledge about eBPF and Openresty
3. Familiar with profile
Mentor
Hui Li(Tencent), PMC of Apache APISIX, https://github.com/miss-you, [yousa@apache.org([yousa@apache.org|mailto:yousa@apache.org])
Difficulty: Hard
Project size: ~350 hour (large)
Potential mentors:
Hui Li, mail: yousa (at) apache.org