annotate mod_measure_message_length/mod_measure_message_length.lua @ 2714:75b137cf869a

mod_cloud_notify: Don't notify for all smacks queued stanzas in a row Only send out a notification for the first unnotified stanza in the smacks queue, not for all queued stanzas in a row. Several notifications in the same second are useless and just cause server load on both ends.
author tmolitor <thilo@eightysoft.de>
date Mon, 08 May 2017 19:39:43 +0200
parents b1b120e654ff
children 6e70d354b7d8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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");
b1b120e654ff mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2 local lines = module:measure("lines", "count");
b1b120e654ff mod_measure_message_length: Collect statistics on number of bytes, words and lines in messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 local words = module:measure("words", "count");
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