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]

Reply via email to