[Tarantool-patches] [PATCH luajit v2 7/7] tools: introduce a memory profile parser
Igor Munkin
imun at tarantool.org
Mon Dec 28 09:31:42 MSK 2020
Sergey,
On 28.12.20, Sergey Kaplun wrote:
> This is a patch for workaround of Tarantool's work with builtins.
> It is necessary to be able launch profiler parser something like
> this (with Tarantool only):
>
> | src/tarantool -e 'require"memprof"(arg[1])' - ~/tmp/uj_memprof/memprof_new.bin
Heck this. Still LGTM :)
>
> Branch is force-pushed.
>
> ===================================================================
> diff --git a/tools/memprof.lua b/tools/memprof.lua
> index a98e192..9f96208 100644
> --- a/tools/memprof.lua
> +++ b/tools/memprof.lua
> @@ -90,22 +90,30 @@ local function parseargs(args)
> return args[args.argn]
> end
>
> -local inputfile = parseargs(arg)
> +local function dump(inputfile)
> + local reader = bufread.new(inputfile)
> + local symbols = symtab.parse(reader)
> + local events = memprof.parse(reader, symbols)
>
> -local reader = bufread.new(inputfile)
> -local symbols = symtab.parse(reader)
> -local events = memprof.parse(reader, symbols)
> + stdout:write("ALLOCATIONS", "\n")
> + view.render(events.alloc, symbols)
> + stdout:write("\n")
>
> -stdout:write("ALLOCATIONS", "\n")
> -view.render(events.alloc, symbols)
> -stdout:write("\n")
> + stdout:write("REALLOCATIONS", "\n")
> + view.render(events.realloc, symbols)
> + stdout:write("\n")
>
> -stdout:write("REALLOCATIONS", "\n")
> -view.render(events.realloc, symbols)
> -stdout:write("\n")
> + stdout:write("DEALLOCATIONS", "\n")
> + view.render(events.free, symbols)
> + stdout:write("\n")
>
> -stdout:write("DEALLOCATIONS", "\n")
> -view.render(events.free, symbols)
> -stdout:write("\n")
> + os.exit(0)
> +end
>
> -os.exit(0)
> +-- FIXME: this script should be application-independent.
> +local args = {...}
> +if #args == 1 and args[1] == "memprof" then
> + return dump
> +else
> + dump(parseargs(args))
> +end
> ===================================================================
>
> --
> Best regards,
> Sergey Kaplun
--
Best regards,
IM
More information about the Tarantool-patches
mailing list