UM Java API
6.16.1
|
Public Member Functions | |
LBMContextStatistics () | |
LBMContextStatistics (UMMonAttributes attributes, Context ctxStats) throws LBMException | |
LBMContextStatistics (LBMMonitorReceiver lbmmonrcv, ByteBuffer attributeBuffer, ByteBuffer ctxStats) throws LBMException | |
LBMContextStatistics (LBMContext ctx) throws LBMException | |
void | refresh (LBMContext ctx) throws LBMException |
void | dispose () |
long | topicResolutionDatagramsSent () throws LBMException |
long | topicResolutionDatagramsReceived () throws LBMException |
long | topicResolutionBytesSent () throws LBMException |
long | topicResolutionBytesReceived () throws LBMException |
long | topicResolutionDatagramsDroppedVersion () throws LBMException |
long | topicResolutionDatagramsDroppedType () throws LBMException |
long | topicResolutionDatagramsDroppedMalformed () throws LBMException |
long | topicResolutionDatagramsSendFailed () throws LBMException |
long | topicResolutionSourceTopics () throws LBMException |
long | topicResolutionReceiverTopics () throws LBMException |
long | topicResolutionUnresolvedReceiverTopics () throws LBMException |
long | lbtrmUnknownMessagesReceived () throws LBMException |
long | lbtruUnknownMessagesReceived () throws LBMException |
long | sendBlocked () throws LBMException |
long | sendWouldBlock () throws LBMException |
long | responseBlocked () throws LBMException |
long | responseWouldBlock () throws LBMException |
long | unicastImmediateMessageDuplicatesReceived () throws LBMException |
long | unicastImmediateMessageNoStreamReceived () throws LBMException |
long | fragmentsLost () throws LBMException |
long | fragmentsUnrecoverablyLost () throws LBMException |
long | receiveCallbackServiceTimeMin () throws LBMException |
long | receiveCallbackServiceTimeMax () throws LBMException |
long | receiveCallbackServiceTimeMean () throws LBMException |
String | displayString (String aString) |
String | getApplicationSourceId () |
InetAddress | getSender () throws UnknownHostException |
Date | getTimestamp () |
long | getProcessId () |
long | getContextId () |
String | getContextInstance () |
long | getDomainId () |
Protected Member Functions | |
void | finalize () |
String | getHexString (byte[] raw) |
void | setSender (long ip) |
void | setSenderIpv4Address (String ip) throws LBMException |
void | setTimestamp (long ts) |
void | setApplicationSourceId (String appid) |
void | setProcessId (long pid) |
void | setContextId (long cid) |
void | setContextInstance (String cinst) |
void | setDomainId (long did) |
UM Context 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.
com.latencybusters.lbm.LBMContextStatistics.LBMContextStatistics | ( | ) |
Instantiate an empty object containing no statistics.
com.latencybusters.lbm.LBMContextStatistics.LBMContextStatistics | ( | UMMonAttributes | attributes, |
Context | ctxStats | ||
) | throws LBMException |
Instantiate an object containing the context statistics from a Protobuf message.
attributes | An UMMonAttributesProtos.UMMonAttributes |
ctxStats | An UMSMonProtos.Stats.Context |
LBMException | if any error occurred retrieving context statistics. |
com.latencybusters.lbm.LBMContextStatistics.LBMContextStatistics | ( | LBMMonitorReceiver | lbmmonrcv, |
ByteBuffer | attributeBuffer, | ||
ByteBuffer | ctxStats | ||
) | throws LBMException |
Instantiate an object containing the context statistics from a passthrough CSV message.
lbmmonrcv | LBMMonitorReceiver that received this packet. |
attributeBuffer | A ByteBuffer of packet attributes passed to the passthrough callback |
ctxStats | A ByteBuffer of CSV statistics passed to the passthrough callback |
LBMException | if any error occurred retrieving context statistics. |
com.latencybusters.lbm.LBMContextStatistics.LBMContextStatistics | ( | LBMContext | ctx | ) | throws LBMException |
Instantiate an object containing the current set of context statistics for a given UM Context.
ctx | LBMContext object |
LBMException | if any error occurred retrieving context statistics. |
References com.latencybusters.lbm.LBMContextStatistics.refresh().
void com.latencybusters.lbm.LBMContextStatistics.dispose | ( | ) |
Free memory associated with this set of statistics
Referenced by com.latencybusters.lbm.LBMObjectRecycler.close(), and com.latencybusters.lbm.LBMContextStatistics.finalize().
|
protected |
This method is for internal use only, and is not supported for customer applications.
References com.latencybusters.lbm.LBMContextStatistics.dispose().
long com.latencybusters.lbm.LBMContextStatistics.fragmentsLost | ( | ) | throws LBMException |
Number of fragments that have possibly been lost. This stat is incremented when a gap is detected by a receiver delivery controller. A delivery controller is created for every topic that has an interested receiver. This stat is not updated for gaps detected in responses, MIM transports, or UIMs. This stat will not be updated for hot-failover receivers with arrival-order delivery (i.e. option ordered_delivery set to 0). SMX receivers are excluded from this stat.
LBMException |
Referenced by com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean().
long com.latencybusters.lbm.LBMContextStatistics.fragmentsUnrecoverablyLost | ( | ) | throws LBMException |
Number of fragments that have been declared as unrecoverably lost. This stat is incremented when LBM_MSG_UNRECOVERABLE_LOSS or LBM_MSG_UNRECOVERABLE_LOSS_BURST is delivered to an UM receiver callback. In the case of burst loss, the stat is incremented by the number of fragments lost in the burst event. This stat will not be updated for hot-failover receivers with arrival-order delivery (i.e. option ordered_delivery set to 0). For hot-failover receivers, this stat may be updated while no actual LBM_MSG_UNRECOVERABLE_LOSS/LOSS_BURST messages are delivered to the application. In that case, one of the receivers underlying the hot-failover receivers had experienced unrecoverable loss, but the other underlying receiver was able to compensate. SMX receivers are excluded from this stat.
LBMException |
Referenced by com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean().
|
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.
Referenced by com.latencybusters.lbm.LBMStatistics.getDomainId().
|
inherited |
Retrieve the sending 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.
|
inherited |
Retrieve the sending context instance 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.
Referenced by com.latencybusters.lbm.LBMStatistics.getDomainId().
|
inherited |
Retrieve the sending domain 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.
References com.latencybusters.lbm.LBMStatistics.getApplicationSourceId(), com.latencybusters.lbm.LBMStatistics.getContextInstance(), com.latencybusters.lbm.LBMStatistics.getSender(), and com.latencybusters.lbm.LBMStatistics.getTimestamp().
|
inherited |
Retrieve the sending 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.
|
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.
UnknownHostException | if IP address is of illegal length. |
Referenced by com.latencybusters.lbm.LBMStatistics.getDomainId().
|
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.
Referenced by com.latencybusters.lbm.LBMStatistics.getDomainId().
long com.latencybusters.lbm.LBMContextStatistics.lbtrmUnknownMessagesReceived | ( | ) | throws LBMException |
Number of LBT-RM datagrams received not belonging to any transport session. Such occurrences should be investigated. These datagrams can be from a source in a different topic resolution domain targeting the same group (or IP) and port as a source of interest on this receiver's topic resolution domain. Among less likely possibilities would be an attempt to spoof UM messages.
LBMException | if any error occurred retrieving the number of LBT-RM datagrams received not belonging to any transport session |
Referenced by com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean().
long com.latencybusters.lbm.LBMContextStatistics.lbtruUnknownMessagesReceived | ( | ) | throws LBMException |
Number of LBT-RU datagrams received not belonging to any transport session. Such occurrences should be investigated. These datagrams can be from a source in a different topic resolution domain targeting the same group (or IP) and port as a source of interest on this receiver's topic resolution domain. Among less likely possibilities would be an attempt to spoof UM messages.
LBMException | if any error occurred retrieving the number of LBT-RU datagrams received not belonging to any transport session |
Referenced by com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean().
long com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMax | ( | ) | throws LBMException |
Maximum time (in milliseconds) spent in message delivery callbacks associated with LBM receivers, wildcard receivers, hot-failover receivers. For the Java and .NET APIs, the overhead time spent in crossing the managed/jni boundaries is included. This stat is only collected if the context option receiver_callback_service_time_enabled is set to 1. SMX receivers are excluded from these stats.
LBMException |
Referenced by com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean().
long com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean | ( | ) | throws LBMException |
Mean time (in milliseconds) spent in message delivery callbacks associated with LBM receivers, wildcard receivers, hot-failover receivers. This is an exponentially weighted moving average (weighted to more recent). For the Java and .NET APIs, the overhead time spent in crossing the managed/jni boundaries is included. This stat is only collected if the context option receiver_callback_service_time_enabled is set to 1. SMX receivers are excluded from these stats.
LBMException |
References com.latencybusters.lbm.LBMContextStatistics.fragmentsLost(), com.latencybusters.lbm.LBMContextStatistics.fragmentsUnrecoverablyLost(), com.latencybusters.lbm.LBMContextStatistics.lbtrmUnknownMessagesReceived(), com.latencybusters.lbm.LBMContextStatistics.lbtruUnknownMessagesReceived(), com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMax(), com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMin(), com.latencybusters.lbm.LBMContextStatistics.responseBlocked(), com.latencybusters.lbm.LBMContextStatistics.responseWouldBlock(), com.latencybusters.lbm.LBMContextStatistics.sendBlocked(), com.latencybusters.lbm.LBMContextStatistics.sendWouldBlock(), com.latencybusters.lbm.LBMContextStatistics.topicResolutionBytesReceived(), com.latencybusters.lbm.LBMContextStatistics.topicResolutionBytesSent(), com.latencybusters.lbm.LBMContextStatistics.topicResolutionDatagramsDroppedMalformed(), com.latencybusters.lbm.LBMContextStatistics.topicResolutionDatagramsDroppedType(), com.latencybusters.lbm.LBMContextStatistics.topicResolutionDatagramsDroppedVersion(), com.latencybusters.lbm.LBMContextStatistics.topicResolutionDatagramsReceived(), com.latencybusters.lbm.LBMContextStatistics.topicResolutionDatagramsSendFailed(), com.latencybusters.lbm.LBMContextStatistics.topicResolutionDatagramsSent(), com.latencybusters.lbm.LBMContextStatistics.topicResolutionReceiverTopics(), com.latencybusters.lbm.LBMContextStatistics.topicResolutionSourceTopics(), com.latencybusters.lbm.LBMContextStatistics.topicResolutionUnresolvedReceiverTopics(), com.latencybusters.lbm.LBMContextStatistics.unicastImmediateMessageDuplicatesReceived(), and com.latencybusters.lbm.LBMContextStatistics.unicastImmediateMessageNoStreamReceived().
long com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMin | ( | ) | throws LBMException |
Minimum time (in milliseconds) spent in message delivery callbacks associated with LBM receivers, wildcard receivers, hot-failover receivers. For the Java and .NET APIs, the overhead time spent in crossing the managed/jni boundaries is included. This stat is only collected if the context option receiver_callback_service_time_enabled is set to 1. SMX receivers are excluded from these stats.
This field is initialized to all 1s (-1 if printed signed).
LBMException |
Referenced by com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean().
void com.latencybusters.lbm.LBMContextStatistics.refresh | ( | LBMContext | ctx | ) | throws LBMException |
Refresh lbm context statistics for a given LBMContext
ctx | LBMContext object |
LBMException | if any error occurred retrieving context statistics. |
Referenced by com.latencybusters.lbm.LBMContext.getStatistics(), and com.latencybusters.lbm.LBMContextStatistics.LBMContextStatistics().
long com.latencybusters.lbm.LBMContextStatistics.responseBlocked | ( | ) | throws LBMException |
Number of incidents where a UM send response call was blocked. Unusually high counts could indicate performance degradation or I/O problems.
LBMException | if any error occurred retrieving the number of UM send response calls which blocked |
Referenced by com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean().
long com.latencybusters.lbm.LBMContextStatistics.responseWouldBlock | ( | ) | throws LBMException |
Number of incidents where a UM send response call returned EWOULDBLOCK. This is when a send response call set to be nonblocking encounters an error condition where it would otherwise be blocked. Under normal operating conditions, this count should be at or near 0.
LBMException | if any error occurred retrieving the number of UM send response calls which returned EWOULDBLOCK |
Referenced by com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean().
long com.latencybusters.lbm.LBMContextStatistics.sendBlocked | ( | ) | throws LBMException |
Number of incidents where a UM send call was blocked. Unusually high counts could indicate performance degradation or I/O problems.
LBMException | if any error occurred retrieving the number of UM send calls which blocked. |
Referenced by com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean().
long com.latencybusters.lbm.LBMContextStatistics.sendWouldBlock | ( | ) | throws LBMException |
Number of incidents where a UM send call returned EWOULDBLOCK. This is when a send call set to be nonblocking encounters an error condition where it would otherwise be blocked. Under normal operating conditions, this count should be at or near 0.
LBMException | if any error occurred retrieving the number of UM send calls which returned EWOULDBLOCK |
Referenced by com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean().
long com.latencybusters.lbm.LBMContextStatistics.topicResolutionBytesReceived | ( | ) | throws LBMException |
Number of topic resolution datagram bytes received. This count is triggered under the same circumstances as datagrams received (above), but measures the total number of bytes for all datagrams received, including their headers.
LBMException | if any error occurred retrieving bytes received of topic resolution. |
Referenced by com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean().
long com.latencybusters.lbm.LBMContextStatistics.topicResolutionBytesSent | ( | ) | throws LBMException |
Number of topic resolution datagram bytes sent. This count is triggered under the same circumstances as datagrams sent (above), but measures the total number of byte for all datagrams sent, including their headers.
LBMException | if any error occurred retrieving bytes sent of topic resolution. |
Referenced by com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean().
long com.latencybusters.lbm.LBMContextStatistics.topicResolutionDatagramsDroppedMalformed | ( | ) | throws LBMException |
Number of topic resolution datagrams discarded due to being malformed or corrupted.
LBMException | if any error occurred retrieving topic resolution datagrams discarded due to a malformed header |
Referenced by com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean().
long com.latencybusters.lbm.LBMContextStatistics.topicResolutionDatagramsDroppedType | ( | ) | throws LBMException |
Number of topic resolution datagrams discarded due to incorrect type. The datagram's type field must match the expectations of the receiving context.
LBMException | if any error occurred retrieving topic resolution datagrams discarded due to incorrect type |
Referenced by com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean().
long com.latencybusters.lbm.LBMContextStatistics.topicResolutionDatagramsDroppedVersion | ( | ) | throws LBMException |
Number of topic resolution datagrams discarded due to incorrect version. The datagram's version field must match the expectations of the receiving context.
LBMException | if any error occurred retrieving topic resolution datagrams discarded due to incorrect version. |
Referenced by com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean().
long com.latencybusters.lbm.LBMContextStatistics.topicResolutionDatagramsReceived | ( | ) | throws LBMException |
Number of topic resolution datagrams received by this context. Each datagram can contain one or more advertisements, queries, query responses, etc. from source or receiver objects. A faster accumulation of counts typically indicates more source, receiver, and/or context objects are being created.
LBMException | if any error occurred retrieving topic resolution datagrams received |
Referenced by com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean().
long com.latencybusters.lbm.LBMContextStatistics.topicResolutionDatagramsSendFailed | ( | ) | throws LBMException |
Number of topic resolution datagram sends that failed. This count should be at or at least near 0.
LBMException | if any error occurred retrieving topic resolution datagram send failures. |
Referenced by com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean().
long com.latencybusters.lbm.LBMContextStatistics.topicResolutionDatagramsSent | ( | ) | throws LBMException |
Number of topic resolution datagrams sent from this context. Each datagram can contain one or more advertisements, queries, query responses, etc. from source or receiver objects. A faster accumulation of counts typically indicates more source, receiver, and/or context objects are being created.
LBMException | if any error occurred retrieving topic resolution datagrams sent |
Referenced by com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean().
long com.latencybusters.lbm.LBMContextStatistics.topicResolutionReceiverTopics | ( | ) | throws LBMException |
Number of topics in the receiver topic resolver cache (also referred to as the topic map). Inordinately large or growing values here may impact performance.
LBMException | if any error occurred retrieving the number of topics in the receiver topic map. |
Referenced by com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean().
long com.latencybusters.lbm.LBMContextStatistics.topicResolutionSourceTopics | ( | ) | throws LBMException |
Number of topics in the source topic resolver cache (also known as the topic map). Inordinately large or growing values here may impact performance.
LBMException | if any error occurred retrieving the number of topics in the source topic map. |
Referenced by com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean().
long com.latencybusters.lbm.LBMContextStatistics.topicResolutionUnresolvedReceiverTopics | ( | ) | throws LBMException |
Number of unresolved topics in the receiver topic resolver cache (also referred to as the topic map). Inordinately large or growing values here may impact performance.
LBMException | if any error occurred retrieving the number of unresolved topics in the receiver topic map. |
Referenced by com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean().
long com.latencybusters.lbm.LBMContextStatistics.unicastImmediateMessageDuplicatesReceived | ( | ) | throws LBMException |
Number of duplicate unicast immediate messages (UIMs) received and dropped.
LBMException |
Referenced by com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean().
long com.latencybusters.lbm.LBMContextStatistics.unicastImmediateMessageNoStreamReceived | ( | ) | throws LBMException |
Number of unicast immediate messages (UIMs) received without stream information.
LBMException |
Referenced by com.latencybusters.lbm.LBMContextStatistics.receiveCallbackServiceTimeMean().