Mercurial > prosody-modules
annotate mod_measure_message_length/mod_measure_message_length.lua @ 4976:75b6e5df65f9
various: Improve error reporting if missing file server module on 0.12
If there is some error loading net.http.files then it would be swallowed
by the pcall and then it would proceed to trying mod_http_files, which
might cause unexpected behavior on 0.12
Ref #1765
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 18 Jul 2022 22:47:54 +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 |