Mercurial > prosody-modules
annotate mod_log_events_by_memory/mod_log_events_by_memory.lua @ 5354:39d59d857bfb
mod_http_oauth2: Use new mod_cron API for periodic cleanup
Less frequent but this isn't that important after all since, as the
comment states, expired codes are not usable anyway. They're also not
that large so memory usage probably doesn't matter.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 22 Apr 2023 11:59:52 +0200 |
parents | 5fe34e5f9829 |
children |
rev | line source |
---|---|
3615
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 module:set_global(); |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 local treshold = module:get_option_number("log_memory_threshold", 20*1024); |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 function event_wrapper(handlers, event_name, event_data) |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 local memory_before = collectgarbage("count")*1024; |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 local ret = handlers(event_name, event_data); |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 local memory_after = collectgarbage("count")*1024; |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 if (memory_after - memory_before) > treshold then |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 module:log("warn", "Memory increased by %g bytes while processing event '%s'", (memory_after - memory_before), event_name); |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 end |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 return ret; |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 end |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 local http_events = require "net.http.server"._events; |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 module:wrap_object_event(http_events, false, event_wrapper); |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 module:wrap_event(false, event_wrapper); |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 function module.add_host(module) |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 module:wrap_event(false, event_wrapper); |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 end |