diff --git a/apps/emqx_conf/etc/emqx_conf.conf b/apps/emqx_conf/etc/emqx_conf.conf index bbfb91552..ee869f3a3 100644 --- a/apps/emqx_conf/etc/emqx_conf.conf +++ b/apps/emqx_conf/etc/emqx_conf.conf @@ -30,10 +30,25 @@ node { ## Location of crash dump file. ## ## @doc node.crash_dump_file - ## ValueType: Folder - ## Default: "{{ platform_log_dir }}/" + ## ValueType: File + ## Default: "{{ platform_log_dir }}/erl_crash.dump" crash_dump_file = "{{ platform_log_dir }}/erl_crash.dump" + ## The number of seconds that the broker is allowed to spend writing + ## a crash dump + ## + ## @doc node.crash_dump_seconds + ## ValueType: seconds + ## Default: 30s + crash_dump_seconds = 30s + + ## The maximum size of a crash dump file in bytes. + ## + ## @doc node.crash_dump_bytes + ## ValueType: bytes + ## Default: 100MB + crash_dump_bytes = 100MB + ## Global GC Interval. ## ## @doc node.global_gc_interval diff --git a/apps/emqx_conf/src/emqx_conf_schema.erl b/apps/emqx_conf/src/emqx_conf_schema.erl index caec61cc5..617703cd2 100644 --- a/apps/emqx_conf/src/emqx_conf_schema.erl +++ b/apps/emqx_conf/src/emqx_conf_schema.erl @@ -278,6 +278,22 @@ fields("node") -> , {"crash_dump_file", sc(file(), #{ mapping => "vm_args.-env ERL_CRASH_DUMP" + , desc => "Location of the crash dump file" + })} + , {"crash_dump_seconds", + sc(emqx_schema:duration_s(), + #{ mapping => "vm_args.-env ERL_CRASH_DUMP_SECONDS" + , default => "30s" + , desc => """ +The number of seconds that the broker is allowed to spend writing +a crash dump +""" + })} + , {"crash_dump_bytes", + sc(emqx_schema:bytesize(), + #{ mapping => "vm_args.-env ERL_CRASH_DUMP_BYTES" + , default => "100MB" + , desc => "The maximum size of a crash dump file in bytes." })} , {"dist_net_ticktime", sc(emqx_schema:duration(),