- Tarantool 1.5+ or LuaJIT 2.0+
- libprofiler.so from gperftools package
- apt-get install libgoogle-perftools4 # Debian/Ubuntu, main repository
- yum install gperftools-libs # RHEL/CentOS/Fedora, EPEL repository
Use package for your distribution from http://tarantool.org/ repository. You can also use LuaRocks:
luarocks install https://raw.githubusercontent.com/tarantool/gperftools/master/gperftools-scm-1.rockspec --local
See tarantool/rocks for LuaRocks configuration details.
Start profiler:
tarantool> cpuprof = require('gperftools.cpu')
tarantool> cpuprof.start('/home/roman/tarantool-on-production.prof')
Wait some time to get performance metricrs to be collected (at least couple minutes).
Flush actual results to disk (you can do that multiple times):
tarantool> cpuprof.flush()
Analize the output (see documentation):
pprof --text /usr/bin/tarantool /home/roman/tarantool-on-production.prof
Stop profiling when you don’t need it anymore:
tarantool> cpuprof.stop()