Mercurial > prosody-modules
annotate mod_log_events_by_memory/README.markdown @ 5381:32a9817c7516
mod_firewall: Initialize compiled chunk just once for all handlers
This should fix a case where some stateful dependencies (such as throttles)
produce separate instances for every call to new_handler(), leading to
surprising behaviour (e.g. rules executed via JUMP CHAIN vs ::deliver would
have separate rate limits).
This also adds better error handling in case the compiled code fails to run
for some reason.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Fri, 28 Apr 2023 13:27:06 +0100 |
parents | f781a90018f4 |
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 This module compares the memory usage reported by Lua before and after |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 each event and reports it to the log if it exceeds the configuration |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 setting `log_memory_threshold` (in bytes). |
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 ``` lua |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 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
|
7 ``` |
5fe34e5f9829
mod_log_events_by_memory: Log events where Lua memory usage increased
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 |
3618
f781a90018f4
mod_log_events_by_memory: Add link to post explaining different kinds of memory leaks
Kim Alvefur <zash@zash.se>
parents:
3617
diff
changeset
|
9 If you are looking to identify memory leaks, please first read [Three |
f781a90018f4
mod_log_events_by_memory: Add link to post explaining different kinds of memory leaks
Kim Alvefur <zash@zash.se>
parents:
3617
diff
changeset
|
10 kinds of memory |
f781a90018f4
mod_log_events_by_memory: Add link to post explaining different kinds of memory leaks
Kim Alvefur <zash@zash.se>
parents:
3617
diff
changeset
|
11 leaks](https://blog.nelhage.com/post/three-kinds-of-leaks/). |
f781a90018f4
mod_log_events_by_memory: Add link to post explaining different kinds of memory leaks
Kim Alvefur <zash@zash.se>
parents:
3617
diff
changeset
|
12 |
3617
61b9c89db212
mod_log_events_by_memory: Add a rant to README about uselessness of this module
Kim Alvefur <zash@zash.se>
parents:
3615
diff
changeset
|
13 Prosody runs on Lua which uses automatic memory management with garbage |
61b9c89db212
mod_log_events_by_memory: Add a rant to README about uselessness of this module
Kim Alvefur <zash@zash.se>
parents:
3615
diff
changeset
|
14 collection, so the numbers reported by this module are very likely to be |
61b9c89db212
mod_log_events_by_memory: Add a rant to README about uselessness of this module
Kim Alvefur <zash@zash.se>
parents:
3615
diff
changeset
|
15 useless for the purpose of identifying memory leaks. Large, but |
61b9c89db212
mod_log_events_by_memory: Add a rant to README about uselessness of this module
Kim Alvefur <zash@zash.se>
parents:
3615
diff
changeset
|
16 temporary, increases in memory usage can however highlight other kinds |
61b9c89db212
mod_log_events_by_memory: Add a rant to README about uselessness of this module
Kim Alvefur <zash@zash.se>
parents:
3615
diff
changeset
|
17 of performance problems and sometimes even provide hits for where to |
61b9c89db212
mod_log_events_by_memory: Add a rant to README about uselessness of this module
Kim Alvefur <zash@zash.se>
parents:
3615
diff
changeset
|
18 look for memory leaks. |