Mercurial > prosody-modules
view mod_measure_memory/mod_measure_memory.lua @ 6092:bd3ff802d883
mod_anti_spam: Fix another traceback for origin sessions without an IP
This is likely to be the case for stanzas originating from local hosts, for
example (so not true s2s). It should be safe to bypass the IP check for those.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Sat, 28 Dec 2024 21:02:08 +0000 |
| parents | e17c937a71b3 |
| children |
line wrap: on
line source
module:set_global(); local measure = require"core.statsmanager".measure; local measures = {}; setmetatable(measures, { __index = function (t, k) local m = measure("amount", "memory."..k, { units = "bytes" }); t[k] = m; return m; end }); module:hook("stats-update", function () measures.lua(collectgarbage("count")*1024); end); if require"lfs".attributes("/proc/self/statm", "mode") == "file" then local pagesize = module:get_option_number("memory_pagesize", 4096); -- getconf PAGESIZE module:hook("stats-update", function () local statm, err = io.open("/proc/self/statm"); if not statm then module:log("error", tostring(err)); return; end -- virtual memory (caches, opened librarys, everything) measures.total(statm:read("*n") * pagesize); -- resident set size (actually used memory) measures.rss(statm:read("*n") * pagesize); statm:close(); end); end
