Mercurial > prosody-modules
view mod_log_events_by_memory/mod_log_events_by_memory.lua @ 4300:3f3b672b7616
mod_vcard_muc: Pass room object around instead of JID, hopefully fixing traceback
More efficient to pass the object around instead of using the JID
and looking up the object when needed.
It seems in some (undetermined) cases get_room_from_jid(room.jid) is nil.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Tue, 15 Dec 2020 10:49:11 +0000 |
parents | 5fe34e5f9829 |
children |
line wrap: on
line source
module:set_global(); local treshold = module:get_option_number("log_memory_threshold", 20*1024); function event_wrapper(handlers, event_name, event_data) local memory_before = collectgarbage("count")*1024; local ret = handlers(event_name, event_data); local memory_after = collectgarbage("count")*1024; if (memory_after - memory_before) > treshold then module:log("warn", "Memory increased by %g bytes while processing event '%s'", (memory_after - memory_before), event_name); end return ret; end local http_events = require "net.http.server"._events; module:wrap_object_event(http_events, false, event_wrapper); module:wrap_event(false, event_wrapper); function module.add_host(module) module:wrap_event(false, event_wrapper); end