view mod_measure_lua/mod_measure_lua.lua @ 5381:32a9817c7516

mod_firewall: Initialize compiled chunk just once for all handlers This should fix a case where some stateful dependencies (such as throttles) produce separate instances for every call to new_handler(), leading to surprising behaviour (e.g. rules executed via JUMP CHAIN vs ::deliver would have separate rate limits). This also adds better error handling in case the compiled code fails to run for some reason.
author Matthew Wild <mwild1@gmail.com>
date Fri, 28 Apr 2023 13:27:06 +0100
parents 78f1515575ab
children
line wrap: on
line source

module:set_global()

local custom_metric = require "core.statsmanager".metric
local gc_bytes = custom_metric(
	"gauge", "lua_heap", "bytes",
	"Memory used by objects under control of the Lua garbage collector"
):with_labels()

module:hook("stats-update", function ()
	local kbytes = collectgarbage("count");
  gc_bytes:set(kbytes * 1024);
end);

custom_metric("gauge", "lua_info", "", "Lua runtime version", { "version" }):with_labels(_VERSION):set(1);