UM C API 6.17.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- Data Structures
- Data Fields

Data Fields
lbm_context_stats_t_stct Struct Reference

Structure that holds statistics for a context. More...

`#include <lbm.h>`

## Data Fields
lbm_ulong_t | tr_dgrams_sent
| 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. (Cumulative)
lbm_ulong_t | tr_bytes_sent
| Number of topic resolution datagram bytes sent. This count is triggered under the same circumstances as tr_dgrams_sent (above), but measures the total number of bytes for all datagrams sent, including their headers. (Cumulative)
lbm_ulong_t | tr_dgrams_rcved
| 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. (Cumulative)
lbm_ulong_t | tr_bytes_rcved
| Number of topic resolution datagram bytes received. This count is triggered under the same circumstances as tr_dgrams_rcved (above), but measures the total number of bytes for all datagrams received, including their headers. (Cumulative)
lbm_ulong_t | tr_dgrams_dropped_ver
| Number of topic resolution datagrams discarded due to incorrect version. The datagram's version field must match the expectations of the receiving context. (Cumulative)
lbm_ulong_t | tr_dgrams_dropped_type
| Number of topic resolution datagrams discarded due to incorrect type. The datagram's type field must match the expectations of the receiving context. A mismatch in encryption (TLS) or compression will also be treated as a mismatch of type. (Cumulative)
lbm_ulong_t | tr_dgrams_dropped_malformed
| Number of topic resolution datagrams discarded due to being malformed or corrupted. (Cumulative)
lbm_ulong_t | tr_dgrams_send_failed
| Number of topic resolution datagram sends that failed. This count should be at or at least near 0. (Cumulative)
lbm_ulong_t | tr_src_topics
| Number of topics in the source topic resolver cache (also referred to as the topic map). (Snapshot) More...
lbm_ulong_t | tr_rcv_topics
| Total number of topics in the receiver topic resolver cache (also referred to as the topic map). (Snapshot) More...
lbm_ulong_t | tr_rcv_unresolved_topics
| Number of unresolved topics in the receiver topic resolver cache (aka topic map). (Snapshot) More...
lbm_ulong_t | lbtrm_unknown_msgs_rcved
| Number of datagrams received that do not belong to a currently-subscribed LBT-RM transport session. (Cumulative) More...
lbm_ulong_t | lbtru_unknown_msgs_rcved
| Number of datagrams received that do not belong to a currently-subscribed LBT-RU transport session. This is typically due to improper or suboptimal UM configuration, or to interference from non-UM network applications. Steady increases in this statistic indicate a waste in CPU resources to read and discard the datagrams. (Cumulative) More...
lbm_ulong_t | send_blocked
| Number of incidents where a UM send call was blocked. Unusually high counts could indicate performance degradation or I/O problems. (Cumulative)
lbm_ulong_t | send_would_block
| 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. (Cumulative)
lbm_ulong_t | resp_blocked
| Number of incidents where a UM send response call was blocked. Unusually high counts could indicate performance degradation or I/O problems. (Cumulative)
lbm_ulong_t | resp_would_block
| Number of incidents where a UM send response call returned EWOULDBLOCK. This is when a send response call set as nonblocking encounters an error condition where it would otherwise be blocked. Under normal operating conditions, this count should be at or near 0. (Cumulative)
lbm_ulong_t | uim_dup_msgs_rcved
| Number of duplicate unicast immediate messages (UIMs) received and dropped. (Cumulative)
lbm_ulong_t | uim_msgs_no_stream_rcved
| Number of unicast immediate messages (UIMs) received without stream information. (Cumulative)
lbm_ulong_t | fragments_lost
| Number of data message fragments detected as lost in the context. (Cumulative) More...
lbm_ulong_t | fragments_unrecoverably_lost
| Number of data message fragments detected as unrecoverably lost in the context. (Cumulative) More...
lbm_ulong_t | rcv_cb_svc_time_min
| The minimum time in microseconds used to call user receive callbacks of type lbm_rcv_cb_proc for wildcard, hot-failover, and regular receivers. (Cumulative) More...
lbm_ulong_t | rcv_cb_svc_time_max
| The maximum time in microseconds used to call user receive callbacks of type lbm_rcv_cb_proc for wildcard, hot-failover, and regular receivers. (Cumulative) More...
lbm_ulong_t | rcv_cb_svc_time_mean
| The mean time in microseconds used to call user receive callbacks of type lbm_rcv_cb_proc for wildcard, hot-failover, and regular receivers. (Cumulative) More...

## Detailed Description

Structure that holds statistics for a context.

This structure holds general context statistics for things like topic resolution and interaction with transports and applications.

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.

See lbm_context_stats_t_stct for field definitions.

Cumulative vs Snapshot

Most UM statistics are cumulative. For example, tr_dgrams_sent starts at zero and grows over time as more and more topic resolution datagrams are sent.

But some statistics are snapshots, meaning that they represent the value at a moment in time. These values can go up and down. For example, tr_src_topics indicates the number of sources at the time of the snapshot.

## Field Documentation

lbm_ulong_t lbm_context_stats_t_stct::fragments_lost

Number of data message fragments detected as lost in the context. (Cumulative)

