mirror of
https://gitcode.com/GitHub_Trending/ji/jitsi-meet.git
synced 2025-12-30 11:22:31 +00:00
task: vendor mod_measure_stanza_counts.lua
changeset 6696075e26e2 https://hg.prosody.im/prosody-modules/raw-file/6696075e26e2/mod_measure_stanza_counts/mod_measure_stanza_counts.lua
This commit is contained in:
committed by
Дамян Минков
parent
68f954d068
commit
bbed4be61b
32
resources/prosody-plugins/mod_measure_stanza_counts.lua
Normal file
32
resources/prosody-plugins/mod_measure_stanza_counts.lua
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
module:set_global()
|
||||||
|
|
||||||
|
local filters = require"util.filters";
|
||||||
|
|
||||||
|
local stanzas_in = module:metric(
|
||||||
|
"counter", "received", "",
|
||||||
|
"Stanzas received by Prosody",
|
||||||
|
{ "session_type", "stanza_kind" }
|
||||||
|
)
|
||||||
|
local stanzas_out = module:metric(
|
||||||
|
"counter", "sent", "",
|
||||||
|
"Stanzas sent by prosody",
|
||||||
|
{ "session_type", "stanza_kind" }
|
||||||
|
)
|
||||||
|
|
||||||
|
local stanza_kinds = { message = true, presence = true, iq = true };
|
||||||
|
|
||||||
|
local function rate(metric_family)
|
||||||
|
return function (stanza, session)
|
||||||
|
if stanza.attr and not stanza.attr.xmlns and stanza_kinds[stanza.name] then
|
||||||
|
metric_family:with_labels(session.type, stanza.name):add(1);
|
||||||
|
end
|
||||||
|
return stanza;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function measure_stanza_counts(session)
|
||||||
|
filters.add_filter(session, "stanzas/in", rate(stanzas_in));
|
||||||
|
filters.add_filter(session, "stanzas/out", rate(stanzas_out));
|
||||||
|
end
|
||||||
|
|
||||||
|
filters.add_filter_hook(measure_stanza_counts);
|
||||||
Reference in New Issue
Block a user