debug info

This commit is contained in:
云风
2012-09-15 16:38:28 +08:00
parent c19846c3a5
commit 7e5ab8c48c
3 changed files with 26 additions and 2 deletions

View File

@@ -394,6 +394,12 @@ end
----- debug
local internal_info_func
function skynet.info_func(func)
internal_info_func = func
end
local dbgcmd = {}
function dbgcmd.MEM()
@@ -416,6 +422,14 @@ function dbgcmd.STAT()
skynet.ret(skynet.pack(stat))
end
function dbgcmd.INFO()
if internal_info_func then
skynet.ret(skynet.pack(internal_info_func()))
else
skynet.ret(skynet.pack(nil))
end
end
local function _debug_dispatch(session, address, cmd, ...)
local f = dbgcmd[cmd]
assert(f, cmd)

View File

@@ -1,11 +1,12 @@
local skynet = require "skynet"
local print_r = require "print_r"
local cmd = { ... }
skynet.start(function()
local list = skynet.call(".launcher","lua", unpack(cmd))
for k,v in pairs(list) do
print(k,v)
if list then
print_r(list)
end
skynet.exit()
end)

View File

@@ -26,6 +26,15 @@ function command.STAT()
skynet.ret(skynet.pack(list))
end
function command.INFO(handle)
if services[handle] == nil then
skynet.ret(skynet.pack(nil))
else
local result = skynet.call(handle,"debug","INFO")
skynet.ret(skynet.pack(result))
end
end
function command.KILL(handle)
skynet.kill(handle)
skynet.ret( skynet.pack({ [handle] = tostring(services[handle]) }))