Просмотр исходного кода

fix(crash_dump): Fix hocon schema related to the erlang crash dump

k32 4 лет назад
Родитель
Сommit
dfa45c909a
2 измененных файлов с 33 добавлено и 2 удалено
  1. 17 2
      apps/emqx_conf/etc/emqx_conf.conf
  2. 16 0
      apps/emqx_conf/src/emqx_conf_schema.erl

+ 17 - 2
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

+ 16 - 0
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(),