Jelajahi Sumber

fix(stats): fix topic name error

firest 3 tahun lalu
induk
melakukan
bcc16230cc
1 mengubah file dengan 8 tambahan dan 2 penghapusan
  1. 8 2
      apps/emqx/src/emqx_sys.erl

+ 8 - 2
apps/emqx/src/emqx_sys.erl

@@ -333,7 +333,7 @@ publish(brokers, Nodes) ->
     safe_publish(<<"$SYS/brokers">>, #{retain => true}, Payload);
 publish(stats, Stats) ->
     [
-        safe_publish(systop(lists:concat(['stats/', Stat])), integer_to_binary(Val))
+        safe_publish(systop(stats_topic(Stat)), integer_to_binary(Val))
      || {Stat, Val} <- Stats, is_atom(Stat), is_integer(Val)
     ];
 publish(metrics, Metrics) ->
@@ -351,7 +351,13 @@ publish(Event, Payload) when
     safe_publish(Topic, emqx_json:encode(Payload)).
 
 metric_topic(Name) ->
-    lists:concat(["metrics/", string:replace(atom_to_list(Name), ".", "/", all)]).
+    translate_topic("metrics/", Name).
+
+stats_topic(Name) ->
+    translate_topic("stats/", Name).
+
+translate_topic(Prefix, Name) ->
+    lists:concat([Prefix, string:replace(atom_to_list(Name), ".", "/", all)]).
 
 safe_publish(Topic, Payload) ->
     safe_publish(Topic, #{}, Payload).