Mercurial > prosody-modules
view mod_log_events_by_cpu_usage/mod_log_events_by_cpu_usage.lua @ 4065:92152437ecfe
mod_muc_markers: replace configurable multi-marker tracking with better system
Now tracks a single marker, but automatically applies rules from the XEP about
"higher" markers implying "lower" markers - i.e. "displayed" implies "received".
Still, just a single marker is tracked and synthesized at all times (the one
configured with muc_marker_name).
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Tue, 07 Jul 2020 17:08:08 +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