UM .NET API  6.16.1
com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics Class Reference

UM Receiver Transport Statistics. More...

Inheritance diagram for com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics:
com.latencybusters.lbm.LBMStatistics

Public Member Functions

 LBMImmediateMessageReceiverStatistics ()
 Instantiate an empty object containing no statistics. More...
 
unsafe LBMImmediateMessageReceiverStatistics (LBMContext lbmctx, int maxStats)
 Instantiate object containing the aggregate set of statistics for a particular context. More...
 
void Dispose ()
 Free memory associated with this set of statistics.
 
void dispose ()
 Free memory associated with this set of statistics (same as Dispose()). More...
 
unsafe void refresh (LBMContext lbmctx, int maxStats)
 Refresh the aggregate set of statistics for a particular context. More...
 
int size ()
 Number of transport statistical sets encapsulated within this object. More...
 
int type ()
 Transport type (TCP, LBT-RM, etc.) More...
 
int type (int n)
 Transport type (TCP, LBT-RM, etc.) More...
 
string typeName ()
 Transport type name (TCP, LBT-RM, etc.). More...
 
string typeName (int n)
 Transport type name (TCP, LBT-RM, etc.). More...
 
string source ()
 Source of transport as a string. More...
 
string source (int n)
 Source of transport as a string. More...
 
long bytesReceived ()
 Number of datagram bytes received (TCP, LBT-RM) More...
 
long bytesReceived (int n)
 Number of datagram bytes received (TCP, LBT-RM) More...
 
long messagesReceived ()
 Number of datagrams received (LBT-RM only) More...
 
long messagesReceived (int n)
 Number of datagrams received (LBT-RM only) More...
 
long nakPacketsSent ()
 Number of NAK packets sent by the receiver transport (LBT-RM only) More...
 
long nakPacketsSent (int n)
 Number of NAK packets sent by the receiver transport (LBT-RM only) More...
 
long naksSent ()
 Number of individual NAKs sent by the receiver transport (LBT-RM only) More...
 
long naksSent (int n)
 Number of individual NAKs sent by the receiver transport (LBT-RM only) More...
 
long lost ()
 Number of datagrams detected as lost (LBT-RM only) More...
 
long lost (int n)
 Number of datagrams detected as lost (LBT-RM only) More...
 
long ncfsIgnored ()
 Number of NCFs received from a source transport with reason code "ignored". (LBT-RM only) More...
 
long ncfsIgnored (int n)
 Number of NCFs received from a source transport with reason code "ignored". (LBT-RM only) More...
 
long ncfsShed ()
 Number of NCFs received with reason code "shed" (LBT-RM only) More...
 
long ncfsShed (int n)
 Number of NCFs received with reason code "shed" (LBT-RM only) More...
 
long ncfsRetransmissionDelay ()
 Number of NCFs received with reason code "rx_delay" (LBT-RM only) More...
 
long ncfsRetransmissionDelay (int n)
 Number of NCFs received with reason code "rx_delay" (LBT-RM only) More...
 
long ncfsUnknown ()
 Number of NCFs received with reason code "unknown" (LBT-RM only) More...
 
long ncfsUnknown (int n)
 Number of NCFs received with reason code "unknown" (LBT-RM only) More...
 
long minimumRecoveryTime ()
 Minimum time (in milliseconds) in which loss recovery was accomplished (LBT-RM only) More...
 
long minimumRecoveryTime (int n)
 Minimum time (in milliseconds) in which loss recovery was accomplished (LBT-RM only) More...
 
long meanRecoveryTime ()
 Mean time (in milliseconds) in which loss recovery was accomplished (LBT-RM only) More...
 
long meanRecoveryTime (int n)
 Mean time (in milliseconds) in which loss recovery was accomplished (LBT-RM only) More...
 
long maximumRecoveryTime ()
 Maximum time (in milliseconds) in which loss recovery was accomplished (LBT-RM only) More...
 
long maximumRecoveryTime (int n)
 Maximum time (in milliseconds) in which loss recovery was accomplished (LBT-RM only) More...
 
long minimumNakTransmissions ()
 Minimum number of times per lost message that a receiver transport transmitted a NAK. (LBT-RM only) More...
 
long minimumNakTransmissions (int n)
 Minimum number of times per lost message that a receiver transport transmitted a NAK. (LBT-RM only) More...
 
long meanNakTransmissions ()
 Mean number of times per lost message that a receiver transport transmitted a NAK. (LBT-RM only) More...
 
long meanNakTransmissions (int n)
 Mean number of times per lost message that a receiver transport transmitted a NAK. (LBT-RM only) More...
 
