Lines Matching +full:stack +full:- +full:utils
1 #!/usr/bin/env bcc-lua
2 --[[
9 http://www.apache.org/licenses/LICENSE-2.0
85 address, info->size);
91 return function(BPF, utils)
92 local parser = utils.argparse("memleak", "Catch memory leaks")
93 parser:flag("-t --trace")
94 parser:flag("-a --show-allocs")
95 parser:option("-p --pid"):convert(tonumber)
97 parser:option("-i --interval", "", 5):convert(tonumber)
98 parser:option("-o --older", "", 500):convert(tonumber)
99 parser:option("-s --sample-rate", "", 1):convert(tonumber)
101 parser:option("-z --min-size", ""):convert(tonumber)
102 parser:option("-Z --max-size", ""):convert(tonumber)
103 parser:option("-T --top", "", 10):convert(tonumber)
139 bpf:attach_kprobe{event="__kmalloc", fn_name="alloc_exit", retprobe=true} -- TODO
157 local now = utils.posix.time_ns()
163 if now - min_age_ns >= tonumber(info.timestamp_ns) then
172 local stack = stack_traces:get(stack_id, resolve)
173 alloc_info[stack_id] = { stack=stack, count=1, size=tonumber(info.size) }
187 print("\t%d bytes in %d allocations from stack\n\t\t%s" %
188 {alloc.size, alloc.count, table.concat(alloc.stack, "\n\t\t")})
200 utils.posix.sleep(args.interval)