Wow, top posting from my phone. Had to happen eventually. I think it's probably a good idea to sketch out two things at this point. Firstly, what is going to be presented: obviously queue and subscriber information, but what else? Secondly, how is that information going to be presented? Some form of table would seem a good first step, and everybody loves CSV output. How will the user specify that? Having options to sort by particular fields is also probably useful. A good thing to check is what output formatting libs are available in java, it's been a while since i did something like this from scratch so i'm not sure what the state of the art is.
On 5/15/08, Marnie McCormack <[EMAIL PROTECTED]> wrote: > Hi Lahiru, > > Martin & Aidan & I are just discussing your project and here are some of our > thoughts: > > - so we need a command line with options. Aidan suggests it looks like this: > > > I was thinking something like > > $ qpid-admin --list-queues > queue-1 > queue-2 > queue-3 > > $ qpid-admin --queue-info queue-1 > Depth: 1 Count: 1 Subscribers: 0 > > $ qpid-admin --queue-info --depth queue-1 > 1 > > for timed reports for alerting you could put that in cron, or use > watch for top/vmstat-esque action. I think it's probably a more > natural interface than editing a properties file and would be > something that we could apply to the C++ broker as well, which would > be nice. Plus, it's quite UNIXy and lets people leverage things like > awk. > > > - I'd also like it to be configurable using a properties file, but it's > probably worth getting list views on this for consensus > > - I think you're mainly on the right track, but I'd focus more on the > useful attributes we expose rather than all variables of the objects > > Rgds, > Marnie > > On 5/14/08, lahiru gunathilake <[EMAIL PROTECTED]> wrote: > >> Hi all, >> Now I'm writing this output in to a file and this is running like a >> thread(daemon) and it write different files time to time as Aiden >> discussed >> with me.When I run the program it monitor the broker time to time (time >> interval can be configured). >> >> Honestly this is not the actual code I'm developing I'm just writing some >> sample code to test and informing you what I'm doing and expecting a feed >> from you. >> >> Thanks in advance >> >> Regards >> lahiru >> >> On Sun, May 11, 2008 at 9:00 AM, lahiru gunathilake <[EMAIL PROTECTED]> >> wrote: >> >> > Hi Aiden, >> > >> > First thanks a lot for your reply I was waiting for a reply for few days >> > hopefully. >> > I did some modification to my program and I'm listing all the attributes >> of >> > all the mbeans which is having org.apache.qpid domain. >> > Here's the output of my program....(I'm printing the attribute name and >> > value and type in a single line and for now I haven't done any >> formattings >> > with the output. >> > ======================================================================== >> > Press <Enter> to continue... >> > >> > TOTAL MBEAN COUNT: 46 >> > >> > DOMAINS: >> > Domain[0] = JMImplementation >> > Domain[1] = com.sun.management >> > Domain[2] = org.apache.qpid >> > Domain[3] = java.lang >> > Domain[4] = java.util.logging >> > ALL THE EXPOSED CLASSES >> > 29 >> > ======================================================================= >> > >> > >> org.apache.qpid:type=VirtualHost.Exchange,VirtualHost=localhost,name=amq.direct,ExchangeType=direct >> > ======================================================================= >> > Name amq.direct java.lang.String >> > Durable true boolean >> > AutoDelete false boolean >> > ExchangeType direct java.lang.String >> > TicketNo 0 java.lang.Integer >> > ======================================================================= >> > org.apache.qpid:type=VirtualHost.Queue,VirtualHost=test,name=ping >> > ======================================================================= >> > Name ping java.lang.String >> > Owner null java.lang.String >> > Durable false boolean >> > AutoDelete false boolean >> > MessageCount 0 java.lang.Integer >> > QueueDepth 0 java.lang.Long >> > MaximumMessageSize 2117632 java.lang.Long >> > ConsumerCount 0 java.lang.Integer >> > ActiveConsumerCount 0 java.lang.Integer >> > ReceivedMessageCount 0 java.lang.Long >> > MaximumMessageCount 5000 java.lang.Long >> > MaximumQueueDepth 4136 java.lang.Long >> > MaximumMessageAge 600000 java.lang.Long >> > ======================================================================= >> > org.apache.qpid:type=VirtualHost.Queue,VirtualHost=test,name=queue >> > ======================================================================= >> > Name queue java.lang.String >> > Owner null java.lang.String >> > Durable false boolean >> > AutoDelete false boolean >> > MessageCount 0 java.lang.Integer >> > QueueDepth 0 java.lang.Long >> > MaximumMessageSize 2117632 java.lang.Long >> > ConsumerCount 0 java.lang.Integer >> > ActiveConsumerCount 0 java.lang.Integer >> > ReceivedMessageCount 0 java.lang.Long >> > MaximumMessageCount 5000 java.lang.Long >> > MaximumQueueDepth 4136 java.lang.Long >> > MaximumMessageAge 600000 java.lang.Long >> > ======================================================================= >> > >> > >> org.apache.qpid:type=VirtualHost.Exchange,VirtualHost=test,name=amq.match,ExchangeType=headers >> > ======================================================================= >> > Name amq.match java.lang.String >> > Durable true boolean >> > AutoDelete false boolean >> > ExchangeType headers java.lang.String >> > TicketNo 0 java.lang.Integer >> > ======================================================================= >> > org.apache.qpid:type=VirtualHost.Queue,VirtualHost=development,name=queue >> > ======================================================================= >> > Name queue java.lang.String >> > Owner null java.lang.String >> > Durable false boolean >> > AutoDelete false boolean >> > MessageCount 0 java.lang.Integer >> > QueueDepth 0 java.lang.Long >> > MaximumMessageSize 2117632 java.lang.Long >> > ConsumerCount 0 java.lang.Integer >> > ActiveConsumerCount 0 java.lang.Integer >> > ReceivedMessageCount 0 java.lang.Long >> > MaximumMessageCount 5000 java.lang.Long >> > MaximumQueueDepth 4136 java.lang.Long >> > MaximumMessageAge 600000 java.lang.Long >> > ======================================================================= >> > >> > >> org.apache.qpid:type=VirtualHost.Exchange,VirtualHost=test,name=amq.fanout,ExchangeType=fanout >> > ======================================================================= >> > Name amq.fanout java.lang.String >> > Durable true boolean >> > AutoDelete false boolean >> > ExchangeType fanout java.lang.String >> > TicketNo 0 java.lang.Integer >> > ======================================================================= >> > >> > >> org.apache.qpid:type=VirtualHost.Exchange,VirtualHost=development,name=<<default>>,ExchangeType=direct >> > ======================================================================= >> > Name <<default>> java.lang.String >> > Durable true boolean >> > AutoDelete false boolean >> > ExchangeType direct java.lang.String >> > TicketNo 0 java.lang.Integer >> > ======================================================================= >> > >> > >> org.apache.qpid:type=VirtualHost.Exchange,VirtualHost=localhost,name=amq.match,ExchangeType=headers >> > ======================================================================= >> > Name amq.match java.lang.String >> > Durable true boolean >> > AutoDelete false boolean >> > ExchangeType headers java.lang.String >> > TicketNo 0 java.lang.Integer >> > ======================================================================= >> > >> > >> org.apache.qpid:type=VirtualHost.Exchange,VirtualHost=test,name=amq.topic,ExchangeType=topic >> > ======================================================================= >> > Name amq.topic java.lang.String >> > Durable true boolean >> > AutoDelete false boolean >> > ExchangeType topic java.lang.String >> > TicketNo 0 java.lang.Integer >> > ======================================================================= >> > org.apache.qpid:type=VirtualHost.VirtualHostManager,VirtualHost=test >> > ======================================================================= >> > ======================================================================= >> > >> > >> org.apache.qpid:type=VirtualHost.Exchange,VirtualHost=localhost,name=test.topic,ExchangeType=direct >> > ======================================================================= >> > Name test.topic java.lang.String >> > Durable false boolean >> > AutoDelete false boolean >> > ExchangeType direct java.lang.String >> > TicketNo 0 java.lang.Integer >> > ======================================================================= >> > >> > >> org.apache.qpid:type=VirtualHost.Exchange,VirtualHost=development,name=amq.direct,ExchangeType=direct >> > ======================================================================= >> > Name amq.direct java.lang.String >> > Durable true boolean >> > AutoDelete false boolean >> > ExchangeType direct java.lang.String >> > TicketNo 0 java.lang.Integer >> > ======================================================================= >> > >> > >> org.apache.qpid:type=VirtualHost.Exchange,VirtualHost=localhost,name=amq.topic,ExchangeType=topic >> > ======================================================================= >> > Name amq.topic java.lang.String >> > Durable true boolean >> > AutoDelete false boolean >> > ExchangeType topic java.lang.String >> > TicketNo 0 java.lang.Integer >> > ======================================================================= >> > org.apache.qpid:type=UserManagement,name=UserManagement >> > ======================================================================= >> > ======================================================================= >> > >> > >> org.apache.qpid:type=VirtualHost.Exchange,VirtualHost=development,name=amq.topic,ExchangeType=topic >> > ======================================================================= >> > Name amq.topic java.lang.String >> > Durable true boolean >> > AutoDelete false boolean >> > ExchangeType topic java.lang.String >> > TicketNo 0 java.lang.Integer >> > ======================================================================= >> > org.apache.qpid:type=VirtualHost.Queue,VirtualHost=localhost,name=ping >> > ======================================================================= >> > Name ping java.lang.String >> > Owner null java.lang.String >> > Durable false boolean >> > AutoDelete false boolean >> > MessageCount 0 java.lang.Integer >> > QueueDepth 0 java.lang.Long >> > MaximumMessageSize 2117632 java.lang.Long >> > ConsumerCount 0 java.lang.Integer >> > ActiveConsumerCount 0 java.lang.Integer >> > ReceivedMessageCount 0 java.lang.Long >> > MaximumMessageCount 0 java.lang.Long >> > MaximumQueueDepth 4136 java.lang.Long >> > MaximumMessageAge 600000 java.lang.Long >> > ======================================================================= >> > >> > >> org.apache.qpid:type=VirtualHost.Exchange,VirtualHost=localhost,name=<<default>>,ExchangeType=direct >> > ======================================================================= >> > Name <<default>> java.lang.String >> > Durable true boolean >> > AutoDelete false boolean >> > ExchangeType direct java.lang.String >> > TicketNo 0 java.lang.Integer >> > ======================================================================= >> > >> > >> org.apache.qpid:type=VirtualHost.Exchange,VirtualHost=development,name=amq.fanout,ExchangeType=fanout >> > ======================================================================= >> > Name amq.fanout java.lang.String >> > Durable true boolean >> > AutoDelete false boolean >> > ExchangeType fanout java.lang.String >> > TicketNo 0 java.lang.Integer >> > ======================================================================= >> > >> org.apache.qpid:type=VirtualHost.VirtualHostManager,VirtualHost=development >> > ======================================================================= >> > ======================================================================= >> > >> > >> org.apache.qpid:type=VirtualHost.Queue,VirtualHost=localhost,name=test-queue >> > ======================================================================= >> > Name test-queue java.lang.String >> > Owner null java.lang.String >> > Durable true boolean >> > AutoDelete false boolean >> > MessageCount 0 java.lang.Integer >> > QueueDepth 0 java.lang.Long >> > MaximumMessageSize 2117632 java.lang.Long >> > ConsumerCount 0 java.lang.Integer >> > ActiveConsumerCount 0 java.lang.Integer >> > ReceivedMessageCount 0 java.lang.Long >> > MaximumMessageCount 0 java.lang.Long >> > MaximumQueueDepth 4136 java.lang.Long >> > MaximumMessageAge 600000 java.lang.Long >> > ======================================================================= >> > org.apache.qpid:type=VirtualHost.VirtualHostManager,VirtualHost=localhost >> > ======================================================================= >> > ======================================================================= >> > org.apache.qpid:type=VirtualHost.Queue,VirtualHost=localhost,name=queue >> > ======================================================================= >> > Name queue java.lang.String >> > Owner null java.lang.String >> > Durable false boolean >> > AutoDelete false boolean >> > MessageCount 0 java.lang.Integer >> > QueueDepth 0 java.lang.Long >> > MaximumMessageSize 2117632 java.lang.Long >> > ConsumerCount 0 java.lang.Integer >> > ActiveConsumerCount 0 java.lang.Integer >> > ReceivedMessageCount 0 java.lang.Long >> > MaximumMessageCount 0 java.lang.Long >> > MaximumQueueDepth 4136 java.lang.Long >> > MaximumMessageAge 600000 java.lang.Long >> > ======================================================================= >> > >> > >> org.apache.qpid:type=VirtualHost.Exchange,VirtualHost=test,name=amq.direct,ExchangeType=direct >> > ======================================================================= >> > Name amq.direct java.lang.String >> > Durable true boolean >> > AutoDelete false boolean >> > ExchangeType direct java.lang.String >> > TicketNo 0 java.lang.Integer >> > ======================================================================= >> > >> org.apache.qpid:type=VirtualHost.Queue,VirtualHost=localhost,name=test-ping >> > ======================================================================= >> > Name test-ping java.lang.String >> > Owner null java.lang.String >> > Durable false boolean >> > AutoDelete false boolean >> > MessageCount 0 java.lang.Integer >> > QueueDepth 0 java.lang.Long >> > MaximumMessageSize 2117632 java.lang.Long >> > ConsumerCount 0 java.lang.Integer >> > ActiveConsumerCount 0 java.lang.Integer >> > ReceivedMessageCount 0 java.lang.Long >> > MaximumMessageCount 0 java.lang.Long >> > MaximumQueueDepth 4136 java.lang.Long >> > MaximumMessageAge 600000 java.lang.Long >> > ======================================================================= >> > >> > >> org.apache.qpid:type=VirtualHost.Exchange,VirtualHost=test,name=<<default>>,ExchangeType=direct >> > ======================================================================= >> > Name <<default>> java.lang.String >> > Durable true boolean >> > AutoDelete false boolean >> > ExchangeType direct java.lang.String >> > TicketNo 0 java.lang.Integer >> > ======================================================================= >> > >> > >> org.apache.qpid:type=VirtualHost.Exchange,VirtualHost=localhost,name=amq.fanout,ExchangeType=fanout >> > ======================================================================= >> > Name amq.fanout java.lang.String >> > Durable true boolean >> > AutoDelete false boolean >> > ExchangeType fanout java.lang.String >> > TicketNo 0 java.lang.Integer >> > ======================================================================= >> > >> > >> org.apache.qpid:type=VirtualHost.Exchange,VirtualHost=development,name=amq.match,ExchangeType=headers >> > ======================================================================= >> > Name amq.match java.lang.String >> > Durable true boolean >> > AutoDelete false boolean >> > ExchangeType headers java.lang.String >> > TicketNo 0 java.lang.Integer >> > ======================================================================= >> > >> > >> org.apache.qpid:type=VirtualHost.Exchange,VirtualHost=localhost,name=test.direct,ExchangeType=direct >> > ======================================================================= >> > Name test.direct java.lang.String >> > Durable false boolean >> > AutoDelete false boolean >> > ExchangeType direct java.lang.String >> > TicketNo 0 java.lang.Integer >> > ======================================================================= >> > org.apache.qpid:type=VirtualHost.Queue,VirtualHost=development,name=ping >> > ======================================================================= >> > Name ping java.lang.String >> > Owner null java.lang.String >> > Durable false boolean >> > AutoDelete false boolean >> > MessageCount 0 java.lang.Integer >> > QueueDepth 0 java.lang.Long >> > MaximumMessageSize 2117632 java.lang.Long >> > ConsumerCount 0 java.lang.Integer >> > ActiveConsumerCount 0 java.lang.Integer >> > ReceivedMessageCount 0 java.lang.Long >> > MaximumMessageCount 5000 java.lang.Long >> > MaximumQueueDepth 4136 java.lang.Long >> > MaximumMessageAge 600000 java.lang.Long >> > >> > Close the connection to the server >> > >> > Bye! Bye! >> > [EMAIL PROTECTED] >> :~/IdeaProjects/jmxpractice/classes/production/jmxpractice$ >> > >> > >> > ========================================================================= >> > On Fri, May 9, 2008 at 8:35 PM, Aidan Skinner <[EMAIL PROTECTED]> wrote: >> > >> >> Hey Lahiru, >> >> >> >> the screenshot you sent was stripped by the mailing list, as it's a >> >> command line it's probably best just to copy and paste the output into >> >> an email anyway. >> >> >> >> As for a next step, probably something quick like listing all the >> >> queues or the count on a specified queue. >> > >> > I think I have done what you are asking but I'm not sure if I'm wrong >> > please let me know. >> > Could you please explain it some more and however I will try to >> understand >> > what you meant by that sentence. >> > >> > Thanks in advance >> > >> > >> > Regs >> > lahiru >> > >> >> >> >> -- >> East or West >> Mahindians are the >> Best... ! >> > -- Sent from Google Mail for mobile | mobile.google.com aim/y!:aidans42 g:[EMAIL PROTECTED] http://aidan.skinner.me.uk/ "We belong to nobody and nobody belongs to us. We don't even belong to each other."
