3.2.3. Monitoring JGroups via JMX

When the Enterprise Application Platform clustering services create a JGroups Channel to use for intra-cluster communication, they also register with the JMX server a number of MBeans related to that channel; one for the channel itself and one for each of its constituent protocols. For users interested in monitoring the performance-related behavior of a channel, a number of MBean attributes may prove useful.
jboss.jgroups:cluster=<cluster_name>,protocol=UDP,type=protocol
Provides statistical information on the sending and receipt of messages over the network, along with statistics on the behavior of the two thread pools used to carry incoming messages up the channel's protocol stack.
Useful attributes directly related to the rate of transmission and receipt include MessagesSent, BytesSent, MessagesReceived and BytesReceived.
Useful attributes related to the behavior of the thread pool used to carry ordinary incoming messages up the protocol stack include IncomingPoolSize and IncomingQueueSize. Equivalent attributes for the pool of threads used to carry special, unordered "out-of-band" messages up the protocol stack include OOBPoolSize and OOBQueueSize. Note that OOBQueueSize will typically be 0 as the standard JGroups configurations do not use a queue for OOB messages.
jboss.jgroups:cluster=<cluster_name>,protocol=UNICAST,type=protocol
Provides statistical information on the behavior of the protocol responsible for ensuring lossless, ordered delivery of unicast (i.e. point-to-point) messages.
The ratio of NumRetransmissions to MessagesSent can be tracked to see how frequently messages are not being received by peers and need to be retransmitted. The NumberOfMessagesInReceiveWindows attribute can be monitored to track how many messages are queuing up on a recipient node waiting for a message with an earlier sequence number to be received. A high number indicates messages are being dropped and need to be retransmitted.
jboss.jgroups:cluster=<cluster_name>,protocol=NAKACK,type=protocol
Provides statistical information on the behavior of the protocol responsible for ensuring lossless, ordered delivery of multicast (i.e. point-to-multipoint) messages.
Use the XmitRequestsReceived attribute to track how often a node is being asked to re-transmit a messages it sent; use XmitRequestsSent to track how often a node is needing to request retransmission of a message.
jboss.jgroups:cluster=<cluster_name>,protocol=FC,type=protocol
Provides statistical information on the behavior of the protocol responsible for ensuring fast message senders do not overwhelm slow receivers.
Attributes useful for monitoring whether threads seeking to send messages are having to block while waiting for credits from receivers include Blockings, AverageTimeBlocked and TotalTimeBlocked.