File

mod_measure_malloc/mod_measure_malloc.lua @ 6325:6ea80b73d8f2

mod_http_oauth2: Only require redirect URIs when using grant types that need it In the Device flow, no redirect URI is used because the client instead receives responses by polling. It is therefore unnecessary to enforce a requirement that these include redirect URI(s).
author Kim Alvefur <zash@zash.se>
date Thu, 03 Jul 2025 15:42:42 +0200
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);