Software /
code /
prosody-modules
File
mod_measure_malloc/mod_measure_malloc.lua @ 5636:7e5701fbae88
mod_invites_api: add `module:depends("http");` to use `module:http_url()` in `prosodyctl`.
author | Trần H. Trung <xmpp:trần.h.trung@trung.fun> |
---|---|
date | Mon, 31 Jul 2023 11:52:00 +0700 |
parent | 4758: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 () 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);