Software /
code /
prosody-modules
File
mod_measure_client_presence/mod_measure_client_presence.lua @ 5549:01a0b67a9afd
mod_http_oauth2: Add TODO about disabling password grant
Per recommendation in draft-ietf-oauth-security-topics-23 it should at
the very least be disabled by default.
However since this is used by the Snikket web portal some care needs to
be taken not to break this, unless it's already broken by other changes
to this module.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 16 Jun 2023 00:06:53 +0200 |
parent | 2789:37ae0801f925 |
line wrap: on
line source
module:set_global(); local measure = require"core.statsmanager".measure; local valid_shows = { available = true, chat = true, away = true, dnd = true, xa = true, unavailable = true, } local counters = { available = measure("amount", "client_presence.available"), chat = measure("amount", "client_presence.chat"), away = measure("amount", "client_presence.away"), dnd = measure("amount", "client_presence.dnd"), xa = measure("amount", "client_presence.xa"), unavailable = measure("amount", "client_presence.unavailable"), invalid = measure("amount", "client_presence.invalid"); }; module:hook("stats-update", function () local buckets = { available = 0, chat = 0, away = 0, dnd = 0, xa = 0, unavailable = 0, invalid = 0, }; for _, session in pairs(full_sessions) do local status = "unavailable"; if session.presence then status = session.presence:get_child_text("show") or "available"; end if valid_shows[status] ~= nil then buckets[status] = buckets[status] + 1; else buckets.invalid = buckets.invalid + 1; end end for bucket, count in pairs(buckets) do counters[bucket](count) end end)