8.2.2. Queue Threshold Alerts
Queue Threshold Alerts are issued by the broker when a queue with a capacity limit set (either
qpid.max_size
or qpid.max_count
) approaches 80% of its limit. The figure of 80% is configurable across the server using the broker option --default-event-threshold-ratio
. If you set this to zero, alerts are disabled for all queues by default. Additionally, you can override the default alert threshold per-queue using qpid.alert_count
and qpid.alert_size
when creating the queue.
The Alerts are sent via the QMF framework. You can subscribe to the alert messages by listening to the address
qmf.default.topic/agent.ind.event.org_apache_qpid_broker.queueThresholdExceeded.#
. Alerts are sent as map messages.
The following code demonstrates subscribing to and consuming alert messages:
- Python
conn = Connection.establish("localhost:5672") session = conn.session() rcv = session.receiver("qmf.default.topic/agent.ind.event.org_apache_qpid_broker.queueThresholdExceeded.#") while True: event = rcv.fetch() print "Threshold exceeded on queue %s" % event.content[0]["_values"]["qName"] print " at a depth of %s messages, %s bytes" % (event.content[0]["_values"]["msgDepth"], event.content[0]["_values"]["byteDepth"]) session.acknowledge()
Alert Repeat Gap
To avoid alert message flooding, there is a 60 second gap between alert messages. This can be overridden on a per-queue basis using the qpid.alert_repeat_gap
to specify a different value in seconds.
Backwards-compatible aliases
The following aliases are maintained for compatibility with earlier clients:
x-qpid-maximum-message-count
is equivalent toqpid.alert_count
x-qpid-maximum-message-size
is equivalent toqpid.alert_size
x-qpid-minimum-alert-repeat-gap
is equivalent toqpid.alert_repeat_gap