C H A P T E R  6

Carrier Grade Transport Protocol Statistics

For information about the Carrier Grade Transfer Protocol (CGTP) statistics that can be accessed from the NMA, see the following sections:


Introducing CGTP Statistics

The CGTP statistics collected by the NMA can be used to ascertain the degree of success with which CGTP is operating in a running cluster. Network traffic conditions might slow down or prohibit the arrival of duplicate packets, or a bottleneck might occur at the local or remote end of the CGTP link. CGTP statistics provide a measure of the success with which CGTP is operating. These statistics are also useful for diagnosing the source of bad performance or failure. Using the CGTP statistics collected by the NMA it is possible to measure the success of packet duplication and filtering, redundant link by redundant link, and pinpoint the source of slow performance or packet loss.

For more information about CGTP, see the Netra High Availability Suite 3.0 1/08 Foundation Services Overview.

Set the com.sun.nhas.ma.cgtp.polling property to specify the interval in milliseconds between sequential updates of CGTP information in the NMA.


CGTP Master Statistics

CgtpMasterMBean

The CgtpMasterMBean MBean exposes the CGTP master node view. This MBean provides lists of local and remote CGTP addresses. One MBean implementing the CgtpMasterMBean interface is instantiated on the cluster master node.

Getting All Local CGTP Addresses for Which Statistics Are Available

To return the list of all local CGTP addresses for which statistics are available, invoke the getLocalCgtpAddresses method. The getLocalCgtpAddresses method takes no parameters, and returns a String[]. If statistics are not available, the method returns null.

Getting All Remote CGTP Addresses for Which Statistics Are Available

To return the list of remote CGTP addresses for which statistics are available, invoke the getRemoteCgtpAddresses method. The getRemoteCgtpAddresses method takes no parameters, and returns a String[]. If statistics are not available, the method returns null.


CGTP Node Statistics

CgtpMBean

One instance of the CgtpMBean is instantiated on each node.

Getting All Local CGTP Addresses for Which Statistics Are Available

To return the list of all local CGTP addresses for which statistics are available, invoke the getLocalCgtpAddresses method. The getLocalCgtpAddresses method takes no parameters, and returns a String[]. If statistics are not available, the method returns null.

Getting All Remote CGTP Addresses for Which Statistics Are Available

To return the list of remote CGTP addresses for which statistics are available, invoke the getRemoteCgtpAddresses method. The getRemoteCgtpAddresses method takes no parameters, and returns a String[]. If statistics are not available, the method returns null.

CgtpEmitterStatisticsMBean

The CgtpEmitterStatisticsMBean MBean provides statistics about the packets a node has sent through the local subinterface, in the reliable link operated by CGTP from a local CGTP address to a remote CGTP address.

Getting the Number of Packets Sent Through Each Subinterface

To get the number of packets sent through each local subinterface taking part in the reliable link, invoke the getSubInterfaceSentCount method. The subinterfaces are placed in the same order as that used in CgtpReliableLinkStatisticsMBean.getSubInterfaceAddresses(). The getSubInterfaceSentCount method takes no parameters, and returns an int[].

CgtpFilterMBean

This MBean interface exposes the statistics available on the CGTP filter. There is one MBean per node which provides information on the CGTP filter.

Getting the Number of Packets Not Received in Duplicate

To get the number of packets that have not been duplicated, invoke the getFilterFailure method. The getFilterFailure method takes no parameters, and returns a long.

Getting the Amount of Memory Currently Used by the Filter Module

To get the amount of memory used by the filter module, invoke the getFilterMemory method. The getFilterMemory method takes no parameters, and returns a long.

Getting the Number of Packets Successfully Received

To get the number of packets successfully received and successfully filtered, invoke the getFilterSuccess method. The getFilterSuccess method takes no parameters, and returns a long.

Getting the Number of Hash Table Collisions

To get the number of collisions that have occurred in the hash table, invoke the getHostCollisions method. The getHostCollisions method takes no parameters, and returns an int.

Getting the Number of Direct Hash Table Entries

To get the number of direct entries in the hash table, invoke the getHostDirect method. The getHostDirect method takes no parameters, and returns an int.

Getting the Number of Hash Table Entries

To get the number of entries in the hash table, invoke the getHostEntries method. The getHostEntries method takes no parameters, and returns an int.

Getting the Maximum Amount of Memory Used by the Filter Module

To get the highest amount of memory used by the filter, invoke the getMaxFilterMemory method. The getMaxFilterMemory method takes no parameters, and returns a long.

Getting the Number of Packets Waiting for Duplicate Reception

To get the number of packets for which no duplicate has yet been received, invoke the getPremiumPacket method. The getPremiumPacket method takes no parameters, and returns an int.

Getting the Number of Packet Hash Collisions

To get the current number of packet hash collisions, invoke the getCollisions method. The getCollisions method takes no parameters, and returns an int.

Getting the Maximum Number of Packet Hash Collisions

To get the maximum number of packet hash collisions, invoke the getMaxCollisions method. The getMaxCollisions method takes no parameters, and returns an int.

Getting the Maximum Number of Packet Hash Collisions in One Row

To get the maximum number of packet hash collisions found in one of the rows of the packet database, invoke the getMaxLineCollisions method. The getMaxLineCollisions method takes no parameters, and returns an int.

CgtpReceiverStatisticsMBean

The CgtpReceiverStatisticsMBean MBean provides statistics about the packets received by this node through the reliable link operated by CGTP from a remote CGTP address to a local CGTP address.

Getting the Number of Packets Not Successfully Filtered

To return the number of packets not successfully filtered on reception, invoke the getFilterFailureCount method. The getFilterFailureCount method takes no parameters, and returns an int.

Getting the Number of Packets Successfully Filtered

To return the number of packets successfully filtered on reception, invoke the getFilterSuccessCount method. The getFilterSuccessCount method takes no parameters, and returns an int.

Getting the Number of Packets Received Through Each Subinterface

To return the number of packets received through each local subinterface taking part in the reliable link, invoke the getSubInterfaceReceivedCount method. The subinterfaces are placed in the same order as that used in CgtpReliableLinkStatisticsMBean.getSubInterfaceAddresses(). The getSubInterfaceReceivedCount method takes no parameters, and returns an int[].

CgtpReliableLinkStatisticsMBean

The CgtpReliableLinkStatisticsMBean MBean lists the addresses of the subinterfaces, and the reliable link addresses currently in use by the Reliable Transport Service.

Getting the Remote Subinterface Addresses

To get the remote interface addresses used by CGTP to send and receive packets, invoke the getGatewayAddresses method. The number of redundant links making up the reliable link is limited to two. The array elements are ordered identically to the subinterface. The getGatewayAddresses method takes no parameters, and returns a String[].

Getting Local End Reliable Link CGTP Addresses

To get the local CGTP address at the local end of the reliable link for which these statistics are provided, invoke the getLocalCgtpAddress method. The getLocalCgtpAddress method takes no parameters, and returns a String.

Getting Remote End Reliable Link CGTP Addresses

To return the remote CGTP address at the remote end of the reliable link for which these statistics are provided, invoke the getRemoteCgtpAddress method. The getRemoteCgtpAddress method takes no parameters, and returns a String.

Getting Local Subinterface Addresses

To return the underlying local subinterface addresses used by CGTP to send and receive packets, invoke the getSubInterfaceAddresses method. The getSubInterfaceAddresses method takes no parameters, and returns a String[]. The number of redundant links making up the reliable link is limited to two. The array elements are ordered identically to those of the gateway.