[Tarantool-patches] [PATCH v4 0/2] Implement LuaJIT platform metrics

Sergey Kaplun skaplun at tarantool.org
Mon Oct 5 09:30:09 MSK 2020


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



More information about the Tarantool-patches mailing list