libs/core: debug.lua use integers for memory size and peak value

This commit is contained in:
Jo-Philipp Wich 2009-07-23 03:19:46 +00:00
parent 3e0b6b681c
commit 3f1393006e

View file

@ -1,6 +1,6 @@
local debug = require "debug" local debug = require "debug"
local io = require "io" local io = require "io"
local collectgarbage = collectgarbage local collectgarbage, floor = collectgarbage, math.floor
module "luci.debug" module "luci.debug"
__file__ = debug.getinfo(1, 'S').source:sub(2) __file__ = debug.getinfo(1, 'S').source:sub(2)
@ -13,15 +13,16 @@ function trap_memtrace(flags, dest)
local function trap(what, line) local function trap(what, line)
local info = debug.getinfo(2, "Sn") local info = debug.getinfo(2, "Sn")
if collectgarbage("count") > peak then local size = floor(collectgarbage("count"))
peak = collectgarbage("count") if size > peak then
peak = size
end end
if tracefile then if tracefile then
tracefile:write( tracefile:write(
"[", what, "] ", info.source, ":", (line or "?"), "\t", "[", what, "] ", info.source, ":", (line or "?"), "\t",
(info.namewhat or ""), "\t", (info.namewhat or ""), "\t",
(info.name or ""), "\t", (info.name or ""), "\t",
collectgarbage("count"), " (", peak, ")\n" size, " (", peak, ")\n"
) )
end end
end end