view mod_log_events_by_memory/mod_log_events_by_memory.lua @ 4565:3b2ae854842c

mod_muc_bot: Save occupant to room This has some side-effects: Firstly, the bot shows up in occupant list, which is nice. Secondly, the bot starts receiving messages from the room which might be wanted, but it would be better to join the room for real in this case.
author Kim Alvefur <zash@zash.se>
date Sat, 10 Apr 2021 19:23:25 +0200
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