Jelajahi Sumber

fix: span client.connect should not add message attrs by SYS topics

JimMoen 1 tahun lalu
induk
melakukan
c9f7679334
1 mengubah file dengan 14 tambahan dan 4 penghapusan
  1. 14 4
      apps/emqx/src/emqx_broker.erl

+ 14 - 4
apps/emqx/src/emqx_broker.erl

@@ -357,10 +357,7 @@ route_with_trace(Routes, Delivery, PersistRes) ->
 route([], #delivery{message = Msg}, _PersistRes = []) ->
     ok = emqx_hooks:run('message.dropped', [Msg, #{node => node()}, no_subscribers]),
     ok = inc_dropped_cnt(Msg),
-    ?ext_trace_add_attrs(#{
-        'message.route.dropped.node' => node(),
-        'message.route.dropped.reason' => no_subscribers
-    }),
+    ok = add_route_attrs(Msg),
     [];
 route([], _Delivery, PersistRes = [_ | _]) ->
     PersistRes;
@@ -477,6 +474,19 @@ inc_dropped_cnt(Msg) ->
             emqx_metrics:inc('messages.dropped.no_subscribers')
     end.
 
+-compile({inline, [add_route_attrs/1]}).
+add_route_attrs(Msg) ->
+    case emqx_message:is_sys(Msg) of
+        true ->
+            ok;
+        false ->
+            ?ext_trace_add_attrs(#{
+                'message.route.dropped.node' => node(),
+                'message.route.dropped.reason' => no_subscribers
+            }),
+            ok
+    end.
+
 -compile({inline, [subscribers/1]}).
 -spec subscribers(
     emqx_types:topic()