Mercurial > prosody-modules
annotate mod_measure_message_length/mod_measure_message_length.lua @ 5593:6d0574bfbf5d
mod_client_management: Include software version in table (when known)
Showing software versions could be useful for statistical reasons, e.g.
determining how quickly (or not) users upgrade, but most importantly for
revoking vulnerable clients versions in case of a security issue.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 13 Jul 2023 23:26:02 +0200 |
parents | 6e70d354b7d8 |
children |
rev | line source |
---|---|
2372
b1b120e654ff
mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 local bytes = module:measure("bytes", "sizes"); |
3430
6e70d354b7d8
mod_measure_message_length: Use measure type that actually exists
Kim Alvefur <zash@zash.se>
parents:
2372
diff
changeset
|
2 local lines = module:measure("lines", "distribution"); |
6e70d354b7d8
mod_measure_message_length: Use measure type that actually exists
Kim Alvefur <zash@zash.se>
parents:
2372
diff
changeset
|
3 local words = module:measure("words", "distribution"); |
2372
b1b120e654ff
mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 |
b1b120e654ff
mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 local function measure_length(event) |
b1b120e654ff
mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 local body = event.stanza:get_child_text("body"); |
b1b120e654ff
mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 if body then |
b1b120e654ff
mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 bytes(#body); |
b1b120e654ff
mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 lines(select(2, body:gsub("[^\n]+",""))); |
b1b120e654ff
mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 words(select(2, body:gsub("%S+",""))); |
b1b120e654ff
mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 end |
b1b120e654ff
mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 end |
b1b120e654ff
mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 |
b1b120e654ff
mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 module:hook("message/full", measure_length); |
b1b120e654ff
mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 module:hook("message/bare", measure_length); |
b1b120e654ff
mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 module:hook("message/host", measure_length); |
b1b120e654ff
mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 |
b1b120e654ff
mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 module:hook("pre-message/full", measure_length); |
b1b120e654ff
mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 module:hook("pre-message/bare", measure_length); |
b1b120e654ff
mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 module:hook("pre-message/host", measure_length); |
b1b120e654ff
mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 |