Преглед на файлове

feat(rule_engine): also bump `unknown` counter for unrecoverable action errors

Fixes https://emqx.atlassian.net/browse/EMQX-11494
Thales Macedo Garitezi преди 2 години
родител
ревизия
57a8f2351d
променени са 2 файла, в които са добавени 4 реда и са изтрити 2 реда
  1. 2 1
      apps/emqx_bridge/test/emqx_bridge_v2_SUITE.erl
  2. 2 1
      apps/emqx_rule_engine/src/emqx_rule_runtime.erl

+ 2 - 1
apps/emqx_bridge/test/emqx_bridge_v2_SUITE.erl

@@ -968,7 +968,8 @@ t_rule_pointing_to_non_operational_channel(_Config) ->
                         counters :=
                         counters :=
                             #{
                             #{
                                 matched := 1,
                                 matched := 1,
-                                'actions.failed' := 1
+                                'actions.failed' := 1,
+                                'actions.failed.unknown' := 1
                             }
                             }
                     },
                     },
                     emqx_metrics_worker:get_metrics(rule_metrics, RuleId)
                     emqx_metrics_worker:get_metrics(rule_metrics, RuleId)

+ 2 - 1
apps/emqx_rule_engine/src/emqx_rule_runtime.erl

@@ -580,7 +580,8 @@ inc_action_metrics(RuleId, Result) ->
 do_inc_action_metrics(RuleId, {error, {recoverable_error, _}}) ->
 do_inc_action_metrics(RuleId, {error, {recoverable_error, _}}) ->
     emqx_metrics_worker:inc(rule_metrics, RuleId, 'actions.failed.out_of_service');
     emqx_metrics_worker:inc(rule_metrics, RuleId, 'actions.failed.out_of_service');
 do_inc_action_metrics(RuleId, {error, {unrecoverable_error, _}}) ->
 do_inc_action_metrics(RuleId, {error, {unrecoverable_error, _}}) ->
-    emqx_metrics_worker:inc(rule_metrics, RuleId, 'actions.failed');
+    emqx_metrics_worker:inc(rule_metrics, RuleId, 'actions.failed'),
+    emqx_metrics_worker:inc(rule_metrics, RuleId, 'actions.failed.unknown');
 do_inc_action_metrics(RuleId, R) ->
 do_inc_action_metrics(RuleId, R) ->
     case is_ok_result(R) of
     case is_ok_result(R) of
         false ->
         false ->