mod_log_events_by_cpu_usage/mod_log_events_by_cpu_usage.lua
author Matthew Wild <mwild1@gmail.com>
Sat, 24 Sep 2022 09:26:26 +0100
changeset 5063 5f1120c284c5
parent 3620 c0bc97c0ba61
permissions -rw-r--r--
mod_cloud_notify_extensions: Add note about dependency Noting here because people might not click through to see it on the mod_cloud_notify_encrypted page.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3619
5fe34e5f9829 mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     1
module:set_global();
5fe34e5f9829 mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     2
3620
c0bc97c0ba61 mod_log_events_by_cpu_usage: Log events where more than a certain amount of CPU time was spent
Kim Alvefur <zash@zash.se>
parents: 3619
diff changeset
     3
local treshold = module:get_option_number("log_cpu_threshold", 0.01);
3619
5fe34e5f9829 mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     4
5fe34e5f9829 mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     5
function event_wrapper(handlers, event_name, event_data)
3620
c0bc97c0ba61 mod_log_events_by_cpu_usage: Log events where more than a certain amount of CPU time was spent
Kim Alvefur <zash@zash.se>
parents: 3619
diff changeset
     6
	local cpu_before = os.clock();
3619
5fe34e5f9829 mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     7
	local ret = handlers(event_name, event_data);
3620
c0bc97c0ba61 mod_log_events_by_cpu_usage: Log events where more than a certain amount of CPU time was spent
Kim Alvefur <zash@zash.se>
parents: 3619
diff changeset
     8
	local cpu_after = os.clock();
c0bc97c0ba61 mod_log_events_by_cpu_usage: Log events where more than a certain amount of CPU time was spent
Kim Alvefur <zash@zash.se>
parents: 3619
diff changeset
     9
	if (cpu_after - cpu_before) > treshold then
c0bc97c0ba61 mod_log_events_by_cpu_usage: Log events where more than a certain amount of CPU time was spent
Kim Alvefur <zash@zash.se>
parents: 3619
diff changeset
    10
		module:log("warn", "%g seconds of CPU usage while processing event '%s'", (cpu_after - cpu_before), event_name);
3619
5fe34e5f9829 mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    11
	end
5fe34e5f9829 mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    12
	return ret;
5fe34e5f9829 mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    13
end
5fe34e5f9829 mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    14
5fe34e5f9829 mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    15
local http_events = require "net.http.server"._events;
5fe34e5f9829 mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    16
module:wrap_object_event(http_events, false, event_wrapper);
5fe34e5f9829 mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    17
5fe34e5f9829 mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    18
module:wrap_event(false, event_wrapper);
5fe34e5f9829 mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    19
function module.add_host(module)
5fe34e5f9829 mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    20
	module:wrap_event(false, event_wrapper);
5fe34e5f9829 mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    21
end