view mod_log_events_by_cpu_usage/mod_log_events_by_cpu_usage.lua @ 4499:8e644bf36627

mod_rest: Change OOB namespace to the one used in messages Because of it's current popularity as companion to HTTP Upload this is probably more useful than the iq one.
author Kim Alvefur <zash@zash.se>
date Sun, 07 Mar 2021 01:26:20 +0100
parents c0bc97c0ba61
children
line wrap: on
line source

module:set_global();

local treshold = module:get_option_number("log_cpu_threshold", 0.01);

function event_wrapper(handlers, event_name, event_data)
	local cpu_before = os.clock();
	local ret = handlers(event_name, event_data);
	local cpu_after = os.clock();
	if (cpu_after - cpu_before) > treshold then
		module:log("warn", "%g seconds of CPU usage while processing event '%s'", (cpu_after - cpu_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