long maximumNakTransmissions ()
 Maximum number of times per lost message that a receiver transport transmitted a NAK. (LBT-RM only) More...
 
long maximumNakTransmissions (int n)
 Maximum number of times per lost message that a receiver transport transmitted a NAK. (LBT-RM only) More...
 
long duplicateMessages ()
 Number of duplicate datagrams received (LBT-RM only) More...
 
long duplicateMessages (int n)
 Number of duplicate datagrams received (LBT-RM only) More...
 
long unrecoveredMessagesWindowAdvance ()
 Number of datagrams unrecovered due to transmission window advance (LBT-RM only) More...
 
long unrecoveredMessagesWindowAdvance (int n)
 Number of datagrams unrecovered due to transmission window advance (LBT-RM only) More...
 
long unrecoveredMessagesNakGenerationTimeout ()
 Number of LBT-RM datagrams unrecovered due to a retransmission not received within the NAK generation interval (LBT-RM only) More...
 
long unrecoveredMessagesNakGenerationTimeout (int n)
 Number of LBT-RM datagrams unrecovered due to a retransmission not received within the NAK generation interval (LBT-RM only) More...
 
long lbmMessagesReceived ()
 Number of messages or message fragments received over a transport. (TCP, LBM-RM) More...
 
long lbmMessagesReceived (int n)
 Number of messages or message fragments received over a transport. (TCP, LBM-RM) More...
 
long lbmRequestsReceived ()
 Number of UM request messages received (message type LBM_MSG_REQUEST) (TCP, LBT-RM) More...
 
long lbmRequestsReceived (int n)
 Number of UM request messages received (message type LBM_MSG_REQUEST) (TCP, LBT-RM) More...
 
long noTopicMessagesReceived ()
 Number of messages received that were not for a topic of interest to the receiver (TCP, LBT-RM) More...
 
long noTopicMessagesReceived (int n)
 Number of messages received that were not for a topic of interest to the receiver (TCP, LBT-RM) More...
 
long datagramsDroppedIncorrectSize ()
 Number of datagrams discarded due to size. More...
 
long datagramsDroppedIncorrectSize (int n)
 Number of datagrams discarded due to size. More...
 
long datagramsDroppedType ()
 Number of datagrams discarded due to bad packet type. More...
 
long datagramsDroppedType (int n)
 Number of datagrams discarded due to bad packet type. More...
 
long datagramsDroppedVersion ()
 Number of datagrams discarded due to version mismatch. More...
 
long datagramsDroppedVersion (int n)
 Number of datagrams discarded due to version mismatch. More...
 
long datagramsDroppedHeader ()
 Number of datagrams discarded due to bad header type. More...
 
long datagramsDroppedHeader (int n)
 Number of datagrams discarded due to bad header type. More...
 
long datagramsDroppedSID ()
 Number of datagrams discarded due to session ID mismatch. More...
 
long datagramsDroppedSID (int n)
 Number of datagrams discarded due to session ID mismatch. More...
 
long datagramsDroppedOther ()
 Number of datagrams discarded due to other reasons. More...
 
long datagramsDroppedOther (int n)
 Number of datagrams discarded due to other reasons. More...
 
long outOfOrder ()
 Number of out-of-order datagrams received. More...
 
long outOfOrder (int n)
 Number of out-of-order datagrams received. More...
 
string getApplicationSourceId ()
 Retrieve the application source identifier associated with this set of statistics. More...
 
IPAddress getSender ()
 Retrieve the IP sender address associated with this set of statistics. More...
 
DateTime getTimestamp ()
 Retrieve the timestamp associated with this set of statistics. More...
 
long getProcessId ()
 Retrieve the sender process ID associated with this set of statistics. More...
 
long getContextId ()
 Retrieve the sender context ID associated with this set of statistics. More...
 
long getObjectId ()
 Retrieve the sender object ID associated with this set of statistics. More...
 
long getSource ()
 Retrieve the source attribute from the statistics attribute block associated with this set of statistics. More...
 

Detailed Description

UM Receiver Transport Statistics.

This object provides user monitoring with access to statistics of an application being monitored. The user monitoring code can be part of the application being monitored (i.e. the application can be "self-monitoring"), or the monitoring code can be remote, using the lbmmon infrastructure to deliver statistics. Note that when stats are sampled, the fields in the structure are not necessarily from the same instant in time. The structure might be updated concurrently with it being sampled, and while each structure field is atomically read, the field values can be skewed slightly across time.

Constructor & Destructor Documentation

com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.LBMImmediateMessageReceiverStatistics ( )

