Description of problem:
During scale testing, it was found that adding or removing a qmf console caused all other qmf consoles to receive broker events (clientConnect, queueDeclare, bind, etc). These events are the management events generated by the broker, and are of no concern to the console application.
As we scale up the number of consoles, the cpu load on the consoles & broker incurred by these unnecessary messages becomes a limiting scale factor.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. start a broker
2. add a number of python qmf consoles.
3. watch the cpu activity of the consoles.
4. start or stop a console
5. a short burst of cpu activity is seen across all consoles.
Causes load on unrelated consoles.
Unrelated consoles should not be affected.
A qmf console should be able to indicate to the broker which events it is interested in receiving.
Created attachment 415236 [details]
simple qmf console
Committed revision 946801.
New qmf console api added: Session.addEventFilter().
package="<schema package string>,
event is optional.
Allows console to only receive those events from the given package.
session = Session(console,
# only want events from org.apache.qpid.broker and
# org.apache.qpid.agent.example packages...
Must be called before first addBroker()....
Merged to mrg_1.3.x branch:
Upstream revision: 946801