Mercurial > prosody-modules
comparison mod_log_slow_events/mod_log_slow_events.lua @ 2849:5e74028557dc
mod_log_slow_events: Turn into a shared module (fixes http events being logged multiple times)
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 21 Nov 2017 23:00:21 +0100 |
parents | 8c0bf3151e37 |
children | 3ba8fd1a297e |
comparison
equal
deleted
inserted
replaced
2848:232da6b1d2c1 | 2849:5e74028557dc |
---|---|
1 module:set_global(); | |
2 | |
1 local time = require "socket".gettime; | 3 local time = require "socket".gettime; |
2 local base64_decode = require "util.encodings".base64.decode; | 4 local base64_decode = require "util.encodings".base64.decode; |
3 | 5 |
4 local max_seconds = module:get_option_number("log_slow_events_threshold", 0.5); | 6 local max_seconds = module:get_option_number("log_slow_events_threshold", 0.5); |
5 | 7 |
50 module:log("warn", "Slow event '%s' took %0.2fs: %s", event_name, duration, next(data) and table.concat(data, ", ") or "no recognised data"); | 52 module:log("warn", "Slow event '%s' took %0.2fs: %s", event_name, duration, next(data) and table.concat(data, ", ") or "no recognised data"); |
51 end | 53 end |
52 return ret; | 54 return ret; |
53 end | 55 end |
54 | 56 |
55 module:wrap_event(false, event_wrapper); | |
56 local http_events = require "net.http.server"._events; | 57 local http_events = require "net.http.server"._events; |
57 module:wrap_object_event(http_events, false, event_wrapper); | 58 module:wrap_object_event(http_events, false, event_wrapper); |
58 | 59 |
60 function module.add_host(module) | |
61 module:wrap_event(false, event_wrapper); | |
62 end |