Instantiate an empty object containing no statistics.

See also
refresh
unsafe com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.LBMImmediateMessageReceiverStatistics ( LBMContext  lbmctx,
int  maxStats 
)

Instantiate object containing the aggregate set of statistics for a particular context.

This constructor will throw LBMEInvalException if maxStats is less than the the available number of transport statistical sets.

See also
refresh
Parameters
lbmctxLBMContext object
maxStatsMaximum number of sources

Member Function Documentation

long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.bytesReceived ( )

Number of datagram bytes received (TCP, LBT-RM)

The total of lengths of all transport packets, including UM header information. This method returns a value from the first set of statistics encapsulated within this object.

Returns
Number of bytes received.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.bytesReceived ( int  n)

Number of datagram bytes received (TCP, LBT-RM)

The total of lengths of all transport packets, including UM header information. This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Number of bytes received.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.datagramsDroppedHeader ( )

Number of datagrams discarded due to bad header type.

These datagrams appeared to be intact, but with an unrecognizable header format. This method returns a value from the first set of statistics encapsulated within this object.

Returns
Number of datagrams discarded due to bad header type.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.datagramsDroppedHeader ( int  n)

Number of datagrams discarded due to bad header type.

These datagrams appeared to be intact, but with an unrecognizable header format. This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Number of datagrams discarded due to bad header type.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.datagramsDroppedIncorrectSize ( )

Number of datagrams discarded due to size.

This method returns a value from the first set of statistics encapsulated within this object

Returns
Number of datagrams discarded due to being smaller than the size designated in the datagram's size field.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.datagramsDroppedIncorrectSize ( int  n)

Number of datagrams discarded due to size.

This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Number of datagrams discarded due to being smaller than the size designated in the datagram's size field.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.datagramsDroppedOther ( )

Number of datagrams discarded due to other reasons.

This method returns a value from the first set of statistics encapsulated within this object.

Returns
Number of unrecognizable datagrams discarded due to reasons other than those determined by the above counts. They could be garbled, or possibly be from foreign or incompatible software at the other end.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.datagramsDroppedOther ( int  n)

Number of datagrams discarded due to other reasons.

This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Number of unrecognizable datagrams discarded due to reasons other than those determined by the above counts. They could be garbled, or possibly be from foreign or incompatible software at the other end.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.datagramsDroppedSID ( )

Number of datagrams discarded due to session ID mismatch.

These datagrams appeared to be correctly formed, but with an unmatched/unrecognized session ID field. This method returns a value from the first set of statistics encapsulated within this object.

Returns
Number of datagrams discarded due to session ID mismatch.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.datagramsDroppedSID ( int  n)

Number of datagrams discarded due to session ID mismatch.

These datagrams appeared to be correctly formed, but with an unmatched/unrecognized session ID field. This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Number of datagrams discarded due to session ID mismatch.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.datagramsDroppedType ( )

Number of datagrams discarded due to bad packet type.

The datagram's type field must match the expectations of the receiver transport. This method returns a value from the first set of statistics encapsulated within this object

Returns
Number of datagrams discarded due to bad packet type.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.datagramsDroppedType ( int  n)

Number of datagrams discarded due to bad packet type.

The datagram's type field must match the expectations of the receiver transport. This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Number of datagrams discarded due to bad packet type.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.datagramsDroppedVersion ( )

Number of datagrams discarded due to version mismatch.

The datagram's version field must match the expectations of the receiver transport. This method returns a value from the first set of statistics encapsulated within this object.

Returns
Number of datagrams discarded due to version mismatch.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.datagramsDroppedVersion ( int  n)

Number of datagrams discarded due to version mismatch.

The datagram's version field must match the expectations of the receiver transport. This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Number of datagrams discarded due to version mismatch.
void com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.dispose ( )

Free memory associated with this set of statistics (same as Dispose()).

See also
Dispose

Referenced by com.latencybusters.lbm.LBMObjectRecycler.close().

long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.duplicateMessages ( )

Number of duplicate datagrams received (LBT-RM only)

A large number can indicate a lossy network, primarily due to other receiver transports requesting retransmissions that this receiver transport has already successfully received. Such duplicates require extra effort for filtering, and this should be investigated. This method returns a value from the first set of statistics encapsulated within this object.

Returns
Number of duplicate datagrams received.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.duplicateMessages ( int  n)

Number of duplicate datagrams received (LBT-RM only)

A large number can indicate a lossy network, primarily due to other receiver transports requesting retransmissions that this receiver transport has already successfully received. Such duplicates require extra effort for filtering, and this should be investigated. This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Number of duplicate datagrams received.
string com.latencybusters.lbm.LBMStatistics.getApplicationSourceId ( )
inherited

