view mod_log_events_by_memory/README.markdown @ 4326:f6fdefc5c6ac

mod_roster_command: Fix subscription when the "user JID" is a bare domain. Do not attempt to update the roster when the user is bare domain (e.g. a component), since they don't have rosters and the attempt results in an error: $ prosodyctl mod_roster_command subscribe proxy.example.com contact@example.com xxxxxxxxxxFailed to execute command: Error: /usr/lib/prosody/core/rostermanager.lua:104: attempt to concatenate local 'username' (a nil value) stack traceback: /usr/lib/prosody/core/rostermanager.lua:104: in function 'load_roster' /usr/lib/prosody/core/rostermanager.lua:305: in function 'set_contact_pending_out' mod_roster_command.lua:44: in function 'subscribe'
author Boris Grozev <boris@jitsi.org>
date Tue, 05 Jan 2021 13:15:00 -0600
parents f781a90018f4
children
line wrap: on
line source

This module compares the memory usage reported by Lua before and after
each event and reports it to the log if it exceeds the configuration
setting `log_memory_threshold` (in bytes).

``` lua
log_memory_threshold = 20*1024
```

If you are looking to identify memory leaks, please first read [Three
kinds of memory
leaks](https://blog.nelhage.com/post/three-kinds-of-leaks/).

Prosody runs on Lua which uses automatic memory management with garbage
collection, so the numbers reported by this module are very likely to be
useless for the purpose of identifying memory leaks. Large, but
temporary, increases in memory usage can however highlight other kinds
of performance problems and sometimes even provide hits for where to
look for memory leaks.