comparison mod_log_events_by_memory/mod_log_events_by_memory.lua @ 3615:5fe34e5f9829

mod_log_events_by_memory: Log events where Lua memory usage increased
author Kim Alvefur <zash@zash.se>
date Mon, 10 Jun 2019 14:38:06 +0200
parents
children
comparison
equal deleted inserted replaced
3614:f74444b0e187 3615:5fe34e5f9829
1 module:set_global();
2
3 local treshold = module:get_option_number("log_memory_threshold", 20*1024);
4
5 function event_wrapper(handlers, event_name, event_data)
6 local memory_before = collectgarbage("count")*1024;
7 local ret = handlers(event_name, event_data);
8 local memory_after = collectgarbage("count")*1024;
9 if (memory_after - memory_before) > treshold then
10 module:log("warn", "Memory increased by %g bytes while processing event '%s'", (memory_after - memory_before), event_name);
11 end
12 return ret;
13 end
14
15 local http_events = require "net.http.server"._events;
16 module:wrap_object_event(http_events, false, event_wrapper);
17
18 module:wrap_event(false, event_wrapper);
19 function module.add_host(module)
20 module:wrap_event(false, event_wrapper);
21 end