Retrieve the application source identifier associated with this set of statistics.

This attribute is only set for remote statistics returned by the lbmmon infrastructure. For locally-gathered statistics, this method returns an undefined value.

Returns
Application source ID
long com.latencybusters.lbm.LBMStatistics.getContextId ( )
inherited

Retrieve the sender context ID associated with this set of statistics.

This attribute is only set for remote statistics returned by the lbmmon infrastructure. For locally-gathered statistics, this method returns an undefined value.

Returns
Sender context ID
long com.latencybusters.lbm.LBMStatistics.getObjectId ( )
inherited

Retrieve the sender object ID associated with this set of statistics.

This attribute is only set for remote statistics returned by the lbmmon infrastructure. For locally-gathered statistics, this method returns an undefined value.

Returns
Sender object ID
long com.latencybusters.lbm.LBMStatistics.getProcessId ( )
inherited

Retrieve the sender process ID associated with this set of statistics.

This attribute is only set for remote statistics returned by the lbmmon infrastructure. For locally-gathered statistics, this method returns an undefined value.

Returns
Sender process ID
IPAddress com.latencybusters.lbm.LBMStatistics.getSender ( )
inherited

Retrieve the IP sender address associated with this set of statistics.

This attribute is only set for remote statistics returned by the lbmmon infrastructure. For locally-gathered statistics, this method returns an undefined value.

Returns
IPAddress object corresponding to the statistics' sender IP address
long com.latencybusters.lbm.LBMStatistics.getSource ( )
inherited

Retrieve the source attribute from the statistics attribute block associated with this set of statistics.

This attribute is only set for remote statistics returned by the lbmmon infrastructure. For locally-gathered statistics, this method returns an undefined value. Compare return value to LBMMonitor.ATTR_SOURCE_NORMAL and LBMMonitor.ATTR_SOURCE_IM.

Returns
Sender source flag
DateTime com.latencybusters.lbm.LBMStatistics.getTimestamp ( )
inherited

Retrieve the timestamp associated with this set of statistics.

This attribute is only set for remote statistics returned by the lbmmon infrastructure. For locally-gathered statistics, this method returns an undefined value.

Returns
DateTime object
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.lbmMessagesReceived ( )

Number of messages or message fragments received over a transport. (TCP, LBM-RM)

A single datagram may contain one or more messages or a fragment of a larger message. For fragmented messages larger than the transport's maximum size configuration option, this count reflects the number of datagrams used to constitute those messages. Thus, this number is equal to or greater than the datagram counter (messagesReceived, above). This number also includes messages received for which there was no interested receiver, tallied in the noTopicMessagesReceived counter (below). This method returns a value from the first set of statistics encapsulated within this object.

Returns
Number of messages or message fragments received over a transport.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.lbmMessagesReceived ( int  n)

Number of messages or message fragments received over a transport. (TCP, LBM-RM)

A single datagram may contain one or more messages or a fragment of a larger message. For fragmented messages larger than the transport's maximum size configuration option, this count reflects the number of datagrams used to constitute those messages. Thus, this number is equal to or greater than the datagram counter (messagesReceived, above). This number also includes messages received for which there was no interested receiver, tallied in the noTopicMessagesReceived counter (below). This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Number of messages or message fragments received over a transport.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.lbmRequestsReceived ( )

Number of UM request messages received (message type LBM_MSG_REQUEST) (TCP, LBT-RM)

This method returns a value from the first set of statistics encapsulated within this object.

Returns
Number of UM request messages received (message type LBM_MSG_REQUEST)
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.lbmRequestsReceived ( int  n)

Number of UM request messages received (message type LBM_MSG_REQUEST) (TCP, LBT-RM)

This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Number of UM request messages received (message type LBM_MSG_REQUEST)
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.lost ( )

Number of datagrams detected as lost (LBT-RM only)

This method returns a value from the first set of statistics encapsulated within this object.

Returns
Number of datagrams that have been detected as lost.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.lost ( int  n)

Number of datagrams detected as lost (LBT-RM only)

This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Number of datagrams that have been detected as lost.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.maximumNakTransmissions ( )

Maximum number of times per lost message that a receiver transport transmitted a NAK. (LBT-RM only)

A value higher than 1 suggests that there may have been some unrecoverable loss on the network during the sample period. A significantly high value compared to the mean number) implies an isolated incident. This method returns a value from the first set of statistics encapsulated within this object.

Returns
Maximum number of times per lost message that a receiver transport transmitted a NAK, i.e., the highest value collected so far.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.maximumNakTransmissions ( int  n)

