Mercurial > prosody-modules
changeset 2708:07d6077d2db7
mod_measure_memory: Split out mallinfo measuring into a separate module, mod_measure_malloc
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 27 Apr 2017 19:52:42 +0200 |
parents | dea35dfd5808 |
children | 2e61642d2ff0 |
files | mod_measure_malloc/mod_measure_malloc.lua mod_measure_memory/mod_measure_memory.lua |
diffstat | 2 files changed, 17 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_measure_malloc/mod_measure_malloc.lua Thu Apr 27 19:52:42 2017 +0200 @@ -0,0 +1,17 @@ +module:set_global(); + +local measure = require"core.statsmanager".measure; +local pposix = require"util.pposix"; + +local measures = {}; +setmetatable(measures, { + __index = function (t, k) + local m = measure("sizes", "memory."..k); t[k] = m; return m; + end +}); +module:hook("stats-update", function () + local m = measures; + for k, v in pairs(pposix.meminfo()) do + m[k](v); + end +end);
--- a/mod_measure_memory/mod_measure_memory.lua Thu Apr 27 09:38:30 2017 +0200 +++ b/mod_measure_memory/mod_measure_memory.lua Thu Apr 27 19:52:42 2017 +0200 @@ -1,7 +1,6 @@ module:set_global(); local measure = require"core.statsmanager".measure; -local have_pposix, pposix = pcall(require, "util.pposix"); local measures = {}; setmetatable(measures, { @@ -14,15 +13,6 @@ measures.lua(collectgarbage("count")*1024); end); -if have_pposix and pposix.meminfo then - module:hook("stats-update", function () - local m = measures; - for k, v in pairs(pposix.meminfo()) do - m[k](v); - end - end); -end - if require"lfs".attributes("/proc/self/statm", "mode") == "file" then local pagesize = module:get_option_number("memory_pagesize", 4096); -- getconf PAGESIZE