Software /
code /
prosody-modules
Annotate
mod_measure_message_length/mod_measure_message_length.lua @ 4789:f06d04cfea7d
mod_muc_restrict_media: Fix disco#info field (thanks mirux)
The default value for 'type' here is 'text-single', which does not
serialize boolean values.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 24 Nov 2021 16:28:35 +0100 |
parent | 3430:6e70d354b7d8 |
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 |