diff options
| author | Simon MacMullen <simon@rabbitmq.com> | 2015-02-18 14:25:24 +0000 |
|---|---|---|
| committer | Simon MacMullen <simon@rabbitmq.com> | 2015-02-18 14:25:24 +0000 |
| commit | b87d3447fd0e1d863eefe5bf1568306068737bf3 (patch) | |
| tree | 0051680085f444013908374530b9a1aeb73b1a3b | |
| parent | f21c564a790fe59bc2f7737bf7098fa180644c3d (diff) | |
| parent | 1795a95ed47847c00e94281f6d7ad68ca3bdaf3b (diff) | |
| download | rabbitmq-server-git-b87d3447fd0e1d863eefe5bf1568306068737bf3.tar.gz | |
Merge branch 'bug26602'
| -rw-r--r-- | src/rabbit_channel.erl | 4 | ||||
| -rw-r--r-- | src/rabbit_trace.erl | 20 |
2 files changed, 13 insertions, 11 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl index ab8b3bb669..83b3c53d0c 100644 --- a/src/rabbit_channel.erl +++ b/src/rabbit_channel.erl @@ -790,11 +790,11 @@ handle_method(#'basic.publish'{exchange = ExchangeNameBin, end, case rabbit_basic:message(ExchangeName, RoutingKey, DecodedContent) of {ok, Message} -> - rabbit_trace:tap_in(Message, ConnName, ChannelNum, - Username, TraceState), Delivery = rabbit_basic:delivery( Mandatory, DoConfirm, Message, MsgSeqNo), QNames = rabbit_exchange:route(Exchange, Delivery), + rabbit_trace:tap_in(Message, QNames, ConnName, ChannelNum, + Username, TraceState), DQ = {Delivery#delivery{flow = flow}, QNames}, {noreply, case Tx of none -> deliver_to_queues(DQ, State1); diff --git a/src/rabbit_trace.erl b/src/rabbit_trace.erl index dbc2856d0c..9292068cea 100644 --- a/src/rabbit_trace.erl +++ b/src/rabbit_trace.erl @@ -16,7 +16,7 @@ -module(rabbit_trace). --export([init/1, enabled/1, tap_in/5, tap_out/5, start/1, stop/1]). +-export([init/1, enabled/1, tap_in/6, tap_out/5, start/1, stop/1]). -include("rabbit.hrl"). -include("rabbit_framing.hrl"). @@ -32,8 +32,8 @@ -spec(init/1 :: (rabbit_types:vhost()) -> state()). -spec(enabled/1 :: (rabbit_types:vhost()) -> boolean()). --spec(tap_in/5 :: (rabbit_types:basic_message(), binary(), - rabbit_channel:channel_number(), +-spec(tap_in/6 :: (rabbit_types:basic_message(), [rabbit_amqqueue:name()], + binary(), rabbit_channel:channel_number(), rabbit_types:username(), state()) -> 'ok'). -spec(tap_out/5 :: (rabbit_amqqueue:qmsg(), binary(), rabbit_channel:channel_number(), @@ -58,15 +58,17 @@ enabled(VHost) -> {ok, VHosts} = application:get_env(rabbit, ?TRACE_VHOSTS), lists:member(VHost, VHosts). -tap_in(_Msg, _ConnName, _ChannelNum, _Username, none) -> ok; +tap_in(_Msg, _QNames, _ConnName, _ChannelNum, _Username, none) -> ok; tap_in(Msg = #basic_message{exchange_name = #resource{name = XName, virtual_host = VHost}}, - ConnName, ChannelNum, Username, TraceX) -> + QNames, ConnName, ChannelNum, Username, TraceX) -> trace(TraceX, Msg, <<"publish">>, XName, - [{<<"vhost">>, longstr, VHost}, - {<<"connection">>, longstr, ConnName}, - {<<"channel">>, signedint, ChannelNum}, - {<<"user">>, longstr, Username}]). + [{<<"vhost">>, longstr, VHost}, + {<<"connection">>, longstr, ConnName}, + {<<"channel">>, signedint, ChannelNum}, + {<<"user">>, longstr, Username}, + {<<"routed_queues">>, array, + [{longstr, QName#resource.name} || QName <- QNames]}]). tap_out(_Msg, _ConnName, _ChannelNum, _Username, none) -> ok; tap_out({#resource{name = QName, virtual_host = VHost}, |
