Software /
code /
prosody-modules
File
mod_measure_client_features/mod_measure_client_features.lua @ 5615:1893ae742f66
mod_http_oauth2: Show errors on device flow user code entry page
If the user enters the code incorrectly, having to click back to try
again is no fun. Instead, show the error and the code entry form again.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 19 Jul 2023 13:05:47 +0200 |
parent | 3374:5fdbf416bd40 |
line wrap: on
line source
module:set_global(); local measure = require"core.statsmanager".measure; local disco_ns = "http://jabber.org/protocol/disco#info"; local counters = { total = measure("amount", "client_features.total"); }; module:hook("stats-update", function () local total = 0; local buckets = {}; for _, session in pairs(prosody.full_sessions) do local disco_info = session.caps_cache; if disco_info ~= nil then for feature in disco_info:childtags("feature", disco_ns) do local var = feature.attr.var; if var ~= nil then if buckets[var] == nil then buckets[var] = 0; end buckets[var] = buckets[var] + 1; end end total = total + 1; end end for bucket, count in pairs(buckets) do if counters[bucket] == nil then counters[bucket] = measure("amount", "client_features."..bucket); end counters[bucket](count); end counters.total(total); end)