Maximum number of times per lost message that a receiver transport transmitted a NAK. (LBT-RM only)

A value higher than 1 suggests that there may have been some unrecoverable loss on the network during the sample period. A significantly high value compared to the mean number) implies an isolated incident. This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Maximum number of times per lost message that a receiver transport transmitted a NAK, i.e., the highest value collected so far.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.maximumRecoveryTime ( )

Maximum time (in milliseconds) in which loss recovery was accomplished (LBT-RM only)

If this time is near or equal to the configuration option transport_lbtrm_nak_generation_interval setting, you have likely experienced some level of unrecoverable loss. This method returns a value from the first set of statistics encapsulated within this object.

Returns
Maximum time (in milliseconds), i.e., the longest time recorded so far, for a lost message to be recovered.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.maximumRecoveryTime ( int  n)

Maximum time (in milliseconds) in which loss recovery was accomplished (LBT-RM only)

If this time is near or equal to the configuration option transport_lbtrm_nak_generation_interval setting, you have likely experienced some level of unrecoverable loss. This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Maximum time (in milliseconds), i.e., the longest time recorded so far, for a lost message to be recovered.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.meanNakTransmissions ( )

Mean number of times per lost message that a receiver transport transmitted a NAK. (LBT-RM only)

Ideally this should be at or near 1. A higher value indicates a lossy network. This is an exponentially weighted moving average (weighted to more recent) for accumulated NAKs per lost message. This method returns a value from the first set of statistics encapsulated within this object.

Returns
Mean number of times per lost message that a receiver transport transmitted a NAK.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.meanNakTransmissions ( int  n)

Mean number of times per lost message that a receiver transport transmitted a NAK. (LBT-RM only)

Ideally this should be at or near 1. A higher value indicates a lossy network. This is an exponentially weighted moving average (weighted to more recent) for accumulated NAKs per lost message. This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Mean number of times per lost message that a receiver transport transmitted a NAK.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.meanRecoveryTime ( )

Mean time (in milliseconds) in which loss recovery was accomplished (LBT-RM only)

This is an exponentially weighted moving average (weighted to more recent) for accumulated measured recovery times. Ideally this field should be as close to your minimum recovery time (nak_stm_min, above) as possible. High mean recovery times indicate a lossy network. This method returns a value from the first set of statistics encapsulated within this object.

Returns
Mean time (in milliseconds) in which loss recovery was accomplished.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.meanRecoveryTime ( int  n)

Mean time (in milliseconds) in which loss recovery was accomplished (LBT-RM only)

This is an exponentially weighted moving average (weighted to more recent) for accumulated measured recovery times. Ideally this field should be as close to your minimum recovery time (nak_stm_min, above) as possible. High mean recovery times indicate a lossy network. This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Mean time (in milliseconds) in which loss recovery was accomplished.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.messagesReceived ( )

Number of datagrams received (LBT-RM only)

Depending on batching settings, a single LBT-RM datagram may contain one or more messages, or a fragment of a larger message. With LBT-RM, larger messages are split into fragment sizes limited by configuration option transport_lbtrm_datagram_max_size (default 8KB). This method returns a value from the first set of statistics encapsulated within this object.

See also
LBMReceiverStatistics(LBMReceiver, string)
Returns
Number of datagrams received.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.messagesReceived ( int  n)

Number of datagrams received (LBT-RM only)

Depending on batching settings, a single LBT-RM datagram may contain one or more messages, or a fragment of a larger message. With LBT-RM, larger messages are split into fragment sizes limited by configuration option transport_lbtrm_datagram_max_size (default 8KB). This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Number of datagrams received.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.minimumNakTransmissions ( )

Minimum number of times per lost message that a receiver transport transmitted a NAK. (LBT-RM only)

A value greater than 1 indicates a chronically lossy network. This method returns a value from the first set of statistics encapsulated within this object.

Returns
Minimum number of times per lost message that a receiver transport transmitted a NAK, i.e., the lowest value collected so far.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.minimumNakTransmissions ( int  n)

Minimum number of times per lost message that a receiver transport transmitted a NAK. (LBT-RM only)

A value greater than 1 indicates a chronically lossy network. This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Minimum number of times per lost message that a receiver transport transmitted a NAK, i.e., the lowest value collected so far.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.minimumRecoveryTime ( )

Minimum time (in milliseconds) in which loss recovery was accomplished (LBT-RM only)

If this time is greater than configuration option transport_lbtrm_nak_backoff_interval, it may be taking multiple NAKs to initiate retransmissions, indicating a lossy network. This method returns a value from the first set of statistics encapsulated within this object.

