The current Apache APISIX Profile tool is based on systemtap, which can draw flame maps for Apache APISIX, but the original project is no longer continuously maintained, and Systemtap is not friendly to new versions of the kernel support, the tool is more complicated to use (you need to install systemtap, debug symbol, etc.)
Currently we already have a prove-of-concept demo repo for this tool, which can be the initial content for this project in the future: https://github.com/yunwei37/nginx-lua-ebpf-toolkit This POC is written in C/C++ with libbpf, and can be used as a binary cmd tool run on any supported Kernel versions. More details about how it works can be found in this POC repo. Considering the functionality of the project, I think it is more appropriate to call the subproject 'apisix-profile'. Subroject Function List: 1. Use eBPF to capture and parse lua call stack information in Apache APISIX, summarize it and generate cpu flame graphs. 2. Use eBPF to capture and parse both C and Lua mixed call stack information, summarize it and generate cpu flame graph. 3. Support fetching Apache APISIX processes running in Docker 4. Support to get Apache APISIX Openresty luajit 32/luajit 64 mode