Annotate

mod_log_rate/mod_log_rate.lua @ 5173:460f78654864

mod_muc_rtbl: also filter messages This was a bit tricky because we don't want to run the JIDs through SHA256 on each message. Took a while to come up with this simple plan of just caching the SHA256 of the JIDs on the occupants. This will leave some dirt in the occupants after unloading the module, but that should be ok; once they cycle the room, the hashes will be gone. This is direly needed, otherwise, there is a tight race between the moderation activities and the actors joining the room.
author Jonas Schäfer <jonas@wielicki.name>
date Tue, 21 Feb 2023 21:37:27 +0100
parent 2243:f388747c53c7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1762
e6c7fe1be6cd mod_log_rate: Log sink that reports the rate of log messages to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 module:set_global();
e6c7fe1be6cd mod_log_rate: Log sink that reports the rate of log messages to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2
e6c7fe1be6cd mod_log_rate: Log sink that reports the rate of log messages to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 local function sink_maker(config)
e6c7fe1be6cd mod_log_rate: Log sink that reports the rate of log messages to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4 local levels = {
2243
f388747c53c7 mod_log_rate: Fix to actually use module methods
Kim Alvefur <zash@zash.se>
parents: 2202
diff changeset
5 debug = module:measure("log.debug", "rate");
f388747c53c7 mod_log_rate: Fix to actually use module methods
Kim Alvefur <zash@zash.se>
parents: 2202
diff changeset
6 info = module:measure("log.info", "rate");
f388747c53c7 mod_log_rate: Fix to actually use module methods
Kim Alvefur <zash@zash.se>
parents: 2202
diff changeset
7 warn = module:measure("log.warn", "rate");
f388747c53c7 mod_log_rate: Fix to actually use module methods
Kim Alvefur <zash@zash.se>
parents: 2202
diff changeset
8 error = module:measure("log.error", "rate");
1762
e6c7fe1be6cd mod_log_rate: Log sink that reports the rate of log messages to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 };
e6c7fe1be6cd mod_log_rate: Log sink that reports the rate of log messages to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 return function (_, level)
e6c7fe1be6cd mod_log_rate: Log sink that reports the rate of log messages to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 return levels[level]();
e6c7fe1be6cd mod_log_rate: Log sink that reports the rate of log messages to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 end
e6c7fe1be6cd mod_log_rate: Log sink that reports the rate of log messages to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 end
e6c7fe1be6cd mod_log_rate: Log sink that reports the rate of log messages to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14
e6c7fe1be6cd mod_log_rate: Log sink that reports the rate of log messages to statsmanager
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15 require"core.loggingmanager".register_sink_type("measure", sink_maker);