UM fragments messages larger than the maximum datagram size for the transport and assigns a unique sequence number to each fragment. UM increments the count when a delivery controller in the context detects a gap in fragment sequence numbers. Lost request responses, Multicast Immediate Message (MIM) messages, or Unicast Immediate Message (UIM) control messages do not increase this statistic. Lost message fragments sent to hot-failover receivers with arrival-order delivery and lost message fragments sent over LBT-SMX do not increase this statistic.

lbm_ulong_t lbm_context_stats_t_stct::fragments_unrecoverably_lost

Number of data message fragments detected as unrecoverably lost in the context. (Cumulative)

UM fragments messages larger than the maximum datagram size for the transport and assigns a unique sequence number to each fragment. UM increments the count when a delivery controller in the context sends a LBM_MSG_UNRECOVERABLE_LOSS or LBM_MSG_UNRECOVERABLE_LOSS_BURST event to the receiving application. Unrecoverably lost message fragments sent to hot-failover receivers with arrival-order delivery do not increment this statistic. An unrecoverable loss event sent by a delivery controller for a receiver underlying the hot-failover receiver does increment this statistic if another underlying receiver was able to compensate. Unrecoverably lost message fragments sent over LBT-SMX do not increment this statistic.

lbm_ulong_t lbm_context_stats_t_stct::lbtrm_unknown_msgs_rcved

Number of datagrams received that do not belong to a currently-subscribed LBT-RM transport session. (Cumulative)

This is typically due to improper or suboptimal UM configuration, or to interference from non-UM network applications. Steady increases in this statistic indicate a waste in CPU resources to read and discard the datagrams. A common cause is different application instances creating transport sessions with the same multicast group and destination port.

lbm_ulong_t lbm_context_stats_t_stct::lbtru_unknown_msgs_rcved

Number of datagrams received that do not belong to a currently-subscribed LBT-RU transport session. This is typically due to improper or suboptimal UM configuration, or to interference from non-UM network applications. Steady increases in this statistic indicate a waste in CPU resources to read and discard the datagrams. (Cumulative)

One possible cause is if a subscribing application exits and a new application starts with the same IP address and port for reception of LBT-RU traffic. The source can continue to send messages to that IP:port until the source times out the previous receiver (10 seconds by default; see source option transport_lbtru_client_activity_timeout (source)).

lbm_ulong_t lbm_context_stats_t_stct::rcv_cb_svc_time_max

The maximum time in microseconds used to call user receive callbacks of type lbm_rcv_cb_proc for wildcard, hot-failover, and regular receivers. (Cumulative)

Does not include SMX receivers. Does not include minimum times for any other context thread callbacks, such as timer callback or immediate message callbacks. The initial value before any data has been reported is zero. UM computes the maximum value as the larger of the current measured value and the current statistic value. A value of zero equates to no measurement. For the Java and .NET APIs, includes the overhead time spent crossing the managed/jni boundaries. You must set the configuration option receiver_callback_service_time_enabled (context) to populate this statistic.

lbm_ulong_t lbm_context_stats_t_stct::rcv_cb_svc_time_mean

The mean time in microseconds used to call user receive callbacks of type lbm_rcv_cb_proc for wildcard, hot-failover, and regular receivers. (Cumulative)

Does not include SMX receivers. Does not include minimum times for any other context thread callbacks, such as timer callback or immediate message callbacks. For the Java and .NET APIs, includes the overhead time spent crossing the managed/jni boundaries. You must set the configuration option receiver_callback_service_time_enabled (context) to populate this statistic.

lbm_ulong_t lbm_context_stats_t_stct::rcv_cb_svc_time_min

The minimum time in microseconds used to call user receive callbacks of type lbm_rcv_cb_proc for wildcard, hot-failover, and regular receivers. (Cumulative)

Does not include SMX receivers. Does not include minimum times for any other context thread callbacks, such as timer callback or immediate message callbacks. The initial value before UM Monitoring reports any data is the largest possible unsigned integer, which is 4294967295 for 32-bit system and 18446744073709551615 for 64-bit system. Ultra Messaging computes the minimum value as the smaller of the current measured value and the current statistic value. The largest possible value equates to no measurement. For the Java and .NET APIs, includes the overhead time spent crossing the managed/jni boundaries. You must set the configuration option receiver_callback_service_time_enabled (context) to populate this statistic.

This field is initialized to all 1s (-1 if printed signed).

lbm_ulong_t lbm_context_stats_t_stct::tr_rcv_topics

Total number of topics in the receiver topic resolver cache (also referred to as the topic map). (Snapshot)

Entries are inserted in this map as sources are discovered. Note that in typical configurations, an application's own sources will be included. Also note that creating a receiver object will insert an entry in the resolver cache to assist internally in joining subscribed topics. See Resolver Caches for more details.

See Topic Resolution Description for more information on TR.

lbm_ulong_t lbm_context_stats_t_stct::tr_rcv_unresolved_topics

Number of unresolved topics in the receiver topic resolver cache (aka topic map). (Snapshot)

While it is normal for this to occasionally be greater than zero, the counter should reduce back to zero in most applications. A long-lasting non-zero value can indicate topic deafness, possibly due to improper topic resolution configuration.

lbm_ulong_t lbm_context_stats_t_stct::tr_src_topics

Number of topics in the source topic resolver cache (also referred to as the topic map). (Snapshot)

Entries are inserted in the source topic resolver cache as sources are created in the context by the application. See Resolver Caches for more details.

See Topic Resolution Description for more information on TR.

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

- lbm.h