qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gordon Sim <g...@redhat.com>
Subject Re: QMF Questions....
Date Thu, 30 Jun 2011 16:21:18 GMT
On 06/30/2011 04:26 PM, fadams wrote:
> Having explored QMF2 a bit I find myself down more rabbit holes....
>
> 1) Is it possible for a client to recover the "--default-queue-limit" for a
> broker?

No, I'm afraid not.

> I know when I interrogate Queue objects I can get the queue size
> from the arguments object if it has been explicitly set with something like
> --max-queue-size in qpid-config, but I can't find the broker's default queue
> limit. I've tried querying the "brokers" object but I can only get the
> following info from that:
> connBacklog:java.lang.Integer
> dataDir:byte[]
> maxConns:java.lang.Integer
> mgmtPubInterval:java.lang.Integer
> name:byte[]
> port:java.lang.Integer
> stagingThreshold:java.lang.Long
> systemRef:java.util.LinkedHashMap
> uptime:java.lang.Long
> version:byte[]
> workerThreads:java.lang.Integer

I agree it would be great to be able to get a map of the broker options set.

> 2) I've been receiving Events from
> "qmf.default.topic/agent.ind.event.org_apache_qpid_broker.#" and I get lots
> of cool useful things, but now I want to see if I can get notified if
> resource limits get exceeded. Is it possible for a QMF client to get
> notified if any queue on the broker fills up? Better yet I'd really like to
> be notified of it hitting some threshold *before* this happens so I can take
> preventative action.

As of 0.10 that is indeed possible. You can configure a threshold for a 
queue that when reached will result in an alert event being sent out. By 
default the threshold will be 80% of any explicitly configured queue 
limit, but you can set it up explicitly via arguments to the queue declare:

qpid.alert_size

Specifies that if the queue gets above this size (in bytes) an alert 
should be sent (alias for x-qpid-maximum-message-size which is the 
corresponding option for the java broker and is also recognised in c++ 
broker)

qpid.alert_count

Specified that if the queue gets above this size (in message count) an 
alert should be sent (alias for x-qpid-maximum-message-count)

qpid.alert_repeat_gap

Specified the minimum time gap between consecutive alerts (alias for 
x-qpid-minimum-alert-repeat-gap)


> I generally would use ring queues, but clearly if the
> queue fills I'll get old data overwritten with new so it would be nice to
> write a monitoring client that can generate an alert that this is likely to
> happen.
>
> If this is possible could someone point me at the topic I ought to be
> subscribing to to get these events.
>
> I know I could poll, but it's neater and more reliable to be event driven.
>
> 3) For consumer clients I've been able to associate connections, queues and
> bindings etc. using connectionID, sessionID, sessionRef and queue Ref, but
> for producing clients I've not found a way of associating a connection with
> the exchange. Is this possible?

No, unfortunately not. This is in large part a limitation of the 
protocol. There is no reperesentation of a link between a producer and 
the target for messages that corresponds to the subscription on the 
consume side. This is rectified in the 1.0 protocol specification/

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org


Mime
View raw message