diff options
| author | Simon MacMullen <simon@rabbitmq.com> | 2011-07-07 12:00:58 +0100 |
|---|---|---|
| committer | Simon MacMullen <simon@rabbitmq.com> | 2011-07-07 12:00:58 +0100 |
| commit | e008fe55ec2090536c2ccc8952e834ae3e5cfe88 (patch) | |
| tree | 40783647cd714dfad29e61a3b81b2c0cc30d6ef7 | |
| parent | c8d480351b9db984a86fc6cd6be8dea3e5c5846e (diff) | |
| parent | 97df2b9ac28af18968ce2aac2c825e49f95f8fab (diff) | |
| download | rabbitmq-server-git-e008fe55ec2090536c2ccc8952e834ae3e5cfe88.tar.gz | |
Merge heads
| -rw-r--r-- | src/rabbit_channel.erl | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl index 49b6160040..0209dcc4e8 100644 --- a/src/rabbit_channel.erl +++ b/src/rabbit_channel.erl @@ -286,12 +286,11 @@ handle_cast({deliver, ConsumerTag, AckRequired, exchange = ExchangeName#resource.name, routing_key = RoutingKey}, rabbit_writer:send_command_and_notify(WriterPid, QPid, self(), M, Content), - - maybe_incr_stats([{QPid, 1}], - case AckRequired of - true -> deliver; - false -> deliver_no_ack - end, State), + maybe_incr_stats([{QPid, 1}], case AckRequired of + true -> deliver; + false -> deliver_no_ack + end, State), + maybe_incr_redeliver_stats(Redelivered, QPid, State), rabbit_trace:tap_trace_out(Msg, TraceState), noreply(State1#ch{next_tag = DeliveryTag + 1}); @@ -685,11 +684,11 @@ handle_method(#'basic.get'{queue = QueueNameBin, State1 = lock_message(not(NoAck), ack_record(DeliveryTag, none, Msg), State), - maybe_incr_stats([{QPid, 1}], - case NoAck of - true -> get_no_ack; - false -> get - end, State), + maybe_incr_stats([{QPid, 1}], case NoAck of + true -> get_no_ack; + false -> get + end, State), + maybe_incr_redeliver_stats(Redelivered, QPid, State), rabbit_trace:tap_trace_out(Msg, TraceState), ok = rabbit_writer:send_command( WriterPid, @@ -1452,6 +1451,11 @@ i(client_flow_blocked, #ch{limiter_pid = LimiterPid}) -> i(Item, _) -> throw({bad_argument, Item}). +maybe_incr_redeliver_stats(true, QPid, State) -> + maybe_incr_stats([{QPid, 1}], redeliver, State); +maybe_incr_redeliver_stats(_, _, _) -> + ok. + maybe_incr_stats(QXIncs, Measure, #ch{stats_timer = StatsTimer}) -> case rabbit_event:stats_level(StatsTimer) of fine -> [incr_stats(QX, Inc, Measure) || {QX, Inc} <- QXIncs]; |
