Archived

This forum has been archived. Please start a new discussion on GitHub.

The meaning of "Queued", "Pending", and "Avg (s)" under Subscribers in IceMX metrics

CPU: E5-2687W v2 @ 3.40GHz
OS: CentOS 7.3
Kernel: 3.10.0-514.21.2
ZeroC Version: 3.6.2

I'm attempting to ascertain which of the IceMX metrics are of benefit to monitor for performance-tracking purposes. I was hoping for additional insight into latency or throughput behavior, but I'm unsure if these metrics fit the bill.

Can someone provide a better understanding of the metrics in the heading, and point me to which section provides the most insight into latency and throughput of ICEStorm?

Comments

  • benoit
    benoit Rennes, France

    Hi,

    For each subscriber, IceStorm forward events as follow:

    • the event is added to a queue waiting to be sent
    • the event is dequeued and sent to the subscriber using the ice_invoke invocation on the subscriber proxy
    • the event is considered delivered once ice_invoke reported the invocation as sent or once the response has been received (depending on the QoS and delivery mode).

    When the event is dequeued from the queue to be sent depends on the delivery mode and QoS used for the subscriber. For example, if using the two-way ordered delivery mode and QoS, events are delivered one after the other only once the response from the previous invocation has been received. When using the oneway delivery mode, events are queued and sent immediately if less the 5 events are outstanding (waiting for Ice acknowledgment for the event to be sent).

    The metrics queued, outstanding and delivered data members correspond to the different state explained above. It tells you how many events are queued waiting to be sent, how any events are outstanding waiting for the Ice confirmation that they have been sent (or response received in case of two-way ordered) and the number of events delivered to the subscriber.

    Cheers,
    Benoit.

  • So then what is the Start Marker and End Marker for the "Avg (s)" column? From the time it is initially queued til the time it is finally delivered?

  • benoit
    benoit Rennes, France

    I suppose you are referring to the Avg column shown by the python Metrics demo. Here's a description of the columns:

    • #: the number of subscribers currently connected to IceStorm
    • Total: the total number of subscribers (connected and disconnected)
    • Queued: the number of events queued by IceStorm
    • Pending: the number of events sent but waiting for acknowledgement from Ice
    • Delivered: the number of delivered events
    • Agv: the average lifetime of a subscriber

    The average lifetime of a subscriber is computed here using the metrics totalLifetime, total and current data members.

    For more information on Ice Management eXtension, see the following links:

    Let us know if you need additional information!