Package com.rabbitmq.client.impl
Class AbstractMetricsCollector
- java.lang.Object
-
- com.rabbitmq.client.impl.AbstractMetricsCollector
-
- All Implemented Interfaces:
MetricsCollector
public abstract class AbstractMetricsCollector extends java.lang.Object implements MetricsCollector
Base class forMetricsCollector. Implements tricky logic such as keeping track of acknowledged and rejected messages. Sub-classes just need to implement the logic to increment their metrics. Note transactions are not supported (seeMetricsCollector.- See Also:
MetricsCollector
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classAbstractMetricsCollector.ChannelStateprivate static classAbstractMetricsCollector.ConnectionState
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.ConcurrentMap<java.lang.String,AbstractMetricsCollector.ConnectionState>connectionStateprivate static org.slf4j.LoggerLOGGERprivate java.lang.RunnablemarkAcknowledgedMessageActionprivate java.lang.RunnablemarkRejectedMessageAction
-
Constructor Summary
Constructors Constructor Description AbstractMetricsCollector()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidbasicAck(Channel channel, long deliveryTag, boolean multiple)voidbasicCancel(Channel channel, java.lang.String consumerTag)voidbasicConsume(Channel channel, java.lang.String consumerTag, boolean autoAck)voidbasicNack(Channel channel, long deliveryTag)voidbasicPublish(Channel channel)voidbasicPublishAck(Channel channel, long deliveryTag, boolean multiple)voidbasicPublishFailure(Channel channel, java.lang.Throwable cause)voidbasicPublishNack(Channel channel, long deliveryTag, boolean multiple)voidbasicPublishUnrouted(Channel channel)voidbasicReject(Channel channel, long deliveryTag)private AbstractMetricsCollector.ChannelStatechannelState(Channel channel)voidcleanStaleState()Clean inner state for close connections and channels.voidcloseChannel(Channel channel)voidcloseConnection(Connection connection)private AbstractMetricsCollector.ConnectionStateconnectionState(Connection connection)voidconsumedMessage(Channel channel, long deliveryTag, boolean autoAck)voidconsumedMessage(Channel channel, long deliveryTag, java.lang.String consumerTag)protected abstract voiddecrementChannelCount(Channel channel)Decrements channel count.protected abstract voiddecrementConnectionCount(Connection connection)Decrements connection count.protected abstract voidincrementChannelCount(Channel channel)Increments channel count.protected abstract voidincrementConnectionCount(Connection connection)Increments connection count.protected abstract voidmarkAcknowledgedMessage()Marks the event of an acknowledged message.protected abstract voidmarkConsumedMessage()Marks the event of a consumed message.protected abstract voidmarkMessagePublishAcknowledged()Marks the event of a message publishing acknowledgement.protected abstract voidmarkMessagePublishFailed()Marks the event of a message publishing failure.protected abstract voidmarkMessagePublishNotAcknowledged()Marks the event of a message publishing not being acknowledged.protected abstract voidmarkPublishedMessage()Marks the event of a published message.protected abstract voidmarkPublishedMessageUnrouted()Marks the event of a published message not being routed.protected abstract voidmarkRejectedMessage()Marks the event of a rejected message.voidnewChannel(Channel channel)voidnewConnection(Connection connection)private voidupdateChannelStateAfterAckReject(Channel channel, long deliveryTag, boolean multiple, java.lang.Runnable action)
-
-
-
Field Detail
-
LOGGER
private static final org.slf4j.Logger LOGGER
-
connectionState
private final java.util.concurrent.ConcurrentMap<java.lang.String,AbstractMetricsCollector.ConnectionState> connectionState
-
markAcknowledgedMessageAction
private final java.lang.Runnable markAcknowledgedMessageAction
-
markRejectedMessageAction
private final java.lang.Runnable markRejectedMessageAction
-
-
Method Detail
-
newConnection
public void newConnection(Connection connection)
- Specified by:
newConnectionin interfaceMetricsCollector
-
closeConnection
public void closeConnection(Connection connection)
- Specified by:
closeConnectionin interfaceMetricsCollector
-
newChannel
public void newChannel(Channel channel)
- Specified by:
newChannelin interfaceMetricsCollector
-
closeChannel
public void closeChannel(Channel channel)
- Specified by:
closeChannelin interfaceMetricsCollector
-
basicPublish
public void basicPublish(Channel channel)
- Specified by:
basicPublishin interfaceMetricsCollector
-
basicPublishFailure
public void basicPublishFailure(Channel channel, java.lang.Throwable cause)
- Specified by:
basicPublishFailurein interfaceMetricsCollector
-
basicPublishAck
public void basicPublishAck(Channel channel, long deliveryTag, boolean multiple)
- Specified by:
basicPublishAckin interfaceMetricsCollector
-
basicPublishNack
public void basicPublishNack(Channel channel, long deliveryTag, boolean multiple)
- Specified by:
basicPublishNackin interfaceMetricsCollector
-
basicPublishUnrouted
public void basicPublishUnrouted(Channel channel)
- Specified by:
basicPublishUnroutedin interfaceMetricsCollector
-
basicConsume
public void basicConsume(Channel channel, java.lang.String consumerTag, boolean autoAck)
- Specified by:
basicConsumein interfaceMetricsCollector
-
basicCancel
public void basicCancel(Channel channel, java.lang.String consumerTag)
- Specified by:
basicCancelin interfaceMetricsCollector
-
consumedMessage
public void consumedMessage(Channel channel, long deliveryTag, boolean autoAck)
- Specified by:
consumedMessagein interfaceMetricsCollector
-
consumedMessage
public void consumedMessage(Channel channel, long deliveryTag, java.lang.String consumerTag)
- Specified by:
consumedMessagein interfaceMetricsCollector
-
basicAck
public void basicAck(Channel channel, long deliveryTag, boolean multiple)
- Specified by:
basicAckin interfaceMetricsCollector
-
basicNack
public void basicNack(Channel channel, long deliveryTag)
- Specified by:
basicNackin interfaceMetricsCollector
-
basicReject
public void basicReject(Channel channel, long deliveryTag)
- Specified by:
basicRejectin interfaceMetricsCollector
-
updateChannelStateAfterAckReject
private void updateChannelStateAfterAckReject(Channel channel, long deliveryTag, boolean multiple, java.lang.Runnable action)
-
connectionState
private AbstractMetricsCollector.ConnectionState connectionState(Connection connection)
-
channelState
private AbstractMetricsCollector.ChannelState channelState(Channel channel)
-
cleanStaleState
public void cleanStaleState()
Clean inner state for close connections and channels. Inner state is automatically cleaned on connection and channel closing. Thus, this method is provided as a safety net, to be externally called periodically if closing of resources wouldn't work properly for some corner cases.
-
incrementConnectionCount
protected abstract void incrementConnectionCount(Connection connection)
Increments connection count. The connection object is passed in as complementary information and without any guarantee of not being null.- Parameters:
connection- the connection that has been created (can be null)
-
decrementConnectionCount
protected abstract void decrementConnectionCount(Connection connection)
Decrements connection count. The connection object is passed in as complementary information and without any guarantee of not being null.- Parameters:
connection- the connection that has been closed (can be null)
-
incrementChannelCount
protected abstract void incrementChannelCount(Channel channel)
Increments channel count. The channel object is passed in as complementary information and without any guarantee of not being null.- Parameters:
channel- the channel that has been created (can be null)
-
decrementChannelCount
protected abstract void decrementChannelCount(Channel channel)
Decrements channel count. The channel object is passed in as complementary information and without any guarantee of not being null.- Parameters:
channel-
-
markPublishedMessage
protected abstract void markPublishedMessage()
Marks the event of a published message.
-
markMessagePublishFailed
protected abstract void markMessagePublishFailed()
Marks the event of a message publishing failure.
-
markConsumedMessage
protected abstract void markConsumedMessage()
Marks the event of a consumed message.
-
markAcknowledgedMessage
protected abstract void markAcknowledgedMessage()
Marks the event of an acknowledged message.
-
markRejectedMessage
protected abstract void markRejectedMessage()
Marks the event of a rejected message.
-
markMessagePublishAcknowledged
protected abstract void markMessagePublishAcknowledged()
Marks the event of a message publishing acknowledgement.
-
markMessagePublishNotAcknowledged
protected abstract void markMessagePublishNotAcknowledged()
Marks the event of a message publishing not being acknowledged.
-
markPublishedMessageUnrouted
protected abstract void markPublishedMessageUnrouted()
Marks the event of a published message not being routed.
-
-