summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2011-05-19 18:40:35 +0100
committerMatthias Radestock <matthias@rabbitmq.com>2011-05-19 18:40:35 +0100
commitbff378171127bb2688dd3db920310227b7c87a27 (patch)
treebb55330d609b72593c79d4437d58c4d27fa62cd4 /src
parent96bcb7310baf35dd14f37586733ac9ffb63254c1 (diff)
downloadrabbitmq-server-git-bff378171127bb2688dd3db920310227b7c87a27.tar.gz
sometimes clarity trumps performance
I can't actually detect a difference in performance here, though I'm sure the new code is slower than the old one.
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_trace.erl13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/rabbit_trace.erl b/src/rabbit_trace.erl
index df44ed2562..36125376f1 100644
--- a/src/rabbit_trace.erl
+++ b/src/rabbit_trace.erl
@@ -39,29 +39,24 @@ init(VHost) ->
trace_exchange(VHost).
tap_trace_in(Msg, TraceX) ->
- maybe_trace(Msg, TraceX, publish, []).
+ maybe_trace(Msg, TraceX, <<"publish">>, xname(Msg), []).
tap_trace_out({#resource{name = QName}, _QPid, _QMsgId, Redelivered, Msg},
TraceX) ->
RedeliveredNum = case Redelivered of true -> 1; false -> 0 end,
- maybe_trace(Msg, TraceX, {deliver, QName},
+ maybe_trace(Msg, TraceX, <<"deliver">>, QName,
[{<<"redelivered">>, signedint, RedeliveredNum}]).
xname(#basic_message{exchange_name = #resource{name = XName}}) -> XName.
vhost(#basic_message{exchange_name = #resource{virtual_host = VHost}}) -> VHost.
-maybe_trace(_Msg, none, _Mode, _Extra) ->
+maybe_trace(_Msg, none, _RKPrefix, _RKSuffix, _Extra) ->
ok;
-maybe_trace(Msg0, TraceX, Mode, Extra) ->
+maybe_trace(Msg0, TraceX, RKPrefix, RKSuffix, Extra) ->
case xname(Msg0) of
TraceX -> ok;
_ -> Msg = ensure_content_decoded(Msg0),
X = rabbit_misc:r(vhost(Msg), exchange, TraceX),
- {RKPrefix, RKSuffix} =
- case Mode of
- publish -> {<<"publish">>, xname(Msg0)};
- {deliver, Q} -> {<<"deliver">>, Q}
- end,
RKey = <<RKPrefix/binary, ".", RKSuffix/binary>>,
P = #'P_basic'{headers = msg_to_table(Msg) ++ Extra},
case catch rabbit_basic:publish(X, RKey, P, payload(Msg)) of