Returns
Minimum time (in milliseconds), i.e., the shortest time recorded so far, for a lost message to be recovered.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.minimumRecoveryTime ( int  n)

Minimum time (in milliseconds) in which loss recovery was accomplished (LBT-RM only)

If this time is greater than configuration option transport_lbtrm_nak_backoff_interval, it may be taking multiple NAKs to initiate retransmissions, indicating a lossy network. This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Minimum time (in milliseconds), i.e., the shortest time recorded so far, for a lost message to be recovered.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.nakPacketsSent ( )

Number of NAK packets sent by the receiver transport (LBT-RM only)

UM batches NAKs into NAK packets to save network bandwidth. This should always be less than or equal to the number of individual NAKs sent (naksSent, below). This method returns a value from the first set of statistics encapsulated within this object.

Returns
Number of NAK packets sent.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.nakPacketsSent ( int  n)

Number of NAK packets sent by the receiver transport (LBT-RM only)

UM batches NAKs into NAK packets to save network bandwidth. This should always be less than or equal to the number of individual NAKs sent (naksSent, below). This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Number of NAK packets sent.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.naksSent ( )

Number of individual NAKs sent by the receiver transport (LBT-RM only)

This may differ from the tally of lost datagrams (below) due to reasons such as

  • Other receiver transports may have already sent a NAK for the same lost datagram, resulting in a retransmitted lost datagram (or an NCF) to arrive at this receiver transport before it has a chance to issue a NAK, or
  • During periods of heavy loss, receiver transports may be forced to issue multiple NAKs per lost datagram (controlled by configuration options transport_lbtrm_nak_generation_interval and transport_lbtrm_nak_backoff_interval) until either the retransmission is received or the datagram is declared unrecovered (which may ultimately lead to UM delivering an LBM_MSG_UNRECOVERABLE_LOSS notification to the receiver application).

This method returns a value from the first set of statistics encapsulated within this object.

Returns
. Number of individual NAKs sent by the receiver.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.naksSent ( int  n)

Number of individual NAKs sent by the receiver transport (LBT-RM only)

This may differ from the tally of lost datagrams (below) due to reasons such as

  • Other receiver transports may have already sent a NAK for the same lost datagram, resulting in a retransmitted lost datagram (or an NCF) to arrive at this receiver transport before it has a chance to issue a NAK, or
  • During periods of heavy loss, receiver transports may be forced to issue multiple NAKs per lost datagram (controlled by configuration options transport_lbtrm_nak_generation_interval and transport_lbtrm_nak_backoff_interval) until either the retransmission is received or the datagram is declared unrecovered (which may ultimately lead to UM delivering an LBM_MSG_UNRECOVERABLE_LOSS notification to the receiver application).

This method returns a value from the first set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Number of individual NAKs sent by the receiver.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.ncfsIgnored ( )

Number of NCFs received from a source transport with reason code "ignored". (LBT-RM only)

If a source transport receives a NAK for a datagram that it has recently retransmitted, it sends an "NCF ignored" and does not retransmit. How "recently" is determined by the configuration option source transport_lbtrm_ignore_interval (default 500ms). If this count is high, a receiver transport may be having trouble receiving retransmissions, or the ignore interval may be set too long. This method returns a value from the first set of statistics encapsulated within this object.

Returns
Number of NCFs received from a source transport with the reason code set to "ignored".
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.ncfsIgnored ( int  n)

Number of NCFs received from a source transport with reason code "ignored". (LBT-RM only)

If a source transport receives a NAK for a datagram that it has recently retransmitted, it sends an "NCF ignored" and does not retransmit. How "recently" is determined by the configuration option source transport_lbtrm_ignore_interval (default 500ms). If this count is high, a receiver transport may be having trouble receiving retransmissions, or the ignore interval may be set too long. This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Number of NCFs received from a source transport with the reason code set to "ignored".
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.ncfsRetransmissionDelay ( )

Number of NCFs received with reason code "rx_delay" (LBT-RM only)

When a source transport's retransmit rate limiter prevents it from immediately retransmitting any more lost datagrams, it responds to a NAK by sending an "NCF rx_delay", then queues the retransmission for a later send. The receiver transport should wait for the retransmission and not immediately send another NAK. If this count is high, one or more crybaby receiver transports may be clogging the source transport's retransmit queue. This method returns a value from the first set of statistics encapsulated within this object.

Returns
Number of NCFs that have been received with the reason code set to "rx_delay".
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.ncfsRetransmissionDelay ( int  n)

