diff --git a/apps/emqx_conf/etc/emqx_conf.conf b/apps/emqx_conf/etc/emqx_conf.conf index e57bc4869..ee869f3a3 100644 --- a/apps/emqx_conf/etc/emqx_conf.conf +++ b/apps/emqx_conf/etc/emqx_conf.conf @@ -27,12 +27,27 @@ node { ## Default: "{{ platform_data_dir }}/" data_dir = "{{ platform_data_dir }}/" - ## Dir of crash dump file. + ## Location of crash dump file. ## - ## @doc node.crash_dump_dir - ## ValueType: Folder - ## Default: "{{ platform_log_dir }}/" - crash_dump_dir = "{{ platform_log_dir }}/" + ## @doc node.crash_dump_file + ## 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. ## diff --git a/apps/emqx_conf/src/emqx_conf_schema.erl b/apps/emqx_conf/src/emqx_conf_schema.erl index 91ef5d812..617703cd2 100644 --- a/apps/emqx_conf/src/emqx_conf_schema.erl +++ b/apps/emqx_conf/src/emqx_conf_schema.erl @@ -275,9 +275,25 @@ fields("node") -> #{ mapping => "emqx_machine.global_gc_interval" , default => "15m" })} - , {"crash_dump_dir", + , {"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(),