From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp54.i.mail.ru (smtp54.i.mail.ru [217.69.128.34]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id BADE4469719 for ; Mon, 5 Oct 2020 09:30:36 +0300 (MSK) From: Sergey Kaplun Date: Mon, 5 Oct 2020 09:30:09 +0300 Message-Id: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH v4 0/2] Implement LuaJIT platform metrics List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Igor Munkin , Sergey Ostanevich Cc: tarantool-patches@dev.tarantool.org The series consists of 2 patches. The first one adds corresponding counters to LuaJIT internal structures. The second provides C and Lua API using this counters to collect metrics. Branch: https://github.com/tarantool/luajit/tree/skaplun/gh-5187-luajit-metrics Issue: https://github.com/tarantool/tarantool/issues/5187 Changes in v2: - Fixed naming and comments - Fixed padding in struct GCState - Dropped unnecessary initialisations inside lua_newstate() - Avoided flushing any of metrics after each call of luaM_metrics() Changes in v3: - Cleaned up mess in Makefile.dep - Fixed naming and comments - Fixed padding in struct GCState for 64-bit architectures - Fixed counting amount of JIT traces - Fixed objects counting at trace recording - Added counting of colors - Added C and Lua tests Changes in v4: - Removed counting of colors - Changed global_State structure correspondingly for 32-bit arm build Sergey Kaplun (2): core: introduce various platform metrics misc: add C and Lua API for platform metrics Makefile | 2 +- src/Makefile | 5 +- src/Makefile.dep | 14 +- src/lib_init.c | 2 + src/lib_misc.c | 72 +++ src/lj_asm.c | 2 + src/lj_asm_arm.h | 7 + src/lj_asm_arm64.h | 7 + src/lj_asm_mips.h | 4 + src/lj_asm_ppc.h | 3 + src/lj_asm_x86.h | 4 + src/lj_cdata.c | 2 + src/lj_cdata.h | 2 + src/lj_gc.c | 4 + src/lj_gc.h | 6 +- src/lj_jit.h | 3 + src/lj_mapi.c | 61 +++ src/lj_obj.h | 28 +- src/lj_snap.c | 1 + src/lj_state.c | 2 +- src/lj_str.c | 5 + src/lj_tab.c | 2 + src/lj_trace.c | 6 +- src/lj_udata.c | 2 + src/ljamalg.c | 2 + src/lmisclib.h | 64 +++ src/luaconf.h | 1 + test/clib-misclib-getmetrics.test.lua | 174 ++++++++ test/clib-misclib-getmetrics/CMakeLists.txt | 1 + test/clib-misclib-getmetrics/testgetmetrics.c | 242 ++++++++++ test/lib-misc-getmetrics.test.lua | 418 ++++++++++++++++++ 31 files changed, 1130 insertions(+), 18 deletions(-) create mode 100644 src/lib_misc.c create mode 100644 src/lj_mapi.c create mode 100644 src/lmisclib.h create mode 100755 test/clib-misclib-getmetrics.test.lua create mode 100644 test/clib-misclib-getmetrics/CMakeLists.txt create mode 100644 test/clib-misclib-getmetrics/testgetmetrics.c create mode 100755 test/lib-misc-getmetrics.test.lua -- 2.28.0