From 0e02e8df9d56c1dbfb6c0b0eb5d393fe0f4d514e Mon Sep 17 00:00:00 2001 From: EMQ-YangM Date: Thu, 7 Apr 2022 09:50:31 +0800 Subject: [PATCH 1/2] fix: change rule_speed record type --- apps/emqx_rule_engine/src/emqx_rule_metrics.erl | 12 ++++++------ .../emqx_rule_engine/test/emqx_rule_engine_SUITE.erl | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/emqx_rule_engine/src/emqx_rule_metrics.erl b/apps/emqx_rule_engine/src/emqx_rule_metrics.erl index 9c6bfe905..272221208 100644 --- a/apps/emqx_rule_engine/src/emqx_rule_metrics.erl +++ b/apps/emqx_rule_engine/src/emqx_rule_metrics.erl @@ -92,14 +92,14 @@ -define(SAMPCOUNT_5M, (?SECS_5M div ?SAMPLING)). -record(rule_speed, { - max = 0 :: number(), - current = 0 :: number(), - last5m = 0 :: number(), + max = 0.0 :: float(), + current = 0.0 :: float(), + last5m = 0.0 :: float(), %% metadata for calculating the avg speed - tick = 1 :: number(), - last_v = 0 :: number(), + tick = 1 :: integer(), + last_v = 0 :: integer(), %% metadata for calculating the 5min avg speed - last5m_acc = 0 :: number(), + last5m_acc = 0.0 :: float(), last5m_smpl = [] :: list() }). diff --git a/apps/emqx_rule_engine/test/emqx_rule_engine_SUITE.erl b/apps/emqx_rule_engine/test/emqx_rule_engine_SUITE.erl index 96480bfc5..240438134 100644 --- a/apps/emqx_rule_engine/test/emqx_rule_engine_SUITE.erl +++ b/apps/emqx_rule_engine/test/emqx_rule_engine_SUITE.erl @@ -377,7 +377,7 @@ t_reset_metrics(_Config) -> emqx_rule_metrics:reset_metrics(Id), ?assertEqual(#{exception => 0,failed => 0, matched => 0,no_result => 0,passed => 0, - speed => 0.0,speed_last5m => 0.0,speed_max => 0}, + speed => 0.0,speed_last5m => 0.0,speed_max => 0.0}, emqx_rule_metrics:get_rule_metrics(Id)), ?assertEqual(#{failed => 0,success => 0,taken => 0}, emqx_rule_metrics:get_action_metrics(ResId)), From 1c32b08b21c3a11369853dcc820d555212676fb8 Mon Sep 17 00:00:00 2001 From: EMQ-YangM Date: Thu, 7 Apr 2022 10:32:58 +0800 Subject: [PATCH 2/2] feat: impl reset cluster metrics --- apps/emqx_rule_engine/src/emqx_rule_engine_api.erl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/emqx_rule_engine/src/emqx_rule_engine_api.erl b/apps/emqx_rule_engine/src/emqx_rule_engine_api.erl index b2766e0e0..a6220ee9f 100644 --- a/apps/emqx_rule_engine/src/emqx_rule_engine_api.erl +++ b/apps/emqx_rule_engine/src/emqx_rule_engine_api.erl @@ -162,6 +162,7 @@ , show_rule/2 , delete_rule/2 , reset_metrics/2 + , reset_metrics_local/1 ]). -export([ list_actions/2 @@ -260,8 +261,10 @@ delete_rule(#{id := Id}, _Params) -> ok = emqx_rule_engine:delete_rule(Id), return(ok). +reset_metrics_local(Id) -> emqx_rule_metrics:reset_metrics(Id). + reset_metrics(#{id := Id}, _Params) -> - ok = emqx_rule_metrics:reset_metrics(Id), + _ = ?CLUSTER_CALL(reset_metrics_local, [Id]), return(ok). %%------------------------------------------------------------------------------