Mercurial > prosody-modules
view mod_measure_malloc/mod_measure_malloc.lua @ 4646:072d078be095
mod_storage_xmlarchive: Advertise capabilities (none atm)
Both 'total' and 'quota' would be prohibitively expensive for the kind
of archives this module targets as it would require counting items
across the entire archive.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 13 Aug 2021 01:18:32 +0200 |
parents | 5b4f43b90766 |
children | b9af1ccac98b |
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 () 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);