Mercurial > prosody-modules
view mod_log_events_by_memory/mod_log_events_by_memory.lua @ 4579:b305814bd930
mod_muc_dicebot: A thing to roll dice
Do you see what happens, Jitsi? Do you see what happens when you
make it hard for me to use a proper bot? This is what happens,
Jitsi. This is what happens when you meet a stranger in the alps!
Ahem. In all seriousness, this is more of a quick hack than
anything else. It will look for `.r` in MUC messages and if it
finds it, it'll interpret it as an instruction to roll a few
dice. Injects the results in the body of the message. Eats the
message alive if it is malformed.
author | Jonas Schäfer <jonas@wielicki.name> |
---|---|
date | Sat, 29 May 2021 15:17:05 +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