Number of NCFs received with reason code "rx_delay" (LBT-RM only)

When a source transport's retransmit rate limiter prevents it from immediately retransmitting any more lost datagrams, it responds to a NAK by sending an "NCF rx_delay", then queues the retransmission for a later send. The receiver transport should wait for the retransmission and not immediately send another NAK. If this count is high, one or more crybaby receiver transports may be clogging the source transport's retransmit queue. This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Number of NCFs that have been received with the reason code set to "rx_delay".
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.ncfsShed ( )

Number of NCFs received with reason code "shed" (LBT-RM only)

When a source transport's retransmit queue and rate limiter are both at maximum, it responds to a NAK by sending an "NCF shed", and does not retransmit. The receiver transport should wait, then send another NAK. If this count is high, one or more crybaby receiver transports may be clogging the source transport's retransmit queue. This method returns a value from the first set of statistics encapsulated within this object.

Returns
Number of NCFs that have been received with the reason code set to "shed".
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.ncfsShed ( int  n)

Number of NCFs received with reason code "shed" (LBT-RM only)

When a source transport's retransmit queue and rate limiter are both at maximum, it responds to a NAK by sending an "NCF shed", and does not retransmit. The receiver transport should wait, then send another NAK. If this count is high, one or more crybaby receiver transports may be clogging the source transport's retransmit queue. This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Number of NCFs that have been received with the reason code set to "shed".
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.ncfsUnknown ( )

Number of NCFs received with reason code "unknown" (LBT-RM only)

These are NCFs with a reason code this receiver transport does not recognize. After a delay (set by configuration option transport_lbtrm_nak_suppress_interval (default 1000ms), it resends the NAK. This counter should never be greater than 0 unless applications linked with different versions of Ultra Messaging software coexist on the same network. This method returns a value from the first set of statistics encapsulated within this object

Returns
Number of NCFs that have been received with the reason code set to "unknown".
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.ncfsUnknown ( int  n)

Number of NCFs received with reason code "unknown" (LBT-RM only)

These are NCFs with a reason code this receiver transport does not recognize. After a delay (set by configuration option transport_lbtrm_nak_suppress_interval (default 1000ms), it resends the NAK. This counter should never be greater than 0 unless applications linked with different versions of Ultra Messaging software coexist on the same network. This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Number of NCFs that have been received with the reason code set to "unknown".
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.noTopicMessagesReceived ( )

Number of messages received that were not for a topic of interest to the receiver (TCP, LBT-RM)

A high value (relative to, or approaching lbmMessagesReceived above) indicates more CPU time required to filter out uninteresting topics, in which case, consider reconfiguring sources to filter more aggressively at the transport layer. This method returns a value from the first set of statistics encapsulated within this object.

Returns
Number of messages received that were not for a topic of interest to the receiver.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.noTopicMessagesReceived ( int  n)

Number of messages received that were not for a topic of interest to the receiver (TCP, LBT-RM)

A high value (relative to, or approaching lbmMessagesReceived above) indicates more CPU time required to filter out uninteresting topics, in which case, consider reconfiguring sources to filter more aggressively at the transport layer. This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Number of messages received that were not for a topic of interest to the receiver.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.outOfOrder ( )

Number of out-of-order datagrams received.

A datagram is counted as out of order if it fills a previously detected sequence gap, but is not a retransmission. Note that if the duplicates counter duplicate_data, above) increases along with this statistic, this implies the arrivals of retransmitted datagrams before their originals. This method returns a value from the first set of statistics encapsulated within this object.

Returns
Number of datagrams received out of order.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.outOfOrder ( int  n)

Number of out-of-order datagrams received.

A datagram is counted as out of order if it fills a previously detected sequence gap, but is not a retransmission. Note that if the duplicates counter duplicate_data, above) increases along with this statistic, this implies the arrivals of retransmitted datagrams before their originals. This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Number of datagrams received out of order.
unsafe void com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.refresh ( LBMContext  lbmctx,
int  maxStats 
)

Refresh the aggregate set of statistics for a particular context.

This method will throw LBMEInvalException if maxStats is less than the the available number of transport statistical sets.

Parameters
lbmctxLBMContext object
maxStatsMaximum number of sources
Exceptions
com.latencybusters.lbm.LBMExceptionInvalid argument or unexpected operational behavior has been encountered by unmanaged UM C layer function.

References com.latencybusters.lbm.LBM.EINVAL, com.latencybusters.lbm.LBM.EOP, com.latencybusters.lbm.LBM.errorMessage(), com.latencybusters.lbm.LBM.errorNumber(), com.latencybusters.lbm.LBM.TRANSPORT_STAT_LBTRM, com.latencybusters.lbm.LBM.TRANSPORT_STAT_LBTRU, and com.latencybusters.lbm.LBM.TRANSPORT_STAT_TCP.

