fix(configs): correct the default value of some configs

This commit is contained in:
Shawn 2021-07-21 15:28:22 +08:00
parent 74db04f1c0
commit 29bb4c2a01
8 changed files with 71 additions and 79 deletions

View File

@ -51,8 +51,8 @@ node {
## ##
## @doc node.dist_net_ticktime ## @doc node.dist_net_ticktime
## ValueType: Number ## ValueType: Number
## Default: 15m ## Default: 2m
dist_net_ticktime: 120 dist_net_ticktime: 2m
## Sets the port range for the listener socket of a distributed ## Sets the port range for the listener socket of a distributed
## Erlang node. ## Erlang node.
@ -88,8 +88,8 @@ node {
## @doc node.backtrace_depth ## @doc node.backtrace_depth
## ValueType: Integer ## ValueType: Integer
## Range: [0,1024] ## Range: [0,1024]
## Default: 16 ## Default: 23
backtrace_depth: 16 backtrace_depth: 23
} }
@ -141,7 +141,7 @@ cluster {
## ##
## @doc cluster.static.seeds ## @doc cluster.static.seeds
## ValueType: Array<NodeName> ## ValueType: Array<NodeName>
## Default: ["emqx1@127.0.0.1", "emqx2@127.0.0.1"] ## Default: []
seeds: ["emqx1@127.0.0.1", "emqx2@127.0.0.1"] seeds: ["emqx1@127.0.0.1", "emqx2@127.0.0.1"]
} }
@ -429,8 +429,9 @@ log {
## ##
## @doc log.chars_limit ## @doc log.chars_limit
## ValueType: Integer | infinity ## ValueType: Integer | infinity
## Range: [0, infinity)
## Default: infinity ## Default: infinity
chars_limit: 8192 chars_limit: infinity
## Maximum depth for Erlang term log formatting ## Maximum depth for Erlang term log formatting
## and Erlang process message queue inspection. ## and Erlang process message queue inspection.
@ -484,7 +485,7 @@ log {
## ##
## @doc log.flush_qlen ## @doc log.flush_qlen
## ValueType: Integer ## ValueType: Integer
## Range: [${log.drop_mode_qlen}, ) ## Range: [${log.drop_mode_qlen}, infinity)
## Default: 8000 ## Default: 8000
flush_qlen: 8000 flush_qlen: 8000
@ -951,7 +952,7 @@ zones.default {
## Specify the response information returned to the client ## Specify the response information returned to the client
## ##
## This feature is disabled if not set ## This feature is disabled if is set to ""
## ##
## @doc zones.<name>.mqtt.response_information ## @doc zones.<name>.mqtt.response_information
## ValueType: String ## ValueType: String
@ -978,7 +979,7 @@ zones.default {
## ##
## @doc zones.<name>.mqtt.max_subscriptions ## @doc zones.<name>.mqtt.max_subscriptions
## ValueType: Integer | infinity ## ValueType: Integer | infinity
## Range: [1, ) ## Range: [1, infinity)
## Default: infinity ## Default: infinity
max_subscriptions: infinity max_subscriptions: infinity
@ -1008,7 +1009,7 @@ zones.default {
## ##
## @doc zones.<name>.mqtt.max_awaiting_rel ## @doc zones.<name>.mqtt.max_awaiting_rel
## ValueType: Integer | infinity ## ValueType: Integer | infinity
## Range: [1, ) ## Range: [1, infinity)
## Default: 100 ## Default: 100
max_awaiting_rel: 100 max_awaiting_rel: 100
@ -1031,7 +1032,7 @@ zones.default {
## ##
## @doc zones.<name>.mqtt.max_mqueue_len ## @doc zones.<name>.mqtt.max_mqueue_len
## ValueType: Integer | infinity ## ValueType: Integer | infinity
## Range: [0, ) ## Range: [0, infinity)
## Default: 1000 ## Default: 1000
max_mqueue_len: 1000 max_mqueue_len: 1000
@ -1182,7 +1183,7 @@ zones.default {
## Max message queue length ## Max message queue length
## @doc zones.<name>.force_shutdown.max_message_queue_len ## @doc zones.<name>.force_shutdown.max_message_queue_len
## ValueType: Integer ## ValueType: Integer
## Range: (0, ) ## Range: (0, infinity)
## Default: 1000 ## Default: 1000
max_message_queue_len: 1000 max_message_queue_len: 1000
@ -1206,7 +1207,7 @@ zones.default {
## GC the process after how many messages received ## GC the process after how many messages received
## @doc zones.<name>.force_gc.max_message_queue_len ## @doc zones.<name>.force_gc.max_message_queue_len
## ValueType: Integer ## ValueType: Integer
## Range: (0, ) ## Range: (0, infinity)
## Default: 16000 ## Default: 16000
count: 16000 count: 16000
@ -2028,8 +2029,8 @@ example_common_tcp_options {
## @doc listeners.<name>.tcp.backlog ## @doc listeners.<name>.tcp.backlog
## ValueType: Number ## ValueType: Number
## Range: [0, 1048576] ## Range: [0, 1048576]
## Default: 128 ## Default: 1024
tcp.backlog: 128 tcp.backlog: 1024
## The TCP send timeout for the connections. ## The TCP send timeout for the connections.
## ##
@ -2049,29 +2050,22 @@ example_common_tcp_options {
## ##
## @doc listeners.<name>.tcp.recbuf ## @doc listeners.<name>.tcp.recbuf
## ValueType: Size ## ValueType: Size
## Default: 2KB ## Default: notset
tcp.recbuf: 2KB #tcp.recbuf: 2KB
## The TCP send buffer(os kernel) for the connections. ## The TCP send buffer(os kernel) for the connections.
## ##
## @doc listeners.<name>.tcp.sndbuf ## @doc listeners.<name>.tcp.sndbuf
## ValueType: Size ## ValueType: Size
## Default: 2KB ## Default: notset
tcp.sndbuf: 2KB #tcp.sndbuf: 4KB
## The size of the user-level software buffer used by the driver. ## The size of the user-level software buffer used by the driver.
## ##
## @doc listeners.<name>.tcp.buffer ## @doc listeners.<name>.tcp.buffer
## ValueType: Size ## ValueType: Size
## Default: 2KB ## Default: notset
tcp.buffer: 2KB #tcp.buffer: 4KB
## Sets the 'buffer: max(sndbuf, recbuf)' if this option is enabled.
##
## @doc listeners.<name>.tcp.tune_buffer
## ValueType: Boolean
## Default: false
tcp.tune_buffer: false
## The socket is set to a busy state when the amount of data queued internally ## The socket is set to a busy state when the amount of data queued internally
## by the ERTS socket implementation reaches this limit. ## by the ERTS socket implementation reaches this limit.
@ -2085,8 +2079,8 @@ example_common_tcp_options {
## ##
## @doc listeners.<name>.tcp.nodelay ## @doc listeners.<name>.tcp.nodelay
## ValueType: Boolean ## ValueType: Boolean
## Default: true ## Default: false
tcp.nodelay: true tcp.nodelay: false
## The SO_REUSEADDR flag for the connections. ## The SO_REUSEADDR flag for the connections.
## ##

View File

@ -69,7 +69,7 @@ stop(_State) ->
andalso emqx_listeners:stop(). andalso emqx_listeners:stop().
set_backtrace_depth() -> set_backtrace_depth() ->
Depth = application:get_env(?APP, backtrace_depth, 16), Depth = emqx:get_env(backtrace_depth, 16),
_ = erlang:system_flag(backtrace_depth, Depth), _ = erlang:system_flag(backtrace_depth, Depth),
ok. ok.

View File

@ -25,5 +25,5 @@ is_enabled(Mod) ->
(BootMods = boot_modules()) =:= all orelse lists:member(Mod, BootMods). (BootMods = boot_modules()) =:= all orelse lists:member(Mod, BootMods).
boot_modules() -> boot_modules() ->
application:get_env(emqx, boot_modules, ?BOOT_MODULES). emqx:get_env(boot_modules, ?BOOT_MODULES).

View File

@ -134,7 +134,9 @@ ranch_opts(ListenOn, Opts) ->
#{num_acceptors => NumAcceptors, #{num_acceptors => NumAcceptors,
max_connections => MaxConnections, max_connections => MaxConnections,
handshake_timeout => maps:get(handshake_timeout, Opts, 15000), handshake_timeout => maps:get(handshake_timeout, Opts, 15000),
socket_opts => ip_port(ListenOn) ++ SocketOpts}. socket_opts => ip_port(ListenOn) ++
%% cowboy don't allow us to set 'reuseaddr'
proplists:delete(reuseaddr, SocketOpts)}.
ip_port(Port) when is_integer(Port) -> ip_port(Port) when is_integer(Port) ->
[{port, Port}]; [{port, Port}];

View File

@ -251,7 +251,7 @@ delete_trie_route(Route = #route{topic = Topic}) ->
%% @private %% @private
-spec(maybe_trans(function(), list(any())) -> ok | {error, term()}). -spec(maybe_trans(function(), list(any())) -> ok | {error, term()}).
maybe_trans(Fun, Args) -> maybe_trans(Fun, Args) ->
case persistent_term:get(emqx_route_lock_type) of case emqx_config:get([broker, perf, route_lock_type]) of
key -> key ->
trans(Fun, Args); trans(Fun, Args);
global -> global ->

View File

@ -33,11 +33,6 @@ init([]) ->
shutdown => 5000, shutdown => 5000,
type => worker, type => worker,
modules => [emqx_router_helper]}, modules => [emqx_router_helper]},
ok = persistent_term:put(emqx_route_lock_type,
application:get_env(emqx, route_lock_type, key)
),
%% Router pool %% Router pool
RouterPool = emqx_pool_sup:spec([router_pool, hash, RouterPool = emqx_pool_sup:spec([router_pool, hash,
{emqx_router, start_link, []}]), {emqx_router, start_link, []}]),

View File

@ -53,11 +53,9 @@ cast(Key, Node, Mod, Fun, Args) ->
filter_result(?RPC:cast(rpc_node({Key, Node}), Mod, Fun, Args)). filter_result(?RPC:cast(rpc_node({Key, Node}), Mod, Fun, Args)).
rpc_node(Node) when is_atom(Node) -> rpc_node(Node) when is_atom(Node) ->
ClientNum = application:get_env(gen_rpc, tcp_client_num, ?DefaultClientNum), {Node, rand:uniform(max_client_num())};
{Node, rand:uniform(ClientNum)};
rpc_node({Key, Node}) when is_atom(Node) -> rpc_node({Key, Node}) when is_atom(Node) ->
ClientNum = application:get_env(gen_rpc, tcp_client_num, ?DefaultClientNum), {Node, erlang:phash2(Key, max_client_num()) + 1}.
{Node, erlang:phash2(Key, ClientNum) + 1}.
rpc_nodes(Nodes) -> rpc_nodes(Nodes) ->
rpc_nodes(Nodes, []). rpc_nodes(Nodes, []).
@ -72,3 +70,6 @@ filter_result({Error, Reason})
{badrpc, Reason}; {badrpc, Reason};
filter_result(Delivery) -> filter_result(Delivery) ->
Delivery. Delivery.
max_client_num() ->
emqx_config:get([gen_rpc, tcp_client_num]).

View File

@ -84,8 +84,8 @@ fields("cluster") ->
[ {"name", t(atom(), "ekka.cluster_name", emqxcl)} [ {"name", t(atom(), "ekka.cluster_name", emqxcl)}
, {"discovery_strategy", t(union([manual, static, mcast, dns, etcd, k8s]), , {"discovery_strategy", t(union([manual, static, mcast, dns, etcd, k8s]),
undefined, manual)} undefined, manual)}
, {"autoclean", t(duration(), "ekka.cluster_autoclean", undefined)} , {"autoclean", t(duration(), "ekka.cluster_autoclean", "5m")}
, {"autoheal", t(boolean(), "ekka.cluster_autoheal", false)} , {"autoheal", t(boolean(), "ekka.cluster_autoheal", true)}
, {"static", ref("static")} , {"static", ref("static")}
, {"mcast", ref("mcast")} , {"mcast", ref("mcast")}
, {"proto_dist", t(union([inet_tcp, inet6_tcp, inet_tls]), "ekka.proto_dist", inet_tcp)} , {"proto_dist", t(union([inet_tcp, inet6_tcp, inet_tls]), "ekka.proto_dist", inet_tcp)}
@ -97,13 +97,13 @@ fields("cluster") ->
]; ];
fields("static") -> fields("static") ->
[ {"seeds", t(hoconsc:array(string()))}]; [ {"seeds", t(hoconsc:array(string()), undefined, [])}];
fields("mcast") -> fields("mcast") ->
[ {"addr", t(string(), undefined, "239.192.0.1")} [ {"addr", t(string(), undefined, "239.192.0.1")}
, {"ports", t(hoconsc:array(integer()), undefined, [4369, 4370])} , {"ports", t(hoconsc:array(integer()), undefined, [4369, 4370])}
, {"iface", t(string(), undefined, "0.0.0.0")} , {"iface", t(string(), undefined, "0.0.0.0")}
, {"ttl", t(integer(), undefined, 255)} , {"ttl", t(range(0, 255), undefined, 255)}
, {"loop", t(boolean(), undefined, true)} , {"loop", t(boolean(), undefined, true)}
, {"sndbuf", t(bytesize(), undefined, "16KB")} , {"sndbuf", t(bytesize(), undefined, "16KB")}
, {"recbuf", t(bytesize(), undefined, "16KB")} , {"recbuf", t(bytesize(), undefined, "16KB")}
@ -111,12 +111,12 @@ fields("mcast") ->
]; ];
fields("dns") -> fields("dns") ->
[ {"name", t(string())} [ {"name", t(string(), undefined, "localhost")}
, {"app", t(string())}]; , {"app", t(string(), undefined, "emqx")}];
fields("etcd") -> fields("etcd") ->
[ {"server", t(comma_separated_list())} [ {"server", t(comma_separated_list())}
, {"prefix", t(string())} , {"prefix", t(string(), undefined, "emqxcl")}
, {"node_ttl", t(duration(), undefined, "1m")} , {"node_ttl", t(duration(), undefined, "1m")}
, {"ssl", ref("etcd_ssl")} , {"ssl", ref("etcd_ssl")}
]; ];
@ -126,11 +126,11 @@ fields("etcd_ssl") ->
fields("k8s") -> fields("k8s") ->
[ {"apiserver", t(string())} [ {"apiserver", t(string())}
, {"service_name", t(string())} , {"service_name", t(string(), undefined, "emqx")}
, {"address_type", t(union([ip, dns, hostname]))} , {"address_type", t(union([ip, dns, hostname]))}
, {"app_name", t(string())} , {"app_name", t(string(), undefined, "emqx")}
, {"namespace", t(string())} , {"namespace", t(string(), undefined, "default")}
, {"suffix", t(string(), undefined, "")} , {"suffix", t(string(), undefined, "pod.local")}
]; ];
fields("rlog") -> fields("rlog") ->
@ -149,12 +149,12 @@ fields("node") ->
, {"config_files", t(list(string()), "emqx.config_files", , {"config_files", t(list(string()), "emqx.config_files",
[ filename:join([os:getenv("RUNNER_ETC_DIR"), "emqx.conf"]) [ filename:join([os:getenv("RUNNER_ETC_DIR"), "emqx.conf"])
])} ])}
, {"global_gc_interval", t(duration_s(), "emqx.global_gc_interval", undefined)} , {"global_gc_interval", t(duration_s(), "emqx.global_gc_interval", "15m")}
, {"crash_dump_dir", t(file(), "vm_args.-env ERL_CRASH_DUMP", undefined)} , {"crash_dump_dir", t(file(), "vm_args.-env ERL_CRASH_DUMP", undefined)}
, {"dist_net_ticktime", t(integer(), "vm_args.-kernel net_ticktime", undefined)} , {"dist_net_ticktime", t(duration(), "vm_args.-kernel net_ticktime", "2m")}
, {"dist_listen_min", t(integer(), "kernel.inet_dist_listen_min", undefined)} , {"dist_listen_min", t(range(1024, 65535), "kernel.inet_dist_listen_min", 6369)}
, {"dist_listen_max", t(integer(), "kernel.inet_dist_listen_max", undefined)} , {"dist_listen_max", t(range(1024, 65535), "kernel.inet_dist_listen_max", 6369)}
, {"backtrace_depth", t(integer(), "emqx.backtrace_depth", 16)} , {"backtrace_depth", t(integer(), "emqx.backtrace_depth", 23)}
]; ];
fields("rpc") -> fields("rpc") ->
@ -162,7 +162,7 @@ fields("rpc") ->
, {"async_batch_size", t(integer(), "gen_rpc.max_batch_size", 256)} , {"async_batch_size", t(integer(), "gen_rpc.max_batch_size", 256)}
, {"port_discovery",t(union(manual, stateless), "gen_rpc.port_discovery", stateless)} , {"port_discovery",t(union(manual, stateless), "gen_rpc.port_discovery", stateless)}
, {"tcp_server_port", t(integer(), "gen_rpc.tcp_server_port", 5369)} , {"tcp_server_port", t(integer(), "gen_rpc.tcp_server_port", 5369)}
, {"tcp_client_num", t(range(0, 255), undefined, 0)} , {"tcp_client_num", t(range(1, 256), undefined, 1)}
, {"connect_timeout", t(duration(), "gen_rpc.connect_timeout", "5s")} , {"connect_timeout", t(duration(), "gen_rpc.connect_timeout", "5s")}
, {"send_timeout", t(duration(), "gen_rpc.send_timeout", "5s")} , {"send_timeout", t(duration(), "gen_rpc.send_timeout", "5s")}
, {"authentication_timeout", t(duration(), "gen_rpc.authentication_timeout", "5s")} , {"authentication_timeout", t(duration(), "gen_rpc.authentication_timeout", "5s")}
@ -180,7 +180,7 @@ fields("log") ->
, {"console_handler", ref("console_handler")} , {"console_handler", ref("console_handler")}
, {"file_handlers", ref("file_handlers")} , {"file_handlers", ref("file_handlers")}
, {"time_offset", t(string(), undefined, "system")} , {"time_offset", t(string(), undefined, "system")}
, {"chars_limit", maybe_infinity(integer())} , {"chars_limit", maybe_infinity(range(1, inf))}
, {"supervisor_reports", t(union([error, progress]), undefined, error)} , {"supervisor_reports", t(union([error, progress]), undefined, error)}
, {"max_depth", t(union([infinity, integer()]), , {"max_depth", t(union([infinity, integer()]),
"kernel.error_logger_format_depth", 80)} "kernel.error_logger_format_depth", 80)}
@ -228,6 +228,7 @@ fields("log_burst_limit") ->
, {"window_time", t(duration(), undefined, "1s")} , {"window_time", t(duration(), undefined, "1s")}
]; ];
%% disable lager in case some app deps on it
fields("lager") -> fields("lager") ->
[ {"handlers", t(string(), "lager.handlers", "")} [ {"handlers", t(string(), "lager.handlers", "")}
, {"crash_log", t(boolean(), "lager.crash_log", false)} , {"crash_log", t(boolean(), "lager.crash_log", false)}
@ -249,7 +250,7 @@ fields("acl") ->
fields("acl_cache") -> fields("acl_cache") ->
[ {"enable", t(boolean(), undefined, true)} [ {"enable", t(boolean(), undefined, true)}
, {"max_size", maybe_infinity(range(1, 1048576), 32)} , {"max_size", t(range(1, 1048576), undefined, 32)}
, {"ttl", t(duration(), undefined, "1m")} , {"ttl", t(duration(), undefined, "1m")}
]; ];
@ -257,26 +258,26 @@ fields("mqtt") ->
[ {"mountpoint", t(binary(), undefined, <<>>)} [ {"mountpoint", t(binary(), undefined, <<>>)}
, {"idle_timeout", maybe_infinity(duration(), "15s")} , {"idle_timeout", maybe_infinity(duration(), "15s")}
, {"max_packet_size", t(bytesize(), undefined, "1MB")} , {"max_packet_size", t(bytesize(), undefined, "1MB")}
, {"max_clientid_len", t(integer(), undefined, 65535)} , {"max_clientid_len", t(range(23, 65535), undefined, 65535)}
, {"max_topic_levels", t(integer(), undefined, 65535)} , {"max_topic_levels", t(range(1, 65535), undefined, 65535)}
, {"max_qos_allowed", t(range(0, 2), undefined, 2)} , {"max_qos_allowed", t(range(0, 2), undefined, 2)}
, {"max_topic_alias", t(integer(), undefined, 65535)} , {"max_topic_alias", t(range(0, 65535), undefined, 65535)}
, {"retain_available", t(boolean(), undefined, true)} , {"retain_available", t(boolean(), undefined, true)}
, {"wildcard_subscription", t(boolean(), undefined, true)} , {"wildcard_subscription", t(boolean(), undefined, true)}
, {"shared_subscription", t(boolean(), undefined, true)} , {"shared_subscription", t(boolean(), undefined, true)}
, {"ignore_loop_deliver", t(boolean())} , {"ignore_loop_deliver", t(boolean(), undefined, false)}
, {"strict_mode", t(boolean(), undefined, false)} , {"strict_mode", t(boolean(), undefined, false)}
, {"response_information", t(string(), undefined, "")} , {"response_information", t(string(), undefined, "")}
, {"server_keepalive", maybe_disabled(integer())} , {"server_keepalive", maybe_disabled(integer())}
, {"keepalive_backoff", t(float(), undefined, 0.75)} , {"keepalive_backoff", t(float(), undefined, 0.75)}
, {"max_subscriptions", maybe_infinity(integer())} , {"max_subscriptions", maybe_infinity(range(1, inf))}
, {"upgrade_qos", t(boolean(), undefined, false)} , {"upgrade_qos", t(boolean(), undefined, false)}
, {"max_inflight", t(range(1, 65535))} , {"max_inflight", t(range(1, 65535), undefined, 32)}
, {"retry_interval", t(duration_s(), undefined, "30s")} , {"retry_interval", t(duration_s(), undefined, "30s")}
, {"max_awaiting_rel", maybe_infinity(duration())} , {"max_awaiting_rel", maybe_infinity(integer(), 100)}
, {"await_rel_timeout", t(duration_s(), undefined, "300s")} , {"await_rel_timeout", t(duration_s(), undefined, "300s")}
, {"session_expiry_interval", t(duration_s(), undefined, "2h")} , {"session_expiry_interval", t(duration_s(), undefined, "2h")}
, {"max_mqueue_len", maybe_infinity(integer(), 1000)} , {"max_mqueue_len", maybe_infinity(range(0, inf), 1000)}
, {"mqueue_priorities", maybe_disabled(map())} , {"mqueue_priorities", maybe_disabled(map())}
, {"mqueue_default_priority", t(union(highest, lowest), undefined, lowest)} , {"mqueue_default_priority", t(union(highest, lowest), undefined, lowest)}
, {"mqueue_store_qos0", t(boolean(), undefined, true)} , {"mqueue_store_qos0", t(boolean(), undefined, true)}
@ -378,7 +379,7 @@ fields("mqtt_quic_listener") ->
, {"keyfile", t(string(), undefined, undefined)} , {"keyfile", t(string(), undefined, undefined)}
, {"ciphers", t(comma_separated_list(), undefined, "TLS_AES_256_GCM_SHA384," , {"ciphers", t(comma_separated_list(), undefined, "TLS_AES_256_GCM_SHA384,"
"TLS_AES_128_GCM_SHA256,TLS_CHACHA20_POLY1305_SHA256")} "TLS_AES_128_GCM_SHA256,TLS_CHACHA20_POLY1305_SHA256")}
, {"idle_timeout", t(duration(), undefined, 60000)} , {"idle_timeout", t(duration(), undefined, "15s")}
] ++ base_listener(); ] ++ base_listener();
fields("ws_opts") -> fields("ws_opts") ->
@ -406,10 +407,9 @@ fields("tcp_opts") ->
, {"recbuf", t(bytesize())} , {"recbuf", t(bytesize())}
, {"sndbuf", t(bytesize())} , {"sndbuf", t(bytesize())}
, {"buffer", t(bytesize())} , {"buffer", t(bytesize())}
, {"tune_buffer", t(boolean())}
, {"high_watermark", t(bytesize(), undefined, "1MB")} , {"high_watermark", t(bytesize(), undefined, "1MB")}
, {"nodelay", t(boolean())} , {"nodelay", t(boolean(), undefined, false)}
, {"reuseaddr", t(boolean())} , {"reuseaddr", t(boolean(), undefined, true)}
]; ];
fields("ssl_opts") -> fields("ssl_opts") ->
@ -470,7 +470,7 @@ fields("broker") ->
]; ];
fields("perf") -> fields("perf") ->
[ {"route_lock_type", t(union([key, tab, global]), "emqx.route_lock_type", key)} [ {"route_lock_type", t(union([key, tab, global]), undefined, key)}
, {"trie_compaction", t(boolean(), "emqx.trie_compaction", true)} , {"trie_compaction", t(boolean(), "emqx.trie_compaction", true)}
]; ];
@ -484,10 +484,10 @@ fields("sysmon_vm") ->
, {"process_high_watermark", t(percent(), undefined, "80%")} , {"process_high_watermark", t(percent(), undefined, "80%")}
, {"process_low_watermark", t(percent(), undefined, "60%")} , {"process_low_watermark", t(percent(), undefined, "60%")}
, {"long_gc", maybe_disabled(duration())} , {"long_gc", maybe_disabled(duration())}
, {"long_schedule", maybe_disabled(duration(), 240)} , {"long_schedule", maybe_disabled(duration(), "240ms")}
, {"large_heap", maybe_disabled(bytesize(), "8MB")} , {"large_heap", maybe_disabled(bytesize(), "32MB")}
, {"busy_dist_port", t(boolean(), undefined, true)} , {"busy_dist_port", t(boolean(), undefined, true)}
, {"busy_port", t(boolean(), undefined, false)} , {"busy_port", t(boolean(), undefined, true)}
]; ];
fields("sysmon_os") -> fields("sysmon_os") ->
@ -540,7 +540,7 @@ tr_logger_level(Conf) -> conf_get("log.primary_level", Conf).
tr_logger(Conf) -> tr_logger(Conf) ->
CharsLimit = case conf_get("log.chars_limit", Conf) of CharsLimit = case conf_get("log.chars_limit", Conf) of
-1 -> unlimited; infinity -> unlimited;
V -> V V -> V
end, end,
SingleLine = conf_get("log.single_line", Conf), SingleLine = conf_get("log.single_line", Conf),