projects
/
project
/
luci.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
7372c00
)
libs/core: make memory tracer work with c and r events, avoid string allocations...
author
Jo-Philipp Wich
<jow@openwrt.org>
Fri, 10 Jul 2009 13:15:43 +0000
(13:15 +0000)
committer
Jo-Philipp Wich
<jow@openwrt.org>
Fri, 10 Jul 2009 13:15:43 +0000
(13:15 +0000)
libs/core/luasrc/debug.lua
patch
|
blob
|
history
diff --git
a/libs/core/luasrc/debug.lua
b/libs/core/luasrc/debug.lua
index
f991ab8
..
d64700e
100644
(file)
--- a/
libs/core/luasrc/debug.lua
+++ b/
libs/core/luasrc/debug.lua
@@
-6,13
+6,20
@@
module "luci.debug"
__file__ = debug.getinfo(1, 'S').source:sub(2)
-- Enables the memory tracer with given flags and returns a function to disable the tracer again
__file__ = debug.getinfo(1, 'S').source:sub(2)
-- Enables the memory tracer with given flags and returns a function to disable the tracer again
-function trap_memtrace(flags)
- flags = flags or "
l
"
- local tracefile = io.open("/tmp/memtrace", "w")
+function trap_memtrace(flags
, dest
)
+ flags = flags or "
clr
"
+ local tracefile = io.open(
dest or
"/tmp/memtrace", "w")
local function trap(what, line)
local info = debug.getinfo(2, "Sn")
local function trap(what, line)
local info = debug.getinfo(2, "Sn")
- tracefile:write(info.source..":"..line.."\t"..(info.namewhat or "").."\t"..(info.name or "").."\t"..collectgarbage("count").."\n")
+ if tracefile then
+ tracefile:write(
+ "[", what, "] ", info.source, ":", (line or "?"), "\t",
+ (info.namewhat or ""), "\t",
+ (info.name or ""), "\t",
+ collectgarbage("count"), "\n"
+ )
+ end
end
debug.sethook(trap, flags)
end
debug.sethook(trap, flags)