Mercurial > prosody-modules
annotate mod_log_events_by_cpu_usage/mod_log_events_by_cpu_usage.lua @ 5636:b3484a112300
mod_rest/rest.sh: Update to use httpie-oauth2 plugin
This bash implementation of OAuth2/OIDC was growing to the point where
it needed a massive refactor, which made me look into alternatives where
I finally settled on implementing oauth2 in a plugin for HTTPie.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 26 Aug 2023 14:37:04 +0200 |
parents | c0bc97c0ba61 |
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 |
3616
c0bc97c0ba61
mod_log_events_by_cpu_usage: Log events where more than a certain amount of CPU time was spent
Kim Alvefur <zash@zash.se>
parents:
3615
diff
changeset
|
3 local treshold = module:get_option_number("log_cpu_threshold", 0.01); |
3615
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) |
3616
c0bc97c0ba61
mod_log_events_by_cpu_usage: Log events where more than a certain amount of CPU time was spent
Kim Alvefur <zash@zash.se>
parents:
3615
diff
changeset
|
6 local cpu_before = os.clock(); |
3615
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); |
3616
c0bc97c0ba61
mod_log_events_by_cpu_usage: Log events where more than a certain amount of CPU time was spent
Kim Alvefur <zash@zash.se>
parents:
3615
diff
changeset
|
8 local cpu_after = os.clock(); |
c0bc97c0ba61
mod_log_events_by_cpu_usage: Log events where more than a certain amount of CPU time was spent
Kim Alvefur <zash@zash.se>
parents:
3615
diff
changeset
|
9 if (cpu_after - cpu_before) > treshold then |
c0bc97c0ba61
mod_log_events_by_cpu_usage: Log events where more than a certain amount of CPU time was spent
Kim Alvefur <zash@zash.se>
parents:
3615
diff
changeset
|
10 module:log("warn", "%g seconds of CPU usage while processing event '%s'", (cpu_after - cpu_before), event_name); |
3615
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 |