mirror of
https://github.com/bjc/prosody.git
synced 2025-04-01 20:27:39 +03:00
The extremely verbose debug output. Nice for getting some idea which code runs most often, or where it pauses for no reason etc.
18 lines
450 B
Lua
18 lines
450 B
Lua
local data = {}
|
|
local getinfo = debug.getinfo;
|
|
local function linehook(ev, li)
|
|
local S = getinfo(2, "S");
|
|
if S and S.source and S.source:match"^@" then
|
|
local file = S.source:sub(2);
|
|
local lines = data[file];
|
|
if not lines then
|
|
lines = {};
|
|
data[file] = lines;
|
|
for line in io.lines(file) do
|
|
lines[#lines+1] = line;
|
|
end
|
|
end
|
|
io.stderr:write(ev, " ", file, " ", li, " ", lines[li], "\n");
|
|
end
|
|
end
|
|
debug.sethook(linehook, "l");
|