aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_options.erl
diff options
context:
space:
mode:
authorMark Zealey <6083471+mzealey@users.noreply.github.com>2022-08-01 11:07:54 +0100
committerGitHub <noreply@github.com>2022-08-01 12:07:54 +0200
commit555ff2db4c051ce5263f8e1dfc958aad0c0d186a (patch)
tree6e1aa465ede95d787e56a6e4e7f4947f1e444024 /src/ejabberd_options.erl
parentSkip connection exit message when we triggered reconnection (diff)
Add log_burst_limit_* options (#3865)
* Add log_burst_limit_* options On our ejabberd deployment we were sometimes seeing more than 500 msgs/sec of legitimate traffic, however this was getting silently dropped. Provide config options to enable this limit to be configured from the config file. * Pass new logging vars in via ejabberdctl
Diffstat (limited to 'src/ejabberd_options.erl')
-rw-r--r--src/ejabberd_options.erl8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/ejabberd_options.erl b/src/ejabberd_options.erl
index 8837ef475..bbf218532 100644
--- a/src/ejabberd_options.erl
+++ b/src/ejabberd_options.erl
@@ -222,6 +222,10 @@ opt_type(log_rotate_count) ->
econf:non_neg_int();
opt_type(log_rotate_size) ->
econf:pos_int(infinity);
+opt_type(log_burst_limit_window_time) ->
+ econf:timeout(second);
+opt_type(log_burst_limit_count) ->
+ econf:pos_int();
opt_type(loglevel) ->
fun(N) when is_integer(N) ->
(econf:and_then(
@@ -576,6 +580,8 @@ options() ->
{listen, []},
{log_rotate_count, 1},
{log_rotate_size, 10*1024*1024},
+ {log_burst_limit_window_time, timer:seconds(1)},
+ {log_burst_limit_count, 500},
{max_fsm_queue, undefined},
{modules, []},
{negotiation_timeout, timer:seconds(30)},
@@ -722,6 +728,8 @@ globals() ->
loglevel,
log_rotate_count,
log_rotate_size,
+ log_burst_limit_count,
+ log_burst_limit_window_time,
negotiation_timeout,
net_ticktime,
new_sql_schema,