Comparison

plugins/mod_admin_telnet.lua @ 6936:2ca1d54d4b92

mod_admin_telnet: Add timer:info() which shows some basic info about util.timer
author Kim Alvefur <zash@zash.se>
date Wed, 25 Nov 2015 15:34:54 +0100
parent 6928:02717098cbba
child 6988:329d5fb8a9d3
comparison
equal deleted inserted replaced
6935:d12917643e65 6936:2ca1d54d4b92
332 print(" Used: "..human(mem.used/1024).." ("..human(lua_mem).." by Lua)"); 332 print(" Used: "..human(mem.used/1024).." ("..human(lua_mem).." by Lua)");
333 print(" Free: "..human(mem.unused/1024).." ("..human(mem.returnable/1024).." returnable)"); 333 print(" Free: "..human(mem.unused/1024).." ("..human(mem.returnable/1024).." returnable)");
334 return true, "OK"; 334 return true, "OK";
335 end 335 end
336 336
337 def_env.timer = {};
338
339 function def_env.timer:info()
340 local print = self.session.print;
341 local add_task = require"util.timer".add_task;
342 local h, params = add_task.h, add_task.params;
343 print("-- util.timer");
344 for i, id in ipairs(h.ids) do
345 if not params[id] then
346 print(os.date("%F %T", h.priorities[i]), h.items[id]);
347 elseif not params[id].callback then
348 print(os.date("%F %T", h.priorities[i]), h.items[id], unpack(params[id]));
349 else
350 print(os.date("%F %T", h.priorities[i]), params[id].callback, unpack(params[id]));
351 end
352 end
353 if server.event_base then
354 local count = 0;
355 for k, v in pairs(debug.getregistry()) do
356 if type(v) == "function" and v.callback == add_task._on_timer then
357 count = count + 1;
358 end
359 end
360 print(count .. " libevent callbacks");
361 end
362 local next_time = h:peek();
363 if next_time then
364 return true, os.date("Next event at %F %T", next_time);
365 end
366 return true;
367 end
368
337 def_env.module = {}; 369 def_env.module = {};
338 370
339 local function get_hosts_set(hosts, module) 371 local function get_hosts_set(hosts, module)
340 if type(hosts) == "table" then 372 if type(hosts) == "table" then
341 if hosts[1] then 373 if hosts[1] then