view mod_log_events_by_memory/mod_log_events_by_memory.lua @ 5365:698fef74ce53

mod_http_oauth2: Allow only l10n variants of name in client metadata Since "client_name" seems to be the only human readable non-URI property that makes sense to have localized version of. Therefore it seems excessive to allow arbitrary additionalProperties. We don't make use of localized versions of client_name and URIs yet, but it would be nice to do so.
author Kim Alvefur <zash@zash.se>
date Tue, 25 Apr 2023 17:38:36 +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