Bigwen-1 commented on issue #7671: URL: https://github.com/apache/apisix/issues/7671#issuecomment-1232649641
Hi, I'm sorry to bother you again. I'm really sorry that the flame map is still not drawn. https://github.com/apache/apisix/blob/master/.github/workflows/performance.yml appears to be every time a commit a jobs, because do not know how to put the whole yml, So I split each step to execute it. A total of 4 steps have been implemented, which are 1. - name: Install Dependencies run: sudo ./ci/performance_test.sh install_dependencies 2. - name: Install wrk2 run: sudo ./ci/performance_test.sh install_wrk2 3. - name: Install SystemTap Tools run: sudo ./ci/performance_test.sh install_stap_tools 4. - name: Perf Test run: ./ci/performance_test.sh run_performance_test Except for the third step, the other three provided errors are reported. The log is as follows. The generated flamegraph. SVG displays: ERROR: No Valid input provided to flamegraph.pl. In addition, I performed GRPC-Transcode concurrent pressure test by myself: /usr/local/stapxx/samples/lj-lua-stacks.sxx --arg time=30 --skip-badvars -x $(pgrep -P $(cat logs/nginx.pid) -n -f worker) > /tmp/tmp.bt Response: /usr/bin/env: 'stap++' : No such file or directory Here is the log information of four steps: 1. sudo ./ci/performance_test.sh install_dependencies ... cc -c -I/tmp/tmp.7pDCgwlqlx/openresty-1.19.9.1/build/luajit-root/usr/local/openresty-debug/luajit/include/luajit-2.1 -I/tmp/tmp.7pDCgwlqlx/openresty-1.19.9.1/build/luajit-root/usr/local/openresty-debug/luajit/include/luajit-2.1 -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -g -DNGX_LUA_USE_ASSERT -DNGX_LUA_ABORT_AT_PANIC -O2 -DAPISIX_BASE_VER=0.0.0 -DNDK_SET_VAR -DNDK_UPSTREAM_LIST -DNDK_SET_VAR -DNDK_SET_VAR -DNDK_SET_VAR -DNDK_SET_VAR -I src/core -I src/event -I src/event/modules -I src/os/unix -I ../ngx_devel_kit-0.3.1/objs -I objs/addon/ndk -I ../ngx_lua-0.10.20/src/api -I ../ngx_stream_lua-0.0.10/src/api -I /tmp/tmp.7pDCgwlqlx/openresty-1.19.9.1/../lua-var-nginx-module/src -I objs -I src/http -I src/http/modules -I src/http/v2 -I ../ngx_devel_kit-0.3.1/src -I ../ngx_devel_kit-0.3.1/src -I ../ngx_devel_kit-0.3.1/objs -I objs/addon/ndk -I /tmp/tmp.7pDCgwlqlx/openresty-1.19.9.1/build/luajit-root/usr/local/openresty-debug/luajit/include/luajit-2.1 -I /tmp/tmp.7pDCgw lqlx/openresty-1.19.9.1/../mod_dubbo -I /tmp/tmp.7pDCgwlqlx/openresty-1.19.9.1/../mod_dubbo/utils -I /tmp/tmp.7pDCgwlqlx/openresty-1.19.9.1/../mod_dubbo/hessian2 -I /tmp/tmp.7pDCgwlqlx/openresty-1.19.9.1/../ngx_multi_upstream_module -I /tmp/tmp.7pDCgwlqlx/openresty-1.19.9.1/../apisix-nginx-module/src -I /tmp/tmp.7pDCgwlqlx/openresty-1.19.9.1/../wasm-nginx-module/src -I /tmp/tmp.7pDCgwlqlx/openresty-1.19.9.1/../wasm-nginx-module/wasmtime-c-api/include -I src/stream -I /tmp/tmp.7pDCgwlqlx/openresty-1.19.9.1/build/luajit-root/usr/local/openresty-debug/luajit/include/luajit-2.1 -I /tmp/tmp.7pDCgwlqlx/openresty-1.19.9.1/../ngx_multi_upstream_module -I /tmp/tmp.7pDCgwlqlx/openresty-1.19.9.1/../apisix-nginx-module/src/stream/ \ -o objs/addon/src/ngx_http_lua_ndk.o \ ../ngx_lua-0.10.20/src/ngx_http_lua_ndk.c In file included from ../ngx_lua-0.10.20/src/ngx_http_lua_script.h:11:0, from ../ngx_lua-0.10.20/src/ngx_http_lua_script.c:13: ../ngx_lua-0.10.20/src/ngx_http_lua_common.h:26:30: fatal error: ngx_meta_lua_api.h: No such file or directory In file included from ../ngx_lua-0.10.20/src/ngx_http_lua_log.h:12:0, from ../ngx_lua-0.10.20/src/ngx_http_lua_log.c:14: ../ngx_lua-0.10.20/src/ngx_http_lua_common.h:26:30: fatal error: ngx_meta_lua_api.h: No such file or directory compilation terminated. compilation terminated. objs/Makefile:2390: recipe for target 'objs/addon/src/ngx_http_lua_script.o' failed make[2]: *** [objs/addon/src/ngx_http_lua_script.o] Error 1 make[2]: *** Waiting for unfinished jobs.... objs/Makefile:2397: recipe for target 'objs/addon/src/ngx_http_lua_log.o' failed make[2]: *** [objs/addon/src/ngx_http_lua_log.o] Error 1 In file included from ../ngx_lua-0.10.20/src/ngx_http_lua_subrequest.h:12:0, from ../ngx_lua-0.10.20/src/ngx_http_lua_subrequest.c:14: ../ngx_lua-0.10.20/src/ngx_http_lua_common.h:26:30: fatal error: ngx_meta_lua_api.h: No such file or directory compilation terminated. objs/Makefile:2404: recipe for target 'objs/addon/src/ngx_http_lua_subrequest.o' failed make[2]: *** [objs/addon/src/ngx_http_lua_subrequest.o] Error 1 In file included from ../ngx_lua-0.10.20/src/ngx_http_lua_ndk.h:11:0, from ../ngx_lua-0.10.20/src/ngx_http_lua_ndk.c:13: ../ngx_lua-0.10.20/src/ngx_http_lua_common.h:26:30: fatal error: ngx_meta_lua_api.h: No such file or directory compilation terminated. objs/Makefile:2411: recipe for target 'objs/addon/src/ngx_http_lua_ndk.o' failed make[2]: *** [objs/addon/src/ngx_http_lua_ndk.o] Error 1 make[2]: Leaving directory '/tmp/tmp.7pDCgwlqlx/openresty-1.19.9.1/build/nginx-1.19.9' Makefile:10: recipe for target 'build' failed make[1]: *** [build] Error 2 make[1]: Leaving directory '/tmp/tmp.7pDCgwlqlx/openresty-1.19.9.1/build/nginx-1.19.9' Makefile:4: recipe for target 'all' failed make: *** [all] Error 2 2.sudo ./ci/performance_test.sh install_wrk2 ..... AR libluajit.a ar: `u' modifier ignored since `D' is the default (see `U') CC luajit.o BUILDVM jit/vmdef.lua LINK luajit OK Successfully built LuaJIT make[1]: Leaving directory '/data/server/wrk2/deps/luajit/src' CC src/wrk.c src/wrk.c: In function ‘response_complete’: src/wrk.c:529:16: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 2 has type ‘int64_t {aka long int}’ [-Wformat=] printf(" expected_latency_timing = %lld\n", expected_latency_timing); ^ src/wrk.c:530:16: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 2 has type ‘uint64_t {aka long unsigned int}’ [-Wformat=] printf(" now = %lld\n", now); ^ src/wrk.c:531:16: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 2 has type ‘uint64_t {aka long unsigned int}’ [-Wformat=] printf(" expected_latency_start = %lld\n", expected_latency_start); ^ src/wrk.c:532:16: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 2 has type ‘uint64_t {aka long unsigned int}’ [-Wformat=] printf(" c->thread_start = %lld\n", c->thread_start); ^ src/wrk.c:533:16: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 2 has type ‘uint64_t {aka long unsigned int}’ [-Wformat=] printf(" c->complete = %lld\n", c->complete); ^ src/wrk.c:535:16: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 2 has type ‘uint64_t {aka long unsigned int}’ [-Wformat=] printf(" latest_should_send_time = %lld\n", c->latest_should_send_time); ^ src/wrk.c:536:16: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 2 has type ‘uint64_t {aka long unsigned int}’ [-Wformat=] printf(" latest_expected_start = %lld\n", c->latest_expected_start); ^ src/wrk.c:537:16: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 2 has type ‘uint64_t {aka long unsigned int}’ [-Wformat=] printf(" latest_connect = %lld\n", c->latest_connect); ^ src/wrk.c:538:16: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 2 has type ‘uint64_t {aka long unsigned int}’ [-Wformat=] printf(" latest_write = %lld\n", c->latest_write); ^ src/wrk.c:542:16: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 2 has type ‘uint64_t {aka long unsigned int}’ [-Wformat=] printf(" next expected_latency_start = %lld\n", expected_latency_start); ^ src/wrk.c: At top level: src/wrk.c:834:13: warning: ‘print_stats_latency’ defined but not used [-Wunused-function] static void print_stats_latency(stats *stats) { ^ CC src/net.c CC src/ssl.c CC src/aprintf.c CC src/stats.c CC src/script.c CC src/units.c CC src/ae.c CC src/zmalloc.c CC src/http_parser.c CC src/tinymt64.c CC src/hdr_histogram.c LUAJIT src/wrk.lua LINK wrk + ln -s /data/server/wrk2/wrk /usr/bin + cd .. 3. sudo ./ci/performance_test.sh install_stap_tools success 4. ./ci/performance_test.sh run_performance_test /local/openresty-debug/bin:/usr/local/openresty-debug/luajit/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin /usr/local/stapxx/samples/lj-lua-stacks.sxx --arg time=30 --skip-badvars -x 9056 Found exact match for libluajit: /usr/local/openresty/luajit/lib/libluajit-5.1.so.2.1.0 WARNING: cannot find module /usr/local/openresty/nginx/sbin/nginx debuginfo: No DWARF information found [man warning::debuginfo] WARNING: cannot find module /usr/local/openresty/luajit/lib/libluajit-5.1.so.2.1.0 debuginfo: No DWARF information found [man warning::debuginfo] semantic error: type definition 'lua_State' not found in '/usr/local/openresty/luajit/lib/libluajit-5.1.so.2.1.0': operator '@cast' at stapxx-4Sjl3xCx/luajit.stp:174:12 source: return @cast(L, "lua_State", "/usr/local/openresty/luajit/lib/libluajit-5.1.so.2.1.0")->glref->ptr64 ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at stapxx-4Sjl3xCx/nginx.lua.stp:9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unable to find global 'ngx_cycle' in /usr/local/openresty/nginx/sbin/nginx: operator '@var' at :9:43 source: return ngx_cycle_get_module_main_conf(@var("ngx_cycle", "/usr/local/openresty/nginx/sbin/nginx"), ^ semantic error: unresolved type : identifier 'gco' at stapxx-4Sjl3xCx/luajit.stp:461:5 source: gco = @cast(pt, "GCproto", "/usr/local/openresty/luajit/lib/libluajit-5.1.so.2.1.0")->chunkname->gcptr64 ^ Pass 2: analysis failed. [man error::pass2] Number of similar error messages suppressed: 136. Number of similar warning messages suppressed: 13104. Rerun with -v to see them. + sudo env PATH=/usr/local/FlameGraph:/usr/local/openresty-systemtap-toolkit:/usr/local/stapxx:/usr/local/stapxx/samples:/usr/local/openresty-debug/nginx/sbin:/usr/local/openresty-debug/bin:/usr/local/openresty-debug/luajit/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin /usr/local/openresty-systemtap-toolkit/fix-lua-bt /tmp/tmp.bt + sudo env PATH=/usr/local/FlameGraph:/usr/local/openresty-systemtap-toolkit:/usr/local/stapxx:/usr/local/stapxx/samples:/usr/local/openresty-debug/nginx/sbin:/usr/local/openresty-debug/bin:/usr/local/openresty-debug/luajit/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin /usr/local/FlameGraph/stackcollapse-stap.pl /tmp/flame.bt + sudo env PATH=/usr/local/FlameGraph:/usr/local/openresty-systemtap-toolkit:/usr/local/stapxx:/usr/local/stapxx/samples:/usr/local/openresty-debug/nginx/sbin:/usr/local/openresty-debug/bin:/usr/local/openresty-debug/luajit/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin /usr/local/FlameGraph/flamegraph.pl /tmp/flame.cbt ERROR: No stack counts found -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