Referenced by com.latencybusters.lbm.LBMContext.getImmediateMessageReceiverStatistics().

int com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.size ( )

Number of transport statistical sets encapsulated within this object.

Returns
Statistical set size
string com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.source ( )

Source of transport as a string.

This method returns a value from the first set of statistics encapsulated within this object. The string format depends on transport type and is described under LBMTransportSourceInfo.

See also
LBMTransportSourceInfo
Returns
Source of transport as a string
string com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.source ( int  n)

Source of transport as a string.

This method returns a value from the nth set of statistics encapsulated within this object. The string format depends on transport type and is described under LBMTransportSourceInfo.

See also
LBMTransportSourceInfo
Parameters
nStatistics set index
Returns
Source of transport as a string
int com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.type ( )

Transport type (TCP, LBT-RM, etc.)

This method returns a value from the first set of statistics encapsulated within this object.

See also
LBM
Returns
Transport type
int com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.type ( int  n)

Transport type (TCP, LBT-RM, etc.)

This method returns a value from the nth set of statistics encapsulated within this object.

See also
LBM
Parameters
nStatistics set index
Returns
Transport type
string com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.typeName ( )

Transport type name (TCP, LBT-RM, etc.).

This method returns a value from the first set of statistics encapsulated within this object.

Returns
Transport type name
string com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.typeName ( int  n)

Transport type name (TCP, LBT-RM, etc.).

This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Transport type name

References com.latencybusters.lbm.LBM.TRANSPORT_STAT_LBTRM, com.latencybusters.lbm.LBM.TRANSPORT_STAT_LBTRU, and com.latencybusters.lbm.LBM.TRANSPORT_STAT_TCP.

long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.unrecoveredMessagesNakGenerationTimeout ( )

Number of LBT-RM datagrams unrecovered due to a retransmission not received within the NAK generation interval (LBT-RM only)

This is set by configuration option transport_lbtrm_nak_generation_interval; default 10,000ms. Note: Receivers for these messages' topics will also report related messages as unrecoverable, with LBM_MSG_UNRECOVERABLE_LOSS for an individual message and LBM_MSG_UNRECOVERABLE_LOSS_BURST for a burst loss event. However, it is possible for these application-level message declarations to occur even without increments to this counter, as the transport is unaware of the topic content of messages and may still be trying to deliver related lost packets. This method returns a value from the first set of statistics encapsulated within this object.

Returns
Number of LBT-RM datagrams unrecovered due to a retransmission not received within the NAK generation interval.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.unrecoveredMessagesNakGenerationTimeout ( int  n)

Number of LBT-RM datagrams unrecovered due to a retransmission not received within the NAK generation interval (LBT-RM only)

This is set by configuration option transport_lbtrm_nak_generation_interval; default 10,000ms. Note: Receivers for these messages' topics will also report related messages as unrecoverable, with LBM_MSG_UNRECOVERABLE_LOSS for an individual message and LBM_MSG_UNRECOVERABLE_LOSS_BURST for a burst loss event. However, it is possible for these application-level message declarations to occur even without increments to this counter, as the transport is unaware of the topic content of messages and may still be trying to deliver related lost packets. This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Number of LBT-RM datagrams unrecovered due to a retransmission not received within the NAK generation interval.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.unrecoveredMessagesWindowAdvance ( )

Number of datagrams unrecovered due to transmission window advance (LBT-RM only)

This means that the message was no longer in the source-side transmission window and therefore not retransmitted. The window size is set by transport configuration option lbtrm_transmission_window_size (default 24MB). This method returns a value from the first set of statistics encapsulated within this object.

Returns
Number of datagrams unrecovered (LBM_MSG_UNRECOVERABLE_LOSS delivered to receiver application) due to transmission window advance.
long com.latencybusters.lbm.LBMImmediateMessageReceiverStatistics.unrecoveredMessagesWindowAdvance ( int  n)

Number of datagrams unrecovered due to transmission window advance (LBT-RM only)

This means that the message was no longer in the source-side transmission window and therefore not retransmitted. The window size is set by transport configuration option lbtrm_transmission_window_size (default 24MB). This method returns a value from the nth set of statistics encapsulated within this object.

Parameters
nStatistics set index
Returns
Number of datagrams unrecovered (LBM_MSG_UNRECOVERABLE_LOSS delivered to receiver application) due to transmission window advance.

The documentation for this class was generated from the following file: