Mercurial > prosody-modules
view mod_log_events_by_cpu_usage/mod_log_events_by_cpu_usage.lua @ 4976:75b6e5df65f9
various: Improve error reporting if missing file server module on 0.12
If there is some error loading net.http.files then it would be swallowed
by the pcall and then it would proceed to trying mod_http_files, which
might cause unexpected behavior on 0.12
Ref #1765
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 18 Jul 2022 22:47:54 +0200 |
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