summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2012-12-28 22:03:28 +0000
committerMatthias Radestock <matthias@rabbitmq.com>2012-12-28 22:03:28 +0000
commit16c4c92f462794de9d20c24aeb8f95f7bfb8e976 (patch)
treebf763aa83eab63d60f496d0811881cb1fd89e8b3
parentf2c3b6f40dd78ff325d3fdf3a77b2c52a9dfd202 (diff)
downloadrabbitmq-server-git-16c4c92f462794de9d20c24aeb8f95f7bfb8e976.tar.gz
optimise rabbit_trace:tap_{in,out} common cases
-rw-r--r--src/rabbit_trace.erl19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/rabbit_trace.erl b/src/rabbit_trace.erl
index b9a7cc1581..601656da1c 100644
--- a/src/rabbit_trace.erl
+++ b/src/rabbit_trace.erl
@@ -54,13 +54,15 @@ enabled(VHost) ->
{ok, VHosts} = application:get_env(rabbit, ?TRACE_VHOSTS),
lists:member(VHost, VHosts).
+tap_in(_Msg, none) -> ok;
tap_in(Msg = #basic_message{exchange_name = #resource{name = XName}}, TraceX) ->
- maybe_trace(TraceX, Msg, <<"publish">>, XName, []).
+ trace(TraceX, Msg, <<"publish">>, XName, []).
+tap_out(_Msg, none) -> ok;
tap_out({#resource{name = QName}, _QPid, _QMsgId, Redelivered, Msg}, TraceX) ->
RedeliveredNum = case Redelivered of true -> 1; false -> 0 end,
- maybe_trace(TraceX, Msg, <<"deliver">>, QName,
- [{<<"redelivered">>, signedint, RedeliveredNum}]).
+ trace(TraceX, Msg, <<"deliver">>, QName,
+ [{<<"redelivered">>, signedint, RedeliveredNum}]).
%%----------------------------------------------------------------------------
@@ -81,14 +83,11 @@ update_config(Fun) ->
%%----------------------------------------------------------------------------
-maybe_trace(none, _Msg, _RKPrefix, _RKSuffix, _Extra) ->
+trace(#exchange{name = Name}, #basic_message{exchange_name = Name},
+ _RKPrefix, _RKSuffix, _Extra) ->
ok;
-maybe_trace(#exchange{name = Name}, #basic_message{exchange_name = Name},
- _RKPrefix, _RKSuffix, _Extra) ->
- ok;
-maybe_trace(X, Msg = #basic_message{content = #content{
- payload_fragments_rev = PFR}},
- RKPrefix, RKSuffix, Extra) ->
+trace(X, Msg = #basic_message{content = #content{payload_fragments_rev = PFR}},
+ RKPrefix, RKSuffix, Extra) ->
{ok, _, _} = rabbit_basic:publish(
X, <<RKPrefix/binary, ".", RKSuffix/binary>>,
#'P_basic'{headers = msg_to_table(Msg) ++ Extra}, PFR),