qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aidan Skinner" <ai...@apache.org>
Subject Re: GSoC - Lahiru's CLI for JMX
Date Thu, 15 May 2008 18:02:10 GMT
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 <marnie.mccormack@googlemail.com> 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 <glahiru@gmail.com> 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 <glahiru@gmail.com>
>> 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!
>> > lahiru@lahiru-laptop
>> :~/IdeaProjects/jmxpractice/classes/production/jmxpractice$
>> >
>> >
>> > =========================================================================
>> > On Fri, May 9, 2008 at 8:35 PM, Aidan Skinner <aidan@apache.org> 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:aidan.skinner@gmail.com
http://aidan.skinner.me.uk/
"We belong to nobody and nobody belongs to us. We don't even belong to
each other."

Mime
View raw message