Mercurial > prosody-modules
view mod_measure_malloc/mod_measure_malloc.lua @ 6534:5aeefc2251d4
mod_firewall: Load a script completely or not at all
Previously it was possible that some chains would load, but others would not.
This can be surprising (that a "half-loaded" state is possible) and hard to
debug.
This change makes it so that if some chains don't compile, the whole script
will be treated as not loaded.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Wed, 06 May 2026 16:15:38 +0100 |
| parents | b9af1ccac98b |
| children |
line wrap: on
line source
module:set_global(); local metric = require"core.statsmanager".metric; local pposix = require"util.pposix"; local allocated = metric( "gauge", "malloc_heap_allocated", "bytes", "Allocated bytes by mode of allocation", {"mode"} ); local used = metric( "gauge", "malloc_heap_used", "bytes", "Used bytes" ):with_labels(); local unused = metric( "gauge", "malloc_heap_unused", "bytes", "Unused bytes" ):with_labels(); local returnable = metric( "gauge", "malloc_heap_returnable", "bytes", "Returnable bytes" ):with_labels(); module:hook("stats-update", function () local meminfo = pposix.meminfo(); if meminfo.allocated then allocated:with_labels("sbrk"):set(meminfo.allocated); end if meminfo.allocated_mmap then allocated:with_labels("mmap"):set(meminfo.allocated_mmap); end if meminfo.used then used:set(meminfo.used); end if meminfo.unused then unused:set(meminfo.unused); end if meminfo.returnable then returnable:set(meminfo.returnable); end end);
