Mercurial > prosody-modules
annotate mod_measure_muc/mod_measure_muc.lua @ 5646:d67980d9e12d
mod_http_oauth2: Apply refresh token ttl to refresh token instead of grant
The intent in 59d5fc50f602 was for refresh tokens to extend the lifetime
of the grant, but the refresh token ttl was applied to the grant and
mod_tokenauth does not change it, leading to the grant expiring
regardless of refresh token usage.
This makes grant lifetimes unlimited, which seems to be standard
practice in the wild.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 11 Sep 2023 10:48:31 +0200 |
parents | 39931d727c22 |
children |
rev | line source |
---|---|
3969
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
1 -- Group Chat statistics |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
2 -- |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
3 -- Copyright (C) 2020 kaliko <kaliko@azylum.org> |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
4 -- |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
5 -- This module is MIT/X11 licensed. |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
6 |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
7 -- https://prosody.im/doc/developers/modules |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
8 -- https://prosody.im/doc/developers/moduleapi |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
9 -- https://prosody.im/doc/statistics |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
10 |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
11 module:log("info", "loading mod_%s", module.name); |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
12 if module:get_host_type() ~= "component" then |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
13 module:log("error", "mod_%s should be loaded only on a MUC component, not normal hosts", module.name); |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
14 return; |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
15 end |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
16 |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
17 local mod_muc = module:depends"muc"; |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
18 local all_rooms = rawget(mod_muc, "all_rooms") |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
19 |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
20 -- Add relevant boolean MUC metrics here |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
21 local counters = { |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
22 hidden = module:measure("hidden", "amount", 0), |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
23 persistent = module:measure("persistent", "amount", 0), |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
24 password = module:measure('passwd', "amount", 0), |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
25 archiving = module:measure('archiving', 'amount', 0), |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
26 }; |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
27 local total_counter = module:measure("total", "amount", 0); |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
28 |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
29 module:hook_global("stats-update", function () |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
30 local total = 0; |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
31 local buckets = {}; |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
32 -- Init buckets |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
33 for bucket, _ in pairs(counters) do |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
34 buckets[bucket] = 0; |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
35 end |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
36 for room in all_rooms() do |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
37 --[[ |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
38 module:log('debug', 'room data for : "'..room.jid..'"'); |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
39 for conf, val in pairs(room._data) do |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
40 module:log('debug', conf..": "..tostring(val)); |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
41 end |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
42 ]]-- |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
43 total = total + 1; |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
44 --module:log('debug','buckets room data :'); |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
45 for bucket, _ in pairs(buckets) do |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
46 --module:log('debug', bucket..": "..tostring(room._data[bucket])); |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
47 if room._data[bucket] then |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
48 buckets[bucket] = buckets[bucket] + 1; |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
49 end |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
50 end |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
51 end |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
52 for bucket, count in pairs(buckets) do |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
53 counters[bucket](count) |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
54 end |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
55 total_counter(total); |
39931d727c22
mod_measure_muc: Collect statistics on Grout Chat
kaliko <kaliko@azylum.org>
parents:
diff
changeset
|
56 end) |