mod_log_json: Prefer native Lua table.pack over Prosody util.table one
Prosody is removing support for Lua 5.1, which was the reason for
util.table.pack to exist in the first place, since Lua 5.2+ provides
table.pack. In prosody rev 5eaf77114fdb everything was switched over to
use table.pack, opening the door for removing util.table.pack at some
point. This change here is to prepare for that future eventuality.
local statsman = require "core.statsmanager";
local st = require "util.stanza";
local s_format = string.format;
assert(statsman.get_stats, "not compatible with trunk based on openmetrics");
module:add_feature("http://jabber.org/protocol/stats");
module:hook("iq/host/http://jabber.org/protocol/stats:query", function (event)
local origin, stanza = event.origin, event.stanza;
local stats, _, extra = statsman.get_stats();
local reply = st.reply(stanza);
reply:tag("query", { xmlns = "http://jabber.org/protocol/stats" });
for stat, value in pairs(stats) do
local unit = extra[stat] and extra[stat].units;
reply:tag("stat", { name = stat, unit = unit, value = s_format("%.12g", value) }):up();
end
origin.send(reply);
return true;
end)