summaryrefslogtreecommitdiff
path: root/priv/schema
diff options
context:
space:
mode:
authorDiana Corbacho <diana@rabbitmq.com>2019-01-10 08:59:41 +0000
committerDiana Corbacho <diana@rabbitmq.com>2019-01-10 08:59:41 +0000
commitf1f2cac56844224ea6eaeedc911ede90d53f1f1c (patch)
tree91e70a0a8b2b905caeab961d4f36ebfea2f7f3d3 /priv/schema
parent0a254da651d6ff34b5ef35daf14cb31e0dafda88 (diff)
parent7a4b4eb3ba1a66cb67d66ce8d09df5f02ac54f9b (diff)
downloadrabbitmq-server-git-f1f2cac56844224ea6eaeedc911ede90d53f1f1c.tar.gz
Merge remote-tracking branch 'origin/master' into qq-testing
Diffstat (limited to 'priv/schema')
-rw-r--r--priv/schema/rabbit.schema107
1 files changed, 106 insertions, 1 deletions
diff --git a/priv/schema/rabbit.schema b/priv/schema/rabbit.schema
index 5c6078a413..da28989c37 100644
--- a/priv/schema/rabbit.schema
+++ b/priv/schema/rabbit.schema
@@ -258,7 +258,7 @@ end}.
{translation, "rabbit.ssl_options.ciphers",
fun(Conf) ->
Settings = cuttlefish_variable:filter_by_prefix("ssl_options.ciphers", Conf),
- [V || {_, V} <- Settings]
+ lists:reverse([V || {_, V} <- Settings])
end}.
%% ===========================================================================
@@ -554,6 +554,9 @@ end}.
}.
+{mapping, "msx_message_size", "rabbit.max_message_size",
+ [{datatype, integer}, {validators, ["less_then_512MB"]}]}.
+
%% Customising Socket Options.
%%
%% See (http://www.erlang.org/doc/man/inet.html#setopts-2) for
@@ -1352,6 +1355,103 @@ end}.
{validators, ["non_zero_positive_integer"]}
]}.
+% ==========================
+% sysmon_handler section
+% ==========================
+
+%% @doc The threshold at which to warn about the number of processes
+%% that are overly busy. Processes with large heaps or that take a
+%% long time to garbage collect will count toward this threshold.
+{mapping, "sysmon_handler.thresholds.busy_processes", "sysmon_handler.process_limit", [
+ {default, 30},
+ {datatype, integer},
+ hidden
+]}.
+
+%% @doc The threshold at which to warn about the number of ports that
+%% are overly busy. Ports with full input buffers count toward this
+%% threshold.
+{mapping, "sysmon_handler.thresholds.busy_ports", "sysmon_handler.port_limit", [
+ {default, 2},
+ {datatype, integer},
+ hidden
+]}.
+
+%% @doc A process will become busy when it exceeds this amount of time
+%% doing garbage collection.
+%%
+%% NOTE: Enabling this setting can cause performance problems on
+%% multi-core systems.
+%% @see sysmon_handler.thresholds.busy_processes
+{mapping, "sysmon_handler.triggers.process.garbage_collection", "sysmon_handler.gc_ms_limit", [
+ {default, off},
+ {datatype, [{atom, off},
+ {duration, ms}]},
+ hidden
+]}.
+
+{translation, "sysmon_handler.gc_ms_limit",
+ fun(Conf) ->
+ case cuttlefish:conf_get("sysmon_handler.triggers.process.garbage_collection", Conf) of
+ off -> 0;
+ Int -> Int
+ end
+ end}.
+
+%% @doc A process will become busy when it exceeds this amount of time
+%% during a single process scheduling & execution cycle.
+{mapping, "sysmon_handler.triggers.process.long_scheduled_execution", "sysmon_handler.schedule_ms_limit", [
+ {default, off},
+ {datatype, [{atom, off},
+ {duration, ms}]},
+ hidden
+]}.
+
+{translation, "sysmon_handler.schedule_ms_limit",
+ fun(Conf) ->
+ case cuttlefish:conf_get("sysmon_handler.triggers.process.long_scheduled_execution", Conf) of
+ off -> 0;
+ Int -> Int
+ end
+ end}.
+
+%% @doc A process will become busy when its heap exceeds this size.
+%% @see sysmon_handler.thresholds.busy_processes
+{mapping, "sysmon_handler.triggers.process.heap_size", "sysmon_handler.heap_word_limit", [
+ {default, "160444000"},
+ {datatype, [bytesize, {atom, off}]},
+ hidden
+]}.
+
+{translation, "sysmon_handler.heap_word_limit",
+ fun(Conf) ->
+ case cuttlefish:conf_get("sysmon_handler.triggers.process.heap_size", Conf) of
+ off -> 0;
+ Bytes ->
+ WordSize = erlang:system_info(wordsize),
+ Bytes div WordSize
+ end
+end}.
+
+%% @doc Whether ports with full input buffers will be counted as
+%% busy. Ports can represent open files or network sockets.
+%% @see sysmon_handler.thresholds.busy_ports
+{mapping, "sysmon_handler.triggers.port", "sysmon_handler.busy_port", [
+ {default, on},
+ {datatype, flag},
+ hidden
+]}.
+
+%% @doc Whether distribution ports with full input buffers will be
+%% counted as busy. Distribution ports connect Erlang nodes within a
+%% single cluster.
+%% @see sysmon_handler.thresholds.busy_ports
+{mapping, "sysmon_handler.triggers.distribution_port", "sysmon_handler.busy_dist_port", [
+ {default, on},
+ {datatype, flag},
+ hidden
+]}.
+
% ===============================
% Validators
% ===============================
@@ -1361,6 +1461,11 @@ fun(Size) when is_integer(Size) ->
Size > 0 andalso Size < 2147483648
end}.
+{validator, "less_then_512MB", "Max message size should be less than 512MB and gre than 0",
+fun(Size) when is_integer(Size) ->
+ Size > 0 andalso Size < 536870912
+end}.
+
{validator, "less_than_1", "Flooat is not beetween 0 and 1",
fun(Float) when is_float(Float) ->
Float > 0 andalso Float < 1