Software /
code /
prosody-modules
File
mod_measure_muc/mod_measure_muc.lua @ 5407:149634647b48
mod_http_oauth2: Don't issue client_secret when not using authentication
This is pretty much only for implicit flow, which is considered insecure
anyway, so this is of limited value. If we delete all the implicit flow
code, this could be reverted.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 02 May 2023 16:39:32 +0200 |
parent | 3969:39931d727c22 |
line wrap: on
line source
-- Group Chat statistics -- -- Copyright (C) 2020 kaliko <kaliko@azylum.org> -- -- This module is MIT/X11 licensed. -- https://prosody.im/doc/developers/modules -- https://prosody.im/doc/developers/moduleapi -- https://prosody.im/doc/statistics module:log("info", "loading mod_%s", module.name); if module:get_host_type() ~= "component" then module:log("error", "mod_%s should be loaded only on a MUC component, not normal hosts", module.name); return; end local mod_muc = module:depends"muc"; local all_rooms = rawget(mod_muc, "all_rooms") -- Add relevant boolean MUC metrics here local counters = { hidden = module:measure("hidden", "amount", 0), persistent = module:measure("persistent", "amount", 0), password = module:measure('passwd', "amount", 0), archiving = module:measure('archiving', 'amount', 0), }; local total_counter = module:measure("total", "amount", 0); module:hook_global("stats-update", function () local total = 0; local buckets = {}; -- Init buckets for bucket, _ in pairs(counters) do buckets[bucket] = 0; end for room in all_rooms() do --[[ module:log('debug', 'room data for : "'..room.jid..'"'); for conf, val in pairs(room._data) do module:log('debug', conf..": "..tostring(val)); end ]]-- total = total + 1; --module:log('debug','buckets room data :'); for bucket, _ in pairs(buckets) do --module:log('debug', bucket..": "..tostring(room._data[bucket])); if room._data[bucket] then buckets[bucket] = buckets[bucket] + 1; end end end for bucket, count in pairs(buckets) do counters[bucket](count) end total_counter(total); end)