You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by lahiru gunathilake <gl...@gmail.com> on 2008/05/01 20:17:31 UTC

Re: GSoC - Lahiru's CLI for JMX

Hi,

First I'm very sorry for taking sometime to reply to your mail( because I
was uable to be online for yesterday) and thanks a lot for writing me about
the Gsoc project.
Thats great and now I know, the image I had about the project is correct. I
think I have to create a project plane(I realize it after having a chat with
Aidan) and once I create it I will send it to you.

In order to create a clear project plan honestly could you please tell me
what should I finish when it comes to mid evaluation. I'm sure, that will
help me a lot to create a better road map.

Next thing.. Could you please look in to my inline comment.

On Wed, Apr 30, 2008 at 12:13 AM, Marnie McCormack <
marnie.mccormack@googlemail.com> wrote:

> Hi Lahiru,
>
> As promised here are my thoughts about what I'd like to achieve from the
> project I defined for your GSoC work.
>
> So, currently we provide some JMX calls which expose various attributes in
> the Qpid Java broker. We have users who are interested in these
> attributes,
> but there's currently no simple way for them to get access to them.


Can I know exactly what are they(where are those attributes in the Qpid code
base) . I can check them with Jconsole as a user. But as a developer can I
know where that code located  and where is the code where it expose as JMX
calls. (Honestly if this is a task which shoud be done by my self just give
me a clue and I will find where are those )

> They can
> view them on the management console (assuming they can get it working :-),
> they can attach some other monitoring GUI or proprietary application.
>
> For some of our JMX props, they can be set up to log alerts to the broker
> log - which can again be monitored.
>
> However, it would be really useful if they could simply use a CLI tool to
> extract the information they're looking for.
> +1
> I had envisaged it taking a really simple form:
>
>   - a shell script (bash or .bat) to call the CLI tool, probably simply
>   wrapping a java call, which will run as a daemon (or service)
>   - a config/properties file or command line options to specify:
>      - the JMX attribute to extract
>      - the frequency with which to extract it, in minutes (i.e. an
>      elapsed time between extraction like 5 minutes)

If the time is five minutes then if the deamon runs one hour the CLI outputs
around 12 out put information.
As an example CLI should write 12 out put files to a give location. Am I
correct .. ?

>
>      - a path into which to record the output
>      - an option for the output format (see my proposal info about
>      formatting etc) like csv, tab-delimited, html etc. This might be
> better done

Can be done..!

>
>      as optional export into another tool ?
>

>   - the properties/config should be extensible so that new attributes
>   implemented in the broker can easily be added
> Sure.. this should be in that way.
> So, when a user wants to get useful management information from the broker
> (but not using a GUI) they can simply create a props file and voila !

Not much clear this statement. "create props file and voila!"

>
>  What do you think ? Does this make sense to you ok ?

Exactly this is the best description I got about my project and thanks a lot
for your great assist.

>
> I'll reply to your email about issues shortly, in a separate email.
>
> Hth,
> Thanks & Regards,
> Marnie
>
Thanks in advance

Regs
lahiru

Re: GSoC - Lahiru's CLI for JMX

Posted by Aidan Skinner <ai...@apache.org>.
On Wed, Jun 11, 2008 at 6:33 AM, lahiru gunathilake <gl...@gmail.com> wrote:

> On Tue, Jun 10, 2008 at 9:29 PM, Marnie McCormack <
> marnie.mccormack@googlemail.com> wrote:

>> So, I think to get a real feel for the kind of data you'll see typically
>> you
>> possibly need to set up a client app to use the queues in a 'real life' way
>> ?
>
> Could you please tell me how to do that, but somehow I will try to do that
> alone but if you can give me some help
> that would be great.

There are some examples that we ship, and the test cases can generate
some data as well, particularly if you point them at a real broker
rather than an inVM one.

> Very basically I'm asking if you want to queue all the queue object what
> should i list and more specifically what should i list names of queues or
> what ...?  if there are queues with the same name what should i give as the
> result for that command.

For the list I would include name, count, depth and number of consumers.

- Aidan
-- 
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."

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi Marnie,

On Tue, Jun 10, 2008 at 9:29 PM, Marnie McCormack <
marnie.mccormack@googlemail.com> wrote:

> Hi Lahiru,
>
> I think I understand what you mean - basically the queues you're seeing via
> jConsole are those that are set up by default in the
> virtualhosts.xml/config.xml that come with the broker install.
>
> These queues are examples, and thus don't have many distinguishing
> characteristics like selectors etc (so they look like they're just
> differentiated by virtualhost). They also won't have consumers or messages
> I
> assume ?
>
> So, I think to get a real feel for the kind of data you'll see typically
> you
> possibly need to set up a client app to use the queues in a 'real life' way
> ?

Could you please tell me how to do that, but somehow I will try to do that
alone but if you can give me some help
that would be great.

Very basically I'm asking if you want to queue all the queue object what
should i list and more specifically what should i list names of queues or
what ...?  if there are queues with the same name what should i give as the
result for that command.

This is the information I get with Jconsole for a particular queue.

 =======================================================================
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


If queue objects are gonna change when it comes to real applications it's
cool and I will look in to that and find some way to get each queue
separately and list all of them.

Thanks in advance

Regards
Lahiru

This would mean publishing to them, consuming from them etc.
>
> What do you think - does thistalk to your question ?
>
> Thanks & Regards,
> Marnie
>
> On 6/9/08, lahiru gunathilake <gl...@gmail.com> wrote:
> >
> > Hi marnie,
> >
> > Now I'm in a position of directly implementing list and info commands.
> > First
> > doing list command. I'm managing to do this as follows.
> >
> > list -o <object name>
> > Ex: list -o queue
> >
> > I'm going to implement all the command using standard way which is like
> for
> > any command user can give options with a "minus""option letter" <option
> > value>
> >
> > In here for all the queue objects there are number of properties so in
> your
> > example you are telling like
> > queue-1
> > queue-2
> > queue-3
> >
> > but more specifically what do you want to list. When I monitor using
> > jconsole there were three different queues those three differ only from
> > ObjectName all the other properties are same like ClassName /
> Discription.
> > In OjbectName there are few parts and from them VirtualHost is the only
> one
> > which differ.
> > It's like this
> > VirtualHost=development
> > VirtualHost=localhost
> > VirtualHost=test
> >
> > So when I list all the queues is it ok if I list those queue names like
> > this(listing those using VirtualHost attribute)
> >
> > development
> > localhost
> > test
> >
> > If you can't understand my problem let me know I can explain it with more
> > details.
> >
> > Thanks in advance
> >
> >
> > Regards
> > Lahiru
> >
> > On Thu, May 15, 2008 at 9:59 PM, 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 <gl...@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 <ai...@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... !
> > > >
> > >
> >
> >
> >
> > --
> > East or West
> > Mahindians are the
> > Best... !
> >
>



-- 
East or West
Mahindians are the
Best... !

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi Marnie and Aidan,

Now I have complete my implementation for list command with all the objects
which you have instrumented inside the broker.(Now you can use the list
command to monitor the basic information in a way you do using Jconsole). If
you can clearly specify what else you want to monitor with list command then
I can write some code in to Qpid and instrument them and write some more
code to CLI and monitor those information too.

Or I can start working with the report generation mode from now onwards.
What do you think please advice me on this what should I do next.

Regards
Lahiru

On Fri, Jun 20, 2008 at 10:24 AM, lahiru gunathilake <gl...@gmail.com>
wrote:

> hi Aidan,
>
> On Thu, Jun 12, 2008 at 5:15 PM, lahiru gunathilake <gl...@gmail.com>
> wrote:
>
>> Hi Aidan,
>>
>> Yep I can understand what you are saying. I was mostly concentrated on
>> making more simpler thing to add new commands. My approach is good when we
>> go for new commands.
>>
>> On Thu, Jun 12, 2008 at 4:57 PM, Aidan Skinner <ai...@apache.org> wrote:
>>
>>> Hey,
>>>
>>> so, as I was attempting to say just then, I've had a quick look at
>>> your code and it looks pretty good. I would probably be tempted to add
>>> functionality by object type rather than command type, putting methods
>>> into the Command interface for listing, getting info etc and then
>>> subclassing that for Queues, Exchanges and so on. That way you only
>>> have to edit one file when you add a new type
>>
>> Yep but that is only with a single command.
>>
> yes I thought of implementing in this way and now the code is more
> elegant(but not like the same way you are saying slightly different way).
> Could you please have a look at the code in the SVN.
>
> Thanks Aidan for pointing this out.I'm really happy with the new
> implementation :-)
>
> Regards
> Lahiru
>
>> If we are going to add some more methods to the interactive mode it's
>> going to be difficult. But if we are not going to add more and more commands
>> that approach would be useful.
>>
>> What do you thing if you want me to implement in other way around I will
>> go ahead with that.
>>
>>> and it's clearer what
>>> you need to implement when adding support for a new object.
>>>
>>> I haven't had a chance to actually run it yet, I'll do that later today.
>>>
>>> it was good talking to you, I hope next time we'll be able to hear
>>> each other properly! :)
>>
>> yeah sure and you know English is not my mother tongue and your accent is
>> not very much clear for me. I'm very sorry for that next time I will be able
>> to hear you. And if you are feel free to call me on a week end I you can
>> call me to my home land line and I will be able to hear you clearly.
>>
>> Any thoughts
>>
>> Thanks
>> Lahiru
>>
>>>
>>>
>>> - Aidan
>>>
>>> --
>>> aim/y!:aidans42 g:aidan.skinner@gmail.com <g%...@gmail.com>
>>> http://aidan.skinner.me.uk/
>>> "We belong to nobody and nobody belongs to us. We don't even belong to
>>> each other."
>>>
>>
>>
>

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
hi Aidan,

On Thu, Jun 12, 2008 at 5:15 PM, lahiru gunathilake <gl...@gmail.com>
wrote:

> Hi Aidan,
>
> Yep I can understand what you are saying. I was mostly concentrated on
> making more simpler thing to add new commands. My approach is good when we
> go for new commands.
>
> On Thu, Jun 12, 2008 at 4:57 PM, Aidan Skinner <ai...@apache.org> wrote:
>
>> Hey,
>>
>> so, as I was attempting to say just then, I've had a quick look at
>> your code and it looks pretty good. I would probably be tempted to add
>> functionality by object type rather than command type, putting methods
>> into the Command interface for listing, getting info etc and then
>> subclassing that for Queues, Exchanges and so on. That way you only
>> have to edit one file when you add a new type
>
> Yep but that is only with a single command.
>
yes I thought of implementing in this way and now the code is more
elegant(but not like the same way you are saying slightly different way).
Could you please have a look at the code in the SVN.

Thanks Aidan for pointing this out.I'm really happy with the new
implementation :-)

Regards
Lahiru

> If we are going to add some more methods to the interactive mode it's going
> to be difficult. But if we are not going to add more and more commands that
> approach would be useful.
>
> What do you thing if you want me to implement in other way around I will go
> ahead with that.
>
>> and it's clearer what
>> you need to implement when adding support for a new object.
>>
>> I haven't had a chance to actually run it yet, I'll do that later today.
>>
>> it was good talking to you, I hope next time we'll be able to hear
>> each other properly! :)
>
> yeah sure and you know English is not my mother tongue and your accent is
> not very much clear for me. I'm very sorry for that next time I will be able
> to hear you. And if you are feel free to call me on a week end I you can
> call me to my home land line and I will be able to hear you clearly.
>
> Any thoughts
>
> Thanks
> Lahiru
>
>>
>>
>> - Aidan
>>
>> --
>> aim/y!:aidans42 g:aidan.skinner@gmail.com <g%...@gmail.com>
>> http://aidan.skinner.me.uk/
>> "We belong to nobody and nobody belongs to us. We don't even belong to
>> each other."
>>
>
>

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi Aidan,

Yep I can understand what you are saying. I was mostly concentrated on
making more simpler thing to add new commands. My approach is good when we
go for new commands.

On Thu, Jun 12, 2008 at 4:57 PM, Aidan Skinner <ai...@apache.org> wrote:

> Hey,
>
> so, as I was attempting to say just then, I've had a quick look at
> your code and it looks pretty good. I would probably be tempted to add
> functionality by object type rather than command type, putting methods
> into the Command interface for listing, getting info etc and then
> subclassing that for Queues, Exchanges and so on. That way you only
> have to edit one file when you add a new type

Yep but that is only with a single command. If we are going to add some more
methods to the interactive mode it's going to be difficult. But if we are
not going to add more and more commands that approach would be useful.

What do you thing if you want me to implement in other way around I will go
ahead with that.

> and it's clearer what
> you need to implement when adding support for a new object.
>
> I haven't had a chance to actually run it yet, I'll do that later today.
>
> it was good talking to you, I hope next time we'll be able to hear
> each other properly! :)

yeah sure and you know English is not my mother tongue and your accent is
not very much clear for me. I'm very sorry for that next time I will be able
to hear you. And if you are feel free to call me on a week end I you can
call me to my home land line and I will be able to hear you clearly.

Any thoughts

Thanks
Lahiru

>
>
> - Aidan
>
> --
> aim/y!:aidans42 g:aidan.skinner@gmail.com <g%...@gmail.com>
> http://aidan.skinner.me.uk/
> "We belong to nobody and nobody belongs to us. We don't even belong to
> each other."
>

Re: GSoC - Lahiru's CLI for JMX

Posted by Aidan Skinner <ai...@apache.org>.
Hey,

so, as I was attempting to say just then, I've had a quick look at
your code and it looks pretty good. I would probably be tempted to add
functionality by object type rather than command type, putting methods
into the Command interface for listing, getting info etc and then
subclassing that for Queues, Exchanges and so on. That way you only
have to edit one file when you add a new type and it's clearer what
you need to implement when adding support for a new object.

I haven't had a chance to actually run it yet, I'll do that later today.

it was good talking to you, I hope next time we'll be able to hear
each other properly! :)

- Aidan

-- 
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."

Re: GSoC - Lahiru's CLI for JMX

Posted by Aidan Skinner <ai...@apache.org>.
On Thu, Jun 12, 2008 at 11:12 AM, lahiru gunathilake <gl...@gmail.com> wrote:

> now check it.
> sorry for the inconvenience. Now the qpid_cli script automatically set the
> classpaths.

Got it, thanks! I'm having a little trouble with the script, and with
international dialling, I'll call you shortly!

- Aidan
-- 
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."

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
hi Aidan,

Sorry i forgot it.

On Thu, Jun 12, 2008 at 3:32 PM, Aidan Skinner <ai...@apache.org> wrote:

> On Thu, Jun 12, 2008 at 10:53 AM, lahiru gunathilake <gl...@gmail.com>
> wrote:
>
> > On Thu, Jun 12, 2008 at 3:11 PM, Aidan Skinner <ai...@apache.org> wrote:
>
> > Which means it's not working in your machine.
>
> I got past the classpath issue easily enough, but I can't build it due
> to the lack of JMXInfo.java, did you forget to check it in?
>
now check it.
sorry for the inconvenience. Now the qpid_cli script automatically set the
classpaths.

Regs
lahiru

>
> - Aidan
> --
> aim/y!:aidans42 g:aidan.skinner@gmail.com <g%...@gmail.com>
> http://aidan.skinner.me.uk/
> "We belong to nobody and nobody belongs to us. We don't even belong to
> each other."
>

Re: GSoC - Lahiru's CLI for JMX

Posted by Aidan Skinner <ai...@apache.org>.
On Thu, Jun 12, 2008 at 10:53 AM, lahiru gunathilake <gl...@gmail.com> wrote:

> On Thu, Jun 12, 2008 at 3:11 PM, Aidan Skinner <ai...@apache.org> wrote:

> Which means it's not working in your machine.

I got past the classpath issue easily enough, but I can't build it due
to the lack of JMXInfo.java, did you forget to check it in?

- Aidan
-- 
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."

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
hi Aidan,

On Thu, Jun 12, 2008 at 3:11 PM, Aidan Skinner <ai...@apache.org> wrote:

> On Thu, Jun 12, 2008 at 4:29 AM, lahiru gunathilake <gl...@gmail.com>
> wrote:
>
> > I was able to implement list command for some extend for now it print all
> > it's attributes and as Aidan ask me I can give only those important
> > attributes rather giving all the attributes. If you can check this
> > implementation that would be a great help to me.(I have committed the
> code
> > in to SVN).
>
> Hey, that's awesome! I updated but I'm having problems building it,
> it's complaining that it can't find org.apache.qpid.utils.JMXinfo.

Also, i had to set CLASSPATH to include the jline and junit jars in
> lib/ directly, you should probably modify build.xml to pick them up
> automatically.

yes sure I will fix the build system.

Which means it's not working in your machine.

Thanks
Lahiru

>
>
> - Aidan
>
> --
> aim/y!:aidans42 g:aidan.skinner@gmail.com <g%...@gmail.com>
> http://aidan.skinner.me.uk/
> "We belong to nobody and nobody belongs to us. We don't even belong to
> each other."
>

Re: GSoC - Lahiru's CLI for JMX

Posted by Aidan Skinner <ai...@apache.org>.
On Thu, Jun 12, 2008 at 4:29 AM, lahiru gunathilake <gl...@gmail.com> wrote:

> I was able to implement list command for some extend for now it print all
> it's attributes and as Aidan ask me I can give only those important
> attributes rather giving all the attributes. If you can check this
> implementation that would be a great help to me.(I have committed the code
> in to SVN).

Hey, that's awesome! I updated but I'm having problems building it,
it's complaining that it can't find org.apache.qpid.utils.JMXinfo.
Also, i had to set CLASSPATH to include the jline and junit jars in
lib/ directly, you should probably modify build.xml to pick them up
automatically.

- Aidan

-- 
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."

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi Marnie,

On Thu, Jun 12, 2008 at 2:34 PM, Marnie McCormack <
marnie.mccormack@googlemail.com> wrote:

> Hi Lahiru,
>
> Great - it seems you're making some real progress, which is very good to
> see
> ! The attibutes you're listing now look good.

Thanks  Marnie :-)

>
>
> I think the samples stuff might give you more of a headache than you'd
> enjoy
> getting started. Martin & Aidan & I have been discussing and we'll guide
> you
> towards how to get a simple client set up to make your queue active, and
> thus see some more useful example data in the queue attributes.

Sure I like to know how to write a client and even more I like to know
what's going inside the broker. These days I'm trying to understand the AMQP
spec while doing coding(I'm sorry ! Have lot of work to do with my final
year academics so it takes sometime to understand the spec).

>
>
> I'll try to take a look at your code in svn shortly. Our 12pm DST call
> today
> will go ahead, Martin & Aidan will call you on your contact number (which
> is
> best - landline or mobile ?).

I don't have a land line since I'm staying in the hostel. The number I sent
was my home land line and better to call for my
mobile.

>
>
> I can't make it along today as I have a set of meetings which I cannot
> elude. When you have a moment, send us a list of any issues that you have
> so
> we're all clear about what you need most help with !

sure I will.

Thanks in advance
Regards
Lahiru

>
>
> Hth,
> Marnie
>
> On 6/12/08, lahiru gunathilake <gl...@gmail.com> wrote:
> >
> > hi Aidan and Marnie,
> >
> >
> > I was able to implement list command for some extend for now it print all
> > it's attributes and as Aidan ask me I can give only those important
> > attributes rather giving all the attributes. If you can check this
> > implementation that would be a great help to me.(I have committed the
> code
> > in to SVN).
> >
> > Thanks
> > Lahiru
> > On Wed, Jun 11, 2008 at 5:39 PM, lahiru gunathilake <gl...@gmail.com>
> > wrote:
> >
> > >
> > >
> > > On Tue, Jun 10, 2008 at 9:29 PM, Marnie McCormack <
> > > marnie.mccormack@googlemail.com> wrote:
> > >
> > >> Hi Lahiru,
> > >>
> > >> I think I understand what you mean - basically the queues you're
> seeing
> > >> via
> > >> jConsole are those that are set up by default in the
> > >> virtualhosts.xml/config.xml that come with the broker install.
> > >>
> > >> These queues are examples, and thus don't have many distinguishing
> > >> characteristics like selectors etc (so they look like they're just
> > >> differentiated by virtualhost). They also won't have consumers or
> > messages
> > >> I
> > >> assume ?
> > >>
> > > Hopefully I was able to run samples in the directory
> > > qpid-1.0-incubating-M2-src/java/client/example/src/main/java using
> > > runSample.sh file. Is this the correct location..?
> > >  Is that what you want me to do. If it is the thing could you please
> tell
> > > me how should I monitor those queues. Do I have to use jconsole or any
> > other
> > > way to monitor those information.
> > >
> > > Regards
> > > Lahiru
> > >
> > >>
> > >> So, I think to get a real feel for the kind of data you'll see
> typically
> > >> you
> > >> possibly need to set up a client app to use the queues in a 'real
> life'
> > >> way
> > >> ? This would mean publishing to them, consuming from them etc.
> > >>
> > >> What do you think - does thistalk to your question ?
> > >>
> > >> Thanks & Regards,
> > >> Marnie
> > >>
> > >> On 6/9/08, lahiru gunathilake <gl...@gmail.com> wrote:
> > >> >
> > >> > Hi marnie,
> > >> >
> > >> > Now I'm in a position of directly implementing list and info
> commands.
> > >> > First
> > >> > doing list command. I'm managing to do this as follows.
> > >> >
> > >> > list -o <object name>
> > >> > Ex: list -o queue
> > >> >
> > >> > I'm going to implement all the command using standard way which is
> > like
> > >> for
> > >> > any command user can give options with a "minus""option letter"
> > <option
> > >> > value>
> > >> >
> > >> > In here for all the queue objects there are number of properties so
> in
> > >> your
> > >> > example you are telling like
> > >> > queue-1
> > >> > queue-2
> > >> > queue-3
> > >> >
> > >> > but more specifically what do you want to list. When I monitor using
> > >> > jconsole there were three different queues those three differ only
> > from
> > >> > ObjectName all the other properties are same like ClassName /
> > >> Discription.
> > >> > In OjbectName there are few parts and from them VirtualHost is the
> > only
> > >> one
> > >> > which differ.
> > >> > It's like this
> > >> > VirtualHost=development
> > >> > VirtualHost=localhost
> > >> > VirtualHost=test
> > >> >
> > >> > So when I list all the queues is it ok if I list those queue names
> > like
> > >> > this(listing those using VirtualHost attribute)
> > >> >
> > >> > development
> > >> > localhost
> > >> > test
> > >> >
> > >> > If you can't understand my problem let me know I can explain it with
> > >> more
> > >> > details.
> > >> >
> > >> > Thanks in advance
> > >> >
> > >> >
> > >> > Regards
> > >> > Lahiru
> > >> >
> > >> > On Thu, May 15, 2008 at 9:59 PM, 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 <gl...@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... !
> > >> > > >
> > >> > >
> > >> >
> > >> >
> > >> >
> > >> > --
> > >> > East or West
> > >> > Mahindians are the
> > >> > Best... !
> > >> >
> > >>
> > >
> > >
> > >
> > > --
> > > East or West
> > > Mahindians are the
> > > Best... !
> > >
> >
> >
> >
> > --
> > East or West
> > Mahindians are the
> > Best... !
> >
>

Re: GSoC - Lahiru's CLI for JMX

Posted by Marnie McCormack <ma...@googlemail.com>.
Hi Lahiru,

Great - it seems you're making some real progress, which is very good to see
! The attibutes you're listing now look good.

I think the samples stuff might give you more of a headache than you'd enjoy
getting started. Martin & Aidan & I have been discussing and we'll guide you
towards how to get a simple client set up to make your queue active, and
thus see some more useful example data in the queue attributes.

I'll try to take a look at your code in svn shortly. Our 12pm DST call today
will go ahead, Martin & Aidan will call you on your contact number (which is
best - landline or mobile ?).

I can't make it along today as I have a set of meetings which I cannot
elude. When you have a moment, send us a list of any issues that you have so
we're all clear about what you need most help with !

Hth,
Marnie

On 6/12/08, lahiru gunathilake <gl...@gmail.com> wrote:
>
> hi Aidan and Marnie,
>
>
> I was able to implement list command for some extend for now it print all
> it's attributes and as Aidan ask me I can give only those important
> attributes rather giving all the attributes. If you can check this
> implementation that would be a great help to me.(I have committed the code
> in to SVN).
>
> Thanks
> Lahiru
> On Wed, Jun 11, 2008 at 5:39 PM, lahiru gunathilake <gl...@gmail.com>
> wrote:
>
> >
> >
> > On Tue, Jun 10, 2008 at 9:29 PM, Marnie McCormack <
> > marnie.mccormack@googlemail.com> wrote:
> >
> >> Hi Lahiru,
> >>
> >> I think I understand what you mean - basically the queues you're seeing
> >> via
> >> jConsole are those that are set up by default in the
> >> virtualhosts.xml/config.xml that come with the broker install.
> >>
> >> These queues are examples, and thus don't have many distinguishing
> >> characteristics like selectors etc (so they look like they're just
> >> differentiated by virtualhost). They also won't have consumers or
> messages
> >> I
> >> assume ?
> >>
> > Hopefully I was able to run samples in the directory
> > qpid-1.0-incubating-M2-src/java/client/example/src/main/java using
> > runSample.sh file. Is this the correct location..?
> >  Is that what you want me to do. If it is the thing could you please tell
> > me how should I monitor those queues. Do I have to use jconsole or any
> other
> > way to monitor those information.
> >
> > Regards
> > Lahiru
> >
> >>
> >> So, I think to get a real feel for the kind of data you'll see typically
> >> you
> >> possibly need to set up a client app to use the queues in a 'real life'
> >> way
> >> ? This would mean publishing to them, consuming from them etc.
> >>
> >> What do you think - does thistalk to your question ?
> >>
> >> Thanks & Regards,
> >> Marnie
> >>
> >> On 6/9/08, lahiru gunathilake <gl...@gmail.com> wrote:
> >> >
> >> > Hi marnie,
> >> >
> >> > Now I'm in a position of directly implementing list and info commands.
> >> > First
> >> > doing list command. I'm managing to do this as follows.
> >> >
> >> > list -o <object name>
> >> > Ex: list -o queue
> >> >
> >> > I'm going to implement all the command using standard way which is
> like
> >> for
> >> > any command user can give options with a "minus""option letter"
> <option
> >> > value>
> >> >
> >> > In here for all the queue objects there are number of properties so in
> >> your
> >> > example you are telling like
> >> > queue-1
> >> > queue-2
> >> > queue-3
> >> >
> >> > but more specifically what do you want to list. When I monitor using
> >> > jconsole there were three different queues those three differ only
> from
> >> > ObjectName all the other properties are same like ClassName /
> >> Discription.
> >> > In OjbectName there are few parts and from them VirtualHost is the
> only
> >> one
> >> > which differ.
> >> > It's like this
> >> > VirtualHost=development
> >> > VirtualHost=localhost
> >> > VirtualHost=test
> >> >
> >> > So when I list all the queues is it ok if I list those queue names
> like
> >> > this(listing those using VirtualHost attribute)
> >> >
> >> > development
> >> > localhost
> >> > test
> >> >
> >> > If you can't understand my problem let me know I can explain it with
> >> more
> >> > details.
> >> >
> >> > Thanks in advance
> >> >
> >> >
> >> > Regards
> >> > Lahiru
> >> >
> >> > On Thu, May 15, 2008 at 9:59 PM, 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 <gl...@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... !
> >> > > >
> >> > >
> >> >
> >> >
> >> >
> >> > --
> >> > East or West
> >> > Mahindians are the
> >> > Best... !
> >> >
> >>
> >
> >
> >
> > --
> > East or West
> > Mahindians are the
> > Best... !
> >
>
>
>
> --
> East or West
> Mahindians are the
> Best... !
>

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
hi Aidan and Marnie,


I was able to implement list command for some extend for now it print all
it's attributes and as Aidan ask me I can give only those important
attributes rather giving all the attributes. If you can check this
implementation that would be a great help to me.(I have committed the code
in to SVN).

Thanks
Lahiru
On Wed, Jun 11, 2008 at 5:39 PM, lahiru gunathilake <gl...@gmail.com>
wrote:

>
>
> On Tue, Jun 10, 2008 at 9:29 PM, Marnie McCormack <
> marnie.mccormack@googlemail.com> wrote:
>
>> Hi Lahiru,
>>
>> I think I understand what you mean - basically the queues you're seeing
>> via
>> jConsole are those that are set up by default in the
>> virtualhosts.xml/config.xml that come with the broker install.
>>
>> These queues are examples, and thus don't have many distinguishing
>> characteristics like selectors etc (so they look like they're just
>> differentiated by virtualhost). They also won't have consumers or messages
>> I
>> assume ?
>>
> Hopefully I was able to run samples in the directory
> qpid-1.0-incubating-M2-src/java/client/example/src/main/java using
> runSample.sh file. Is this the correct location..?
>  Is that what you want me to do. If it is the thing could you please tell
> me how should I monitor those queues. Do I have to use jconsole or any other
> way to monitor those information.
>
> Regards
> Lahiru
>
>>
>> So, I think to get a real feel for the kind of data you'll see typically
>> you
>> possibly need to set up a client app to use the queues in a 'real life'
>> way
>> ? This would mean publishing to them, consuming from them etc.
>>
>> What do you think - does thistalk to your question ?
>>
>> Thanks & Regards,
>> Marnie
>>
>> On 6/9/08, lahiru gunathilake <gl...@gmail.com> wrote:
>> >
>> > Hi marnie,
>> >
>> > Now I'm in a position of directly implementing list and info commands.
>> > First
>> > doing list command. I'm managing to do this as follows.
>> >
>> > list -o <object name>
>> > Ex: list -o queue
>> >
>> > I'm going to implement all the command using standard way which is like
>> for
>> > any command user can give options with a "minus""option letter" <option
>> > value>
>> >
>> > In here for all the queue objects there are number of properties so in
>> your
>> > example you are telling like
>> > queue-1
>> > queue-2
>> > queue-3
>> >
>> > but more specifically what do you want to list. When I monitor using
>> > jconsole there were three different queues those three differ only from
>> > ObjectName all the other properties are same like ClassName /
>> Discription.
>> > In OjbectName there are few parts and from them VirtualHost is the only
>> one
>> > which differ.
>> > It's like this
>> > VirtualHost=development
>> > VirtualHost=localhost
>> > VirtualHost=test
>> >
>> > So when I list all the queues is it ok if I list those queue names like
>> > this(listing those using VirtualHost attribute)
>> >
>> > development
>> > localhost
>> > test
>> >
>> > If you can't understand my problem let me know I can explain it with
>> more
>> > details.
>> >
>> > Thanks in advance
>> >
>> >
>> > Regards
>> > Lahiru
>> >
>> > On Thu, May 15, 2008 at 9:59 PM, 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 <gl...@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 <ai...@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... !
>> > > >
>> > >
>> >
>> >
>> >
>> > --
>> > East or West
>> > Mahindians are the
>> > Best... !
>> >
>>
>
>
>
> --
> East or West
> Mahindians are the
> Best... !
>



-- 
East or West
Mahindians are the
Best... !

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
On Tue, Jun 10, 2008 at 9:29 PM, Marnie McCormack <
marnie.mccormack@googlemail.com> wrote:

> Hi Lahiru,
>
> I think I understand what you mean - basically the queues you're seeing via
> jConsole are those that are set up by default in the
> virtualhosts.xml/config.xml that come with the broker install.
>
> These queues are examples, and thus don't have many distinguishing
> characteristics like selectors etc (so they look like they're just
> differentiated by virtualhost). They also won't have consumers or messages
> I
> assume ?
>
Hopefully I was able to run samples in the directory
qpid-1.0-incubating-M2-src/java/client/example/src/main/java using
runSample.sh file. Is this the correct location..?
 Is that what you want me to do. If it is the thing could you please tell me
how should I monitor those queues. Do I have to use jconsole or any other
way to monitor those information.

Regards
Lahiru

>
> So, I think to get a real feel for the kind of data you'll see typically
> you
> possibly need to set up a client app to use the queues in a 'real life' way
> ? This would mean publishing to them, consuming from them etc.
>
> What do you think - does thistalk to your question ?
>
> Thanks & Regards,
> Marnie
>
> On 6/9/08, lahiru gunathilake <gl...@gmail.com> wrote:
> >
> > Hi marnie,
> >
> > Now I'm in a position of directly implementing list and info commands.
> > First
> > doing list command. I'm managing to do this as follows.
> >
> > list -o <object name>
> > Ex: list -o queue
> >
> > I'm going to implement all the command using standard way which is like
> for
> > any command user can give options with a "minus""option letter" <option
> > value>
> >
> > In here for all the queue objects there are number of properties so in
> your
> > example you are telling like
> > queue-1
> > queue-2
> > queue-3
> >
> > but more specifically what do you want to list. When I monitor using
> > jconsole there were three different queues those three differ only from
> > ObjectName all the other properties are same like ClassName /
> Discription.
> > In OjbectName there are few parts and from them VirtualHost is the only
> one
> > which differ.
> > It's like this
> > VirtualHost=development
> > VirtualHost=localhost
> > VirtualHost=test
> >
> > So when I list all the queues is it ok if I list those queue names like
> > this(listing those using VirtualHost attribute)
> >
> > development
> > localhost
> > test
> >
> > If you can't understand my problem let me know I can explain it with more
> > details.
> >
> > Thanks in advance
> >
> >
> > Regards
> > Lahiru
> >
> > On Thu, May 15, 2008 at 9:59 PM, 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 <gl...@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 <ai...@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... !
> > > >
> > >
> >
> >
> >
> > --
> > East or West
> > Mahindians are the
> > Best... !
> >
>



-- 
East or West
Mahindians are the
Best... !

Re: GSoC - Lahiru's CLI for JMX

Posted by Marnie McCormack <ma...@googlemail.com>.
Hi Lahiru,

I think I understand what you mean - basically the queues you're seeing via
jConsole are those that are set up by default in the
virtualhosts.xml/config.xml that come with the broker install.

These queues are examples, and thus don't have many distinguishing
characteristics like selectors etc (so they look like they're just
differentiated by virtualhost). They also won't have consumers or messages I
assume ?

So, I think to get a real feel for the kind of data you'll see typically you
possibly need to set up a client app to use the queues in a 'real life' way
? This would mean publishing to them, consuming from them etc.

What do you think - does thistalk to your question ?

Thanks & Regards,
Marnie

On 6/9/08, lahiru gunathilake <gl...@gmail.com> wrote:
>
> Hi marnie,
>
> Now I'm in a position of directly implementing list and info commands.
> First
> doing list command. I'm managing to do this as follows.
>
> list -o <object name>
> Ex: list -o queue
>
> I'm going to implement all the command using standard way which is like for
> any command user can give options with a "minus""option letter" <option
> value>
>
> In here for all the queue objects there are number of properties so in your
> example you are telling like
> queue-1
> queue-2
> queue-3
>
> but more specifically what do you want to list. When I monitor using
> jconsole there were three different queues those three differ only from
> ObjectName all the other properties are same like ClassName / Discription.
> In OjbectName there are few parts and from them VirtualHost is the only one
> which differ.
> It's like this
> VirtualHost=development
> VirtualHost=localhost
> VirtualHost=test
>
> So when I list all the queues is it ok if I list those queue names like
> this(listing those using VirtualHost attribute)
>
> development
> localhost
> test
>
> If you can't understand my problem let me know I can explain it with more
> details.
>
> Thanks in advance
>
>
> Regards
> Lahiru
>
> On Thu, May 15, 2008 at 9:59 PM, 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 <gl...@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 <ai...@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... !
> > >
> >
>
>
>
> --
> East or West
> Mahindians are the
> Best... !
>

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi marnie,

Now I'm in a position of directly implementing list and info commands. First
doing list command. I'm managing to do this as follows.

list -o <object name>
Ex: list -o queue

I'm going to implement all the command using standard way which is like for
any command user can give options with a "minus""option letter" <option
value>

In here for all the queue objects there are number of properties so in your
example you are telling like
queue-1
queue-2
queue-3

but more specifically what do you want to list. When I monitor using
jconsole there were three different queues those three differ only from
ObjectName all the other properties are same like ClassName / Discription.
In OjbectName there are few parts and from them VirtualHost is the only one
which differ.
It's like this
VirtualHost=development
VirtualHost=localhost
VirtualHost=test

So when I list all the queues is it ok if I list those queue names like
this(listing those using VirtualHost attribute)

development
localhost
test

If you can't understand my problem let me know I can explain it with more
details.

Thanks in advance


Regards
Lahiru

On Thu, May 15, 2008 at 9:59 PM, 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 <gl...@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 <gl...@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 <ai...@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... !
> >
>



-- 
East or West
Mahindians are the
Best... !

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi Aiden,

On Thu, May 15, 2008 at 11:32 PM, Aidan Skinner <ai...@apache.org> wrote:

> 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?

I think you have to decide it and my responsibility is to implement it.
Waiting for an answer for this question with pleasure.

> Secondly, how is that information going to
> be presented? Some form of table would seem a good first step,

Yep,+1 from me to represent these as a table and just print them in the
console for now. But once I have finish the basic challenging things, I'm
sure we can decide some other output format rather than printing in to
console.

Any thoughts... or feel free to flame out my thoughts mercilessly.

Thanks in advance

Regs
lahiru

> 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 <ma...@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 <gl...@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 <gl...@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 <ai...@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 <g%...@gmail.com>
> http://aidan.skinner.me.uk/
> "We belong to nobody and nobody belongs to us. We don't even belong to
> each other."
>



-- 
East or West
Mahindians are the
Best... !

Re: GSoC - Lahiru's CLI for JMX

Posted by Marnie McCormack <ma...@googlemail.com>.
All,

I've just being having a preliminary look around at the types of command
line functions available on other messaging products, for inspiration on the
details.

None of them seem to provide a CLI for the details we can expose, so this is
a *good* point in our favour.

Lahiru - I think a useful step at the moment would be to read through Aidan
& I's emails and then write a list of steps you're going to complete over
the next two weeks ?

Then we could usefully review your progress report at the end of that two
weeks and then plan work for the next two weeks, and so on .....

Items I think you'll need to include (which may end up forming a running
list for more than two weeks !):

- the steps Aidan has outlined above
- some outline proposals for the syntax of the CLI i.e. how it will look in
terms of options etc
- the components you'll be creating e.g.

    - daemon process to handle commands, spawning threads for user requests
      etc
      - reporting component (possibly via plugin as Aidan suggests)
      - scripts to start the daemon & stop the daemon
      - possibly some kind of output management to prevent massive files
      being created, again probably using an available library (i.e. to do file
      rotation/compression/archiving) ? This is probably a nice to have though.
      - ... these are examples and you should think about what you think the
      elements on your component list are and we can discuss :-)

- and alist of any open issues/questions for us to address

Hth,
Regards,
Marnie


On 5/15/08, Aidan Skinner <ai...@apache.org> wrote:

> 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 <ma...@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 <gl...@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 <gl...@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 <ai...@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 <g%...@gmail.com>
> http://aidan.skinner.me.uk/
> "We belong to nobody and nobody belongs to us. We don't even belong to
> each other."
>

Re: GSoC - Lahiru's CLI for JMX

Posted by Aidan Skinner <ai...@apache.org>.
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 <ma...@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 <gl...@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 <gl...@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 <ai...@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."

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
hi Aiden,

On Thu, May 22, 2008 at 10:09 PM, Aidan Skinner <ai...@apache.org> wrote:

> On Sun, May 18, 2008 at 11:54 AM, lahiru gunathilake <gl...@gmail.com>
> wrote:
>
> > Here's my basic idea about the project and please treat this as a draft
> SRS
>
> Sorry, I'm not familiar with that acronym, what is SRS?
>
> >   -  First I think I have to figured out what report formats to be given.
> >   May be multiple report formats and user can select one at a time. (And
> I
> >   think you have to tell me we need these report formats and I will
> implement
> >   them).
>
> I think we need to let the user define the report format, it's hard to
> predict users requirements for things like this in advance and giving
> them the flexibility to decide for themselves is generally a good
> move. Having said that, we probably should define some canned reports
> which we can ship both as an example of what the tool can do and for
> general user. Off the top of my head the one I would be most
> interested in would be one showing queue name, queue count, queue
> depth and number of consumers.
>
> >   -  This runs as a daemon and I think this won't be a big thing since we
> >   can use cron to implement this(as Marnie said) or we can use sleep with
> Java
> >   threads and run the same code time to time.
>
> Running via cron is quite different from running as a daemon, one
> starts a new process every time and one keeps a process resident.
>
> >   -  And what data we give in reports ...obviously user have to specify
> it
> >   somehow, may be with command line options or using a configuration file
> and
> >   I prefer use command line options. *I have no idea* about which kind of
> data
> >   user is going get in report format.(Is it like give me all the queue
> details
> >   for each and every five minutes, which means generate 12 reports for an
> hour
> >   and do the same thing until broker is up) am I correct and I need a
> feed
> >   from you about this question.
>
> I think having both a configuration file and command line options
> available is probably the best tactic here, again flexibility is the
> key.
>
> >   -  When user is going to configure which data he need in report format?
> I
> >   thinks when user logged in user have to configure it by some command
> and
> >   each argument have it's default value and then user have to give
> another
> >   command to start the thread.
>
> I think the start command could be wrapped up into the report
> creation, maybe as a --daemon/-d switch or implicitly when they
> specify the frequency with which to run.
>
> >   - Now user is working in interactive mode and if user is interest on
> >   generating reports user have to configure the report generation mode as
> I
> >   discussed with previous section.If user is not interest generating
> reports
> >   user can start on working in interactive mode from the beginning. Or
> user is
> >   only interest on generating reports, after successful configuration of
> the
> >   report generation mode user can type exit command and exit from the
> >   qpid-admin prompt and start the normal work with the command line.
>
> I think having a shell mode with which the user can interactively
> explore the current broker status is a great idea! Have you looked
> into whether there are Java libraries which implement GNU readline
> like functionality?

sure I have to look in to this. Can I start from here with the interactive
mode.

>
>
> >   - We have to figure out what are the list of command we are going to
> >   allow the user to work in interactive mode and what sought of a work it
> does
> >   with each and every command.* I need a feed from you in this location
> >   again*. If you can tell me what are the operations I have to allow
> users to
> >   do in interactive mode then I can create a command name for each
> operation
> >   with appropriate parameters.
>
> I would imagine that it's really a case of list and info for each
> object to start with, and then we can define the more 'active'
> commands (such as clear for a list) when we consider each object.

It sounds good.

I think we have to discuss some more about the report generation mode.

Thanks in advance

Regards
lahiru


>
> > May be we can ask these questions from our users as well.
>
> Getting early user feedback on this is going to be very valuable. Have
> you subscribed to qpid-users yet? It's probably a little early to
> solicit feedback from them on a design, but I think getting their
> input when you have a functional prototype ready would help a lot.
>
> I'm going to be away for a few days, but will be checking my email
> semi-regularly, I shan't be available via IM until Tuesday
> unfortunately. :/
>
> - Aidan
> --
> aim/y!:aidans42 g:aidan.skinner@gmail.com <g%...@gmail.com>
> http://aidan.skinner.me.uk/
> "We belong to nobody and nobody belongs to us. We don't even belong to
> each other."
>



-- 
East or West
Mahindians are the
Best... !

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
hi james,


On Wed, May 28, 2008 at 7:03 AM, James Pandavan <
james.pandavan@googlemail.com> wrote:

> If it is a simple command line utility you need for capturing attributes,
> wouldn't jmanage help?

I just need to get some features from GNU Readline for my CLI nothing other
than that. I have already written my program using Jline (works fine :-))
and I think we can use BSD License with Apache License(I'm just using that
jar file to get that capability to my command line interface).

Thanks
lahiru

>
> http://www.jmanage.org/wiki/index.php/Command_Line
>
> Or is it that you want this utility to be part of QPID?
>
> Or am I missing the whole point ? :)
>
> - J
>



-- 
East or West
Mahindians are the
Best... !

Re: GSoC - Lahiru's CLI for JMX

Posted by James Pandavan <ja...@googlemail.com>.
If it is a simple command line utility you need for capturing attributes,
wouldn't jmanage help?
http://www.jmanage.org/wiki/index.php/Command_Line

Or is it that you want this utility to be part of QPID?

Or am I missing the whole point ? :)

- J

Re: GSoC - Lahiru's CLI for JMX

Posted by Aidan Skinner <ai...@apache.org>.
On Fri, May 30, 2008 at 6:35 PM, lahiru gunathilake <gl...@gmail.com> wrote:

> I've committed the code and here's the link.
> svn checkout
*http*://lahirugsoc2008.googlecode.com/svn/trunk/lahirugsoc2008-read-only
>  Please go through the README file and try to run the CLI.

Hey, that's awesome! I've had a quick look through the code, and it
looks pretty good. I haven't had a chance to build and run it yet
though.

- Aidan
-- 
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."

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi Aiden,

I've committed the code and here's the link.

# Project members authenticate over HTTPS to allow committing changes.
svn checkout *https*://lahirugsoc2008.googlecode.com/svn/trunk/lahirugsoc2008
--username glahiru

 # Non-members may check out a read-only working copy anonymously over HTTP.
svn checkout *http*://lahirugsoc2008.googlecode.com/svn/trunk/lahirugsoc2008-read-only
 Please go through the README file and try to run the CLI.

On Thu, May 29, 2008 at 2:41 PM, Aidan Skinner <ai...@apache.org> wrote:

> Hi Lahiru, don't worry too ouch about that, tomorrow will be great!
> It's just important to get it somewhere visible so you can get
> feedback on it. Getting a good design together at this stage is
> important, it'll really help later. On a related topic, how are you
> testing this? Getting good test coverage at the start is a really good
> idea since doing it later starts to feel like a chore and is all too
> easily skipped.

Yes I will start writing test cases.

Any thoughts :-)

Regards
lahiru

> Which is a shame since decent unit tests can make wol
> think about the code in a different way and give you the confidence to
> refactor heavily.
>
> On 5/29/08, lahiru gunathilake <gl...@gmail.com> wrote:
> > hi Aiden,
> >
> > I talk to the department and we have to get a real IP in order to use SVN
> > but it will take some time because we haven't got our final year lab up
> and
> > running since my final year started this week. So I will write some more
> > code and will commit to SVN when I go home on friday.
> > I'm designing some better OO design for handing command and I hope I will
> be
> > able to write some more code with that today and tomorrow.
> > Will commit the code friday night :-(
> >
> > If you need it soon I will send you the code to review by an email.
> >
> > sorry for the inconvenience :-(
> >
> > Regards
> > lahiru
> >
> > On Wed, May 28, 2008 at 6:08 PM, lahiru gunathilake <gl...@gmail.com>
> > wrote:
> >
> >> hi Aiden,
> >>
> >> On Wed, May 28, 2008 at 3:04 PM, Aidan Skinner <ai...@apache.org>
> wrote:
> >>
> >>> On Wed, May 28, 2008 at 10:32 AM, lahiru gunathilake <
> glahiru@gmail.com>
> >>> wrote:
> >>>
> >>> > At the moment I can connect to the remote broker and display the
> prompt
> >>> and
> >>> > you can type something and press enter and it will get command in to
> a
> >>> > string every time.
> >>>
> >>> Excellent! That's good work. :)
> >>> I have created a project in Google Code project but since I'm in the
> >>> university right now this damn proxy has blocked most of the ports and
> >>> SVN
> >>> is not working properly and I can't commit my code in to the repo. Now
> >>> it's
> >>> about 6 P.M and most of the people gone and I have to figure this out
> >>> tomorrow and hope to send you the link once I successfully commit the
> >>> code.
> >>>
> >>
> >>
> >>>
> >>> >> Awesome! It would be good to get a look at this, do you have a
> source
> >>> >> repository that we can pull from? If not, it's probably worth
> setting
> >>> >> up a Google Code project for this and using their svn.
> >>> >>
> >>> > Yes I will use google code project.
> >>>
> >>> Sweet, post the URL here and I'll check it out.
> >>
> >> sorry for the inconvenience :-(
> >>
> >>>
> >>>
> >>> - Aidan
> >>> --
> >>> aim/y!:aidans42 g:aidan.skinner@gmail.com<g%...@gmail.com><
> g%3Aaidan.skinner@gmail.com <g%...@gmail.com>>
> >>> http://aidan.skinner.me.uk/
> >>> "We belong to nobody and nobody belongs to us. We don't even belong to
> >>> each other."
> >>>
> >>
> >>
> >>
> >> --
> >> East or West
> >> Mahindians are the
> >> Best... !
> >>
> >
> >
> >
> > --
> > East or West
> > Mahindians are the
> > Best... !
> >
>
> --
> Sent from Google Mail for mobile | mobile.google.com
>
> aim/y!:aidans42  g:aidan.skinner@gmail.com <g%...@gmail.com>
> http://aidan.skinner.me.uk/
> "We belong to nobody and nobody belongs to us. We don't even belong to
> each other."
>



-- 
East or West
Mahindians are the
Best... !

Re: GSoC - Lahiru's CLI for JMX

Posted by Aidan Skinner <ai...@apache.org>.
Hi Lahiru, don't worry too ouch about that, tomorrow will be great!
It's just important to get it somewhere visible so you can get
feedback on it. Getting a good design together at this stage is
important, it'll really help later. On a related topic, how are you
testing this? Getting good test coverage at the start is a really good
idea since doing it later starts to feel like a chore and is all too
easily skipped. Which is a shame since decent unit tests can make wol
think about the code in a different way and give you the confidence to
refactor heavily.

On 5/29/08, lahiru gunathilake <gl...@gmail.com> wrote:
> hi Aiden,
>
> I talk to the department and we have to get a real IP in order to use SVN
> but it will take some time because we haven't got our final year lab up and
> running since my final year started this week. So I will write some more
> code and will commit to SVN when I go home on friday.
> I'm designing some better OO design for handing command and I hope I will be
> able to write some more code with that today and tomorrow.
> Will commit the code friday night :-(
>
> If you need it soon I will send you the code to review by an email.
>
> sorry for the inconvenience :-(
>
> Regards
> lahiru
>
> On Wed, May 28, 2008 at 6:08 PM, lahiru gunathilake <gl...@gmail.com>
> wrote:
>
>> hi Aiden,
>>
>> On Wed, May 28, 2008 at 3:04 PM, Aidan Skinner <ai...@apache.org> wrote:
>>
>>> On Wed, May 28, 2008 at 10:32 AM, lahiru gunathilake <gl...@gmail.com>
>>> wrote:
>>>
>>> > At the moment I can connect to the remote broker and display the prompt
>>> and
>>> > you can type something and press enter and it will get command in to a
>>> > string every time.
>>>
>>> Excellent! That's good work. :)
>>> I have created a project in Google Code project but since I'm in the
>>> university right now this damn proxy has blocked most of the ports and
>>> SVN
>>> is not working properly and I can't commit my code in to the repo. Now
>>> it's
>>> about 6 P.M and most of the people gone and I have to figure this out
>>> tomorrow and hope to send you the link once I successfully commit the
>>> code.
>>>
>>
>>
>>>
>>> >> Awesome! It would be good to get a look at this, do you have a source
>>> >> repository that we can pull from? If not, it's probably worth setting
>>> >> up a Google Code project for this and using their svn.
>>> >>
>>> > Yes I will use google code project.
>>>
>>> Sweet, post the URL here and I'll check it out.
>>
>> sorry for the inconvenience :-(
>>
>>>
>>>
>>> - Aidan
>>> --
>>> aim/y!:aidans42 g:aidan.skinner@gmail.com <g%...@gmail.com>
>>> http://aidan.skinner.me.uk/
>>> "We belong to nobody and nobody belongs to us. We don't even belong to
>>> each other."
>>>
>>
>>
>>
>> --
>> East or West
>> Mahindians are the
>> Best... !
>>
>
>
>
> --
> 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."

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
hi Aiden,

I talk to the department and we have to get a real IP in order to use SVN
but it will take some time because we haven't got our final year lab up and
running since my final year started this week. So I will write some more
code and will commit to SVN when I go home on friday.
I'm designing some better OO design for handing command and I hope I will be
able to write some more code with that today and tomorrow.
Will commit the code friday night :-(

If you need it soon I will send you the code to review by an email.

sorry for the inconvenience :-(

Regards
lahiru

On Wed, May 28, 2008 at 6:08 PM, lahiru gunathilake <gl...@gmail.com>
wrote:

> hi Aiden,
>
> On Wed, May 28, 2008 at 3:04 PM, Aidan Skinner <ai...@apache.org> wrote:
>
>> On Wed, May 28, 2008 at 10:32 AM, lahiru gunathilake <gl...@gmail.com>
>> wrote:
>>
>> > At the moment I can connect to the remote broker and display the prompt
>> and
>> > you can type something and press enter and it will get command in to a
>> > string every time.
>>
>> Excellent! That's good work. :)
>> I have created a project in Google Code project but since I'm in the
>> university right now this damn proxy has blocked most of the ports and SVN
>> is not working properly and I can't commit my code in to the repo. Now it's
>> about 6 P.M and most of the people gone and I have to figure this out
>> tomorrow and hope to send you the link once I successfully commit the code.
>>
>
>
>>
>> >> Awesome! It would be good to get a look at this, do you have a source
>> >> repository that we can pull from? If not, it's probably worth setting
>> >> up a Google Code project for this and using their svn.
>> >>
>> > Yes I will use google code project.
>>
>> Sweet, post the URL here and I'll check it out.
>
> sorry for the inconvenience :-(
>
>>
>>
>> - Aidan
>> --
>> aim/y!:aidans42 g:aidan.skinner@gmail.com <g%...@gmail.com>
>> http://aidan.skinner.me.uk/
>> "We belong to nobody and nobody belongs to us. We don't even belong to
>> each other."
>>
>
>
>
> --
> East or West
> Mahindians are the
> Best... !
>



-- 
East or West
Mahindians are the
Best... !

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
hi Aiden,

On Wed, May 28, 2008 at 3:04 PM, Aidan Skinner <ai...@apache.org> wrote:

> On Wed, May 28, 2008 at 10:32 AM, lahiru gunathilake <gl...@gmail.com>
> wrote:
>
> > At the moment I can connect to the remote broker and display the prompt
> and
> > you can type something and press enter and it will get command in to a
> > string every time.
>
> Excellent! That's good work. :)
> I have created a project in Google Code project but since I'm in the
> university right now this damn proxy has blocked most of the ports and SVN
> is not working properly and I can't commit my code in to the repo. Now it's
> about 6 P.M and most of the people gone and I have to figure this out
> tomorrow and hope to send you the link once I successfully commit the code.
>


>
> >> Awesome! It would be good to get a look at this, do you have a source
> >> repository that we can pull from? If not, it's probably worth setting
> >> up a Google Code project for this and using their svn.
> >>
> > Yes I will use google code project.
>
> Sweet, post the URL here and I'll check it out.

sorry for the inconvenience :-(

>
>
> - Aidan
> --
> aim/y!:aidans42 g:aidan.skinner@gmail.com <g%...@gmail.com>
> http://aidan.skinner.me.uk/
> "We belong to nobody and nobody belongs to us. We don't even belong to
> each other."
>



-- 
East or West
Mahindians are the
Best... !

Re: GSoC - Lahiru's CLI for JMX

Posted by Aidan Skinner <ai...@apache.org>.
On Wed, May 28, 2008 at 10:32 AM, lahiru gunathilake <gl...@gmail.com> wrote:

> At the moment I can connect to the remote broker and display the prompt and
> you can type something and press enter and it will get command in to a
> string every time.

Excellent! That's good work. :)

>> Awesome! It would be good to get a look at this, do you have a source
>> repository that we can pull from? If not, it's probably worth setting
>> up a Google Code project for this and using their svn.
>>
> Yes I will use google code project.

Sweet, post the URL here and I'll check it out.

- Aidan
-- 
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."

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
hi Aiden,

At the moment I can connect to the remote broker and display the prompt and
you can type something and press enter and it will get command in to a
string every time.

On Wed, May 28, 2008 at 2:51 PM, Aidan Skinner <ai...@apache.org> wrote:

> On Tue, May 27, 2008 at 8:26 AM, lahiru gunathilake <gl...@gmail.com>
> wrote:
>
> > Hi marnie and aiden,
> >
> > On 5/22/08, Aidan Skinner <ai...@apache.org> wrote:
>
> >> I think having a shell mode with which the user can interactively
> >> explore the current broker status is a great idea! Have you looked
> >> into whether there are Java libraries which implement GNU readline
> >> like functionality?
>
> >> Yes I found a library which is having BSD License and I started the
> coding
> >> and initially I was able to use the library and write the basic command
> line
> >> interpreter which is capable of reading the commands which user type and
> >> quit from the qpid-admin-$ prompt if user type exit of quit. I think I
> have
> >> to inform you what I am doing once for two days and could you please
> tell me
> >> how should I do that. Is it enough if I drop a mail.
>
> Awesome! It would be good to get a look at this, do you have a source
> repository that we can pull from? If not, it's probably worth setting
> up a Google Code project for this and using their svn.
>
Yes I will use google code project.

Thanks in advance
Regards
lahiru

>
> Thanks!
>
> - Aidan
>
> --
> aim/y!:aidans42 g:aidan.skinner@gmail.com <g%...@gmail.com>
> http://aidan.skinner.me.uk/
> "We belong to nobody and nobody belongs to us. We don't even belong to
> each other."
>



-- 
East or West
Mahindians are the
Best... !

Re: GSoC - Lahiru's CLI for JMX

Posted by Aidan Skinner <ai...@apache.org>.
On Tue, May 27, 2008 at 8:26 AM, lahiru gunathilake <gl...@gmail.com> wrote:

> Hi marnie and aiden,
>
> On 5/22/08, Aidan Skinner <ai...@apache.org> wrote:

>> I think having a shell mode with which the user can interactively
>> explore the current broker status is a great idea! Have you looked
>> into whether there are Java libraries which implement GNU readline
>> like functionality?

>> Yes I found a library which is having BSD License and I started the coding
>> and initially I was able to use the library and write the basic command line
>> interpreter which is capable of reading the commands which user type and
>> quit from the qpid-admin-$ prompt if user type exit of quit. I think I have
>> to inform you what I am doing once for two days and could you please tell me
>> how should I do that. Is it enough if I drop a mail.

Awesome! It would be good to get a look at this, do you have a source
repository that we can pull from? If not, it's probably worth setting
up a Google Code project for this and using their svn.

Thanks!

- Aidan

-- 
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."

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi marnie and aiden,

On 5/22/08, Aidan Skinner <ai...@apache.org> wrote:
>
> On Sun, May 18, 2008 at 11:54 AM, lahiru gunathilake <gl...@gmail.com>
> wrote:
>
> > Here's my basic idea about the project and please treat this as a draft
> SRS
>
> Sorry, I'm not familiar with that acronym, what is SRS?
>
> >   -  First I think I have to figured out what report formats to be given.
> >   May be multiple report formats and user can select one at a time. (And
> I
> >   think you have to tell me we need these report formats and I will
> implement
> >   them).
>
> I think we need to let the user define the report format, it's hard to
> predict users requirements for things like this in advance and giving
> them the flexibility to decide for themselves is generally a good
> move. Having said that, we probably should define some canned reports
> which we can ship both as an example of what the tool can do and for
> general user. Off the top of my head the one I would be most
> interested in would be one showing queue name, queue count, queue
> depth and number of consumers.
>
> >   -  This runs as a daemon and I think this won't be a big thing since we
> >   can use cron to implement this(as Marnie said) or we can use sleep with
> Java
> >   threads and run the same code time to time.
>
> Running via cron is quite different from running as a daemon, one
> starts a new process every time and one keeps a process resident.
>
> >   -  And what data we give in reports ...obviously user have to specify
> it
> >   somehow, may be with command line options or using a configuration file
> and
> >   I prefer use command line options. *I have no idea* about which kind of
> data
> >   user is going get in report format.(Is it like give me all the queue
> details
> >   for each and every five minutes, which means generate 12 reports for an
> hour
> >   and do the same thing until broker is up) am I correct and I need a
> feed
> >   from you about this question.
>
> I think having both a configuration file and command line options
> available is probably the best tactic here, again flexibility is the
> key.
>
> >   -  When user is going to configure which data he need in report format?
> I
> >   thinks when user logged in user have to configure it by some command
> and
> >   each argument have it's default value and then user have to give
> another
> >   command to start the thread.
>
> I think the start command could be wrapped up into the report
> creation, maybe as a --daemon/-d switch or implicitly when they
> specify the frequency with which to run.
>
> >   - Now user is working in interactive mode and if user is interest on
> >   generating reports user have to configure the report generation mode as
> I
> >   discussed with previous section.If user is not interest generating
> reports
> >   user can start on working in interactive mode from the beginning. Or
> user is
> >   only interest on generating reports, after successful configuration of
> the
> >   report generation mode user can type exit command and exit from the
> >   qpid-admin prompt and start the normal work with the command line.
>
> I think having a shell mode with which the user can interactively
> explore the current broker status is a great idea! Have you looked
> into whether there are Java libraries which implement GNU readline
> like functionality?
> Yes I found a library which is having BSD License and I started the coding
> and initially I was able to use the library and write the basic command line
> interpreter which is capable of reading the commands which user type and
> quit from the qpid-admin-$ prompt if user type exit of quit. I think I have
> to inform you what I am doing once for two days and could you please tell me
> how should I do that. Is it enough if I drop a mail.



Thanks
lahiru

>   - We have to figure out what are the list of command we are going to
> >   allow the user to work in interactive mode and what sought of a work it
> does
> >   with each and every command.* I need a feed from you in this location
> >   again*. If you can tell me what are the operations I have to allow
> users to
> >   do in interactive mode then I can create a command name for each
> operation
> >   with appropriate parameters.
>
> I would imagine that it's really a case of list and info for each
> object to start with, and then we can define the more 'active'
> commands (such as clear for a list) when we consider each object.
>
> > May be we can ask these questions from our users as well.
>
> Getting early user feedback on this is going to be very valuable. Have
> you subscribed to qpid-users yet? It's probably a little early to
> solicit feedback from them on a design, but I think getting their
> input when you have a functional prototype ready would help a lot.
>
> I'm going to be away for a few days, but will be checking my email
> semi-regularly, I shan't be available via IM until Tuesday
> unfortunately. :/
>
> - Aidan
> --
> aim/y!:aidans42 g:aidan.skinner@gmail.com <g%...@gmail.com>
> http://aidan.skinner.me.uk/
> "We belong to nobody and nobody belongs to us. We don't even belong to
> each other."
>



-- 
East or West
Mahindians are the
Best... !

Re: GSoC - Lahiru's CLI for JMX

Posted by Aidan Skinner <ai...@apache.org>.
On Sun, May 18, 2008 at 11:54 AM, lahiru gunathilake <gl...@gmail.com> wrote:

> Here's my basic idea about the project and please treat this as a draft SRS

Sorry, I'm not familiar with that acronym, what is SRS?

>   -  First I think I have to figured out what report formats to be given.
>   May be multiple report formats and user can select one at a time. (And I
>   think you have to tell me we need these report formats and I will implement
>   them).

I think we need to let the user define the report format, it's hard to
predict users requirements for things like this in advance and giving
them the flexibility to decide for themselves is generally a good
move. Having said that, we probably should define some canned reports
which we can ship both as an example of what the tool can do and for
general user. Off the top of my head the one I would be most
interested in would be one showing queue name, queue count, queue
depth and number of consumers.

>   -  This runs as a daemon and I think this won't be a big thing since we
>   can use cron to implement this(as Marnie said) or we can use sleep with Java
>   threads and run the same code time to time.

Running via cron is quite different from running as a daemon, one
starts a new process every time and one keeps a process resident.

>   -  And what data we give in reports ...obviously user have to specify it
>   somehow, may be with command line options or using a configuration file and
>   I prefer use command line options. *I have no idea* about which kind of data
>   user is going get in report format.(Is it like give me all the queue details
>   for each and every five minutes, which means generate 12 reports for an hour
>   and do the same thing until broker is up) am I correct and I need a feed
>   from you about this question.

I think having both a configuration file and command line options
available is probably the best tactic here, again flexibility is the
key.

>   -  When user is going to configure which data he need in report format? I
>   thinks when user logged in user have to configure it by some command and
>   each argument have it's default value and then user have to give another
>   command to start the thread.

I think the start command could be wrapped up into the report
creation, maybe as a --daemon/-d switch or implicitly when they
specify the frequency with which to run.

>   - Now user is working in interactive mode and if user is interest on
>   generating reports user have to configure the report generation mode as I
>   discussed with previous section.If user is not interest generating reports
>   user can start on working in interactive mode from the beginning. Or user is
>   only interest on generating reports, after successful configuration of the
>   report generation mode user can type exit command and exit from the
>   qpid-admin prompt and start the normal work with the command line.

I think having a shell mode with which the user can interactively
explore the current broker status is a great idea! Have you looked
into whether there are Java libraries which implement GNU readline
like functionality?

>   - We have to figure out what are the list of command we are going to
>   allow the user to work in interactive mode and what sought of a work it does
>   with each and every command.* I need a feed from you in this location
>   again*. If you can tell me what are the operations I have to allow users to
>   do in interactive mode then I can create a command name for each operation
>   with appropriate parameters.

I would imagine that it's really a case of list and info for each
object to start with, and then we can define the more 'active'
commands (such as clear for a list) when we consider each object.

> May be we can ask these questions from our users as well.

Getting early user feedback on this is going to be very valuable. Have
you subscribed to qpid-users yet? It's probably a little early to
solicit feedback from them on a design, but I think getting their
input when you have a functional prototype ready would help a lot.

I'm going to be away for a few days, but will be checking my email
semi-regularly, I shan't be available via IM until Tuesday
unfortunately. :/

- Aidan
-- 
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."

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi Aiden and Marnie,

Here's my basic idea about the project and please treat this as a draft SRS
of my project.I have uploaded a small diagram which would be helpful to
understand my thoughts.[1] <http://people.apache.org/%7Elahiru/diagram.jpg>.I
think it's better to have a look at it first.

Report Generation Mode
===============


   -  First I think I have to figured out what report formats to be given.
   May be multiple report formats and user can select one at a time. (And I
   think you have to tell me we need these report formats and I will implement
   them).
   -  This runs as a daemon and I think this won't be a big thing since we
   can use cron to implement this(as Marnie said) or we can use sleep with Java
   threads and run the same code time to time.
   -  And what data we give in reports ...obviously user have to specify it
   somehow, may be with command line options or using a configuration file and
   I prefer use command line options. *I have no idea* about which kind of data
   user is going get in report format.(Is it like give me all the queue details
   for each and every five minutes, which means generate 12 reports for an hour
   and do the same thing until broker is up) am I correct and I need a feed
   from you about this question.
   -  When user is going to configure which data he need in report format? I
   thinks when user logged in user have to configure it by some command and
   each argument have it's default value and then user have to give another
   command to start the thread.
   - Like this


   1. qpid-admin:~$ report -i(interval to generate new report in minutes )
   -f (format of the report) -o (output path of the report)      -d(*user have
   to specify how user want to generate report..*) (I think this is not a
   practical thing to do like this some other  clear way would be very useful)
   Please give me a clue
   2. qpid-admin:~$ start



   - *Big issue here is to find a simple way to specify which data user
   wants to get in report format.*


Interactive mode
==========


   - First to start the CLI user have to run a script with two parameters
   then console display the CLI prompt for qpid-admin

==============================================
lahiru@lahiru-laptop:~$ qpid-admin -h localhost<hostname> -p 8999<port>
You have successfully connected with the broker in <hostname> <port>
qpid-admin:~$
==============================================

   - Now user is working in interactive mode and if user is interest on
   generating reports user have to configure the report generation mode as I
   discussed with previous section.If user is not interest generating reports
   user can start on working in interactive mode from the beginning. Or user is
   only interest on generating reports, after successful configuration of the
   report generation mode user can type exit command and exit from the
   qpid-admin prompt and start the normal work with the command line.


   - In the interactive mode user is allow to run number of commands and I
   have to figure what are they and what they do. As marnie discussed we can
   allow commands like list and info.


qpid-admin:~$ list all <list all the mbeans only>

qpid-admin:~$ list -queue <list names of all the queues>

 In here queue is only one object type and we can define some      more
object types and if user specify particular object type we can list abject
names of that particular object type.

qpid-admin:~$ list domains <list all the available domains>

qpid-admin:~$ info <name of object>

This display all the attribute names and attribute value of the given object
name and if user wants only a give attribute value to display user have to
specify the attribute name of that attribute.

qpid-admin:~$ info object_name attribute_name (this display the value of the
attribute of the given object)


   - So in here I'm discussing only about two commands and in this mode we
   only have one thing to figure out.
   - We have to figure out what are the list of command we are going to
   allow the user to work in interactive mode and what sought of a work it does
   with each and every command.* I need a feed from you in this location
   again*. If you can tell me what are the operations I have to allow users to
   do in interactive mode then I can create a command name for each operation
   with appropriate parameters.


May be we can ask these questions from our users as well.

And please feel free to correct me if I'm going in a wrong path and please
feel free to flame my thoughts if it's necessary it would really helpful for
me to make my project successful.

Aiden- Thanks a lot for advising me to create a structure of the project and
it's really helpful for me understand my project in rock solid way.

Thanks in advance

[1]: http://people.apache.org/~lahiru/diagram.jpg<http://people.apache.org/%7Elahiru/diagram.jpg>

Regards
Lahiru

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
HI Aiden,

Thanks a lot for the reply and as you said I have to think about a structure
of the project and think from the users side and honestly that's what I was
doing today morning and I have certain questions on and certain suggestions
as well and need a feed from you and Marnie.

On Fri, May 16, 2008 at 3:13 PM, Aidan Skinner <ai...@apache.org> wrote:

> On Fri, May 16, 2008 at 6:54 AM, lahiru gunathilake <gl...@gmail.com>
> wrote:
>
> > On Thu, May 15, 2008 at 9:59 PM, Marnie McCormack <
> > marnie.mccormack@googlemail.com> wrote:
>
> >> sure this is possible.I have already develop a util  package which is
> >> capable of handling any option and I just have to add some code when I
> want
> >> to add new option and I can use that to make the required task to happen
> >> with the new option.
>
> What package are you using for this? What does it provide over, say,
> commons-cli?

I wrote a package called util which handle options. As an example for now
options are like this(this is the command I used to run it with options)
javac -h localhost -p 8999 -i 4000 -o /home/lahiru/

I put all the default values for the options.
-h - hostname of the broker you are going to monitor
-p - port number
-i - time interval user wants to get informations to extract
-o - output location of the file which writes the output

This is what I wrote in my package I wrote which is handling different
options.

>
>
> > Yes that's true I just got all the attributes to check what's going on
> > inside JMX instrumentation in Qpid. I think we have to take all the
> mbeans
> > and all the attributes in to a single object and give the whatever
> > information user ask time to time.
>
> It depends on how you implement it, for a simple one shot command it
> probably makes sense to only query the objects that you need to
> provide the data. For a more complicated report you may need to query
> several objects, I don't see why you would munge them all together
> though.

Sorry here, me too think no need to do that since we are having the
MBeanServerConnection object with us so any time we can query for fresh
information.

>
>
> > I will send you a list of things I'm going to do in next two week
> today..!
> > Please tell me any thing wrong with my idea or am I going in a wrong
> > direction...
>
> I think you probably want to step back a little and think about what
> you're going to do, and how, rather than leaping into the doing part
> feet first. Coding isn't due to start in earnest until the 26th, so
> you have some time to consider what you're doing. Planning is
> important, particularly when you're talking about a relatively large
> chunk of work like this. Having a prototype is good, but it's no
> substitute for really taking the time to learn about problem domain. I
> think it would be worthwhile to have a think about this from the users
> perspective and ask yourself questions from the point of view of a
> system admin, things like "what information would I want to get out of
> the broker?""What would I want to feed this data too? Is it easily
> awk'able?" "How can I get this written to a logfile that I can use to
> monitor the state of the broker?"

Thanks aiden, I will write about the structure I created with my project and
honestly I started on developing it from the day I had a chat with you and I
changed it time to time with the feed I got from you and marnie.
hope to send it tomorrow.

Thanks in advance

Regards
lahiru

>
>
> - Aidan
> --
> aim/y!:aidans42 g:aidan.skinner@gmail.com <g%...@gmail.com>
> http://aidan.skinner.me.uk/
> "We belong to nobody and nobody belongs to us. We don't even belong to
> each other."
>



--

Re: GSoC - Lahiru's CLI for JMX

Posted by Aidan Skinner <ai...@apache.org>.
On Fri, May 16, 2008 at 6:54 AM, lahiru gunathilake <gl...@gmail.com> wrote:

> On Thu, May 15, 2008 at 9:59 PM, Marnie McCormack <
> marnie.mccormack@googlemail.com> wrote:

>> sure this is possible.I have already develop a util  package which is
>> capable of handling any option and I just have to add some code when I want
>> to add new option and I can use that to make the required task to happen
>> with the new option.

What package are you using for this? What does it provide over, say,
commons-cli?

> Yes that's true I just got all the attributes to check what's going on
> inside JMX instrumentation in Qpid. I think we have to take all the mbeans
> and all the attributes in to a single object and give the whatever
> information user ask time to time.

It depends on how you implement it, for a simple one shot command it
probably makes sense to only query the objects that you need to
provide the data. For a more complicated report you may need to query
several objects, I don't see why you would munge them all together
though.

> I will send you a list of things I'm going to do in next two week today..!
> Please tell me any thing wrong with my idea or am I going in a wrong
> direction...

I think you probably want to step back a little and think about what
you're going to do, and how, rather than leaping into the doing part
feet first. Coding isn't due to start in earnest until the 26th, so
you have some time to consider what you're doing. Planning is
important, particularly when you're talking about a relatively large
chunk of work like this. Having a prototype is good, but it's no
substitute for really taking the time to learn about problem domain. I
think it would be worthwhile to have a think about this from the users
perspective and ask yourself questions from the point of view of a
system admin, things like "what information would I want to get out of
the broker?" "What would I want to feed this data too? Is it easily
awk'able?" "How can I get this written to a logfile that I can use to
monitor the state of the broker?"

- Aidan
-- 
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."

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
HI marnie and Aiden,


On Thu, May 15, 2008 at 9:59 PM, 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
> sure this is possible.I have already develop a util  package which is
> capable of handling any option and I just have to add some code when I want
> to add new option and I can use that to make the required task to happen
> with the new option.

And one question  Depth Count Subscribers are attributes of queue object and
with exact attribute names those are like this

Depth : QueueDepth
Count:  RecieveMessageCount or MessageCount (please tell me what is the
exact attribute name)
Subscribers: ConsumerCount or ActiveConsumerCount (please tell me what is
the exact attribute name)

>
> 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


Yes that's true I just got all the attributes to check what's going on
inside JMX instrumentation in Qpid. I think we have to take all the mbeans
and all the attributes in to a single object and give the whatever
information user ask time to time.

Normally we connect with the remote broker and take the information once
then user do certain operations and other things with that data and we have
to take updated information again from the broker and how do we implement
it. If it's gonna happen using a daemon user have no idea when the
information get update so I think user can give a command like refresh to
take new information or if user don't want to give any commands and if he
wants to run this completely as a daemon user have to tell what are the
information he need so we can write the output in to files with a user given
time interval.

And If user is interacting with the system all the time we can write the
output to a file for now and allow different options to use by running a
daemon to read input from the command line.

I will send you a list of things I'm going to do in next two week today..!
Please tell me any thing wrong with my idea or am I going in a wrong
direction...

Thanks in advance.

>
> Regards

lahiru

>
> Rgds,
> Marnie
>
> On 5/14/08, lahiru gunathilake <gl...@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 <gl...@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 <ai...@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... !
> >
>



-- 
East or West
Mahindians are the
Best... !

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
small typo in my previous mail.

On Thu, Jun 26, 2008 at 3:13 PM, lahiru gunathilake <gl...@gmail.com>
wrote:

> Hi Marnie and Aidan,
>
> On Thu, Jun 26, 2008 at 10:04 AM, lahiru gunathilake <gl...@gmail.com>
> wrote:
>
>> Hi Marnie,
>>
>> On Mon, Jun 16, 2008 at 1:21 PM, Marnie McCormack <
>> marnie.mccormack@googlemail.com> wrote:
>>
>>> Hi Lahiru,
>>>
>>> I think the ability to list the following would be helpful:
>>>
>>> - virtualhosts
>>> - connections (with originating IP)
>>>
>> Still going through the qpid code to find why ProtocolSessionMBean is not
>> registered. Although It's has been instrumented that code is not running
>> when server starts. I'm trying figure that out :-(
>>
> I change the code of Qpid broker and now we can monitor Connection but I
> can't (*typo*)
>
see any value of that since I myself created the Object and registered when
> broker get start. So no user is having any value of that object but there's
> a useful class called AMQPFastProtocolHandler if you want I can instrument
> it. Still I'm having that confusion of which consumers or which publisher do
> I have to instrument. If you can tell me exactl class name I can instrument
> all of them register them each and every place those objects are creating.
>
>>
>>
>>> - consumers (with queue/topic/selector details ?)
>>> - publishers (ditto)
>>
>> I have instrumented the Jmsconsumer.java Class and I couldn't find a usage
>> of that class and no way to register with the mbeanserver :-(
>>
> And this intrumentation is become obsolete since this object is not using
> any place of the qpid code. Please tell me what are the exact classs types
> you meant by consumers, publishers and connections.
>
> Waiting for an anser with pleasure to write code in to qpid code base. (I'm
> think now I'm having reasonable knowledge  management code :-) ).
>
> Thankd in advanced
> Regards
> Lahiru
>
>>
>>
>> Regards
>> Lahiru
>>
>>>
>>> - thresholds for a queue/virtualhosts i.e. the configured MAX_QUEUE_DEPTH
>>> etc as defined in the virtualhosts.xml ?
>>>
>>> I'll have a better think about what else might be useful for a user to be
>>> able to see. Might also be an idea to have a look at what else Hermes
>>> displays (for example) as a generic pointer ?
>>>
>>> Hth !
>>>
>>> Kind Regards,
>>> Marnie
>>>
>>>
>>>
>>>
>>> On 6/16/08, lahiru gunathilake <gl...@gmail.com> wrote:
>>> >
>>> > hi Aidan and Marnie,
>>> >
>>> > On Thu, May 15, 2008 at 9:59 PM, 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
>>> > >
>>> > Other than the queue object what else you want to use with list command
>>> and
>>> > I can implement them.With the list command it display all the important
>>> > information so what would info command do. I think no need to implement
>>> > another command. And I will implement some options to list command like
>>> > list -d <display all the domains >
>>> >
>>> > Do you want me to do some more stuff with these commands in the
>>> interactive
>>> > mode. So if you have some more I can implement them and we can probably
>>> ask
>>> > from users what they want by letting them to use this by committing
>>> this
>>> > code in to SVN.
>>> >
>>> > Any thoughts what should I do next.
>>> >
>>> > Regards
>>> > Lahiru
>>> >
>>> > >
>>> > > $ 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 <gl...@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 <ai...@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... !
>>> > > >
>>> > >
>>> >
>>>
>>
>>
>

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi Marnie and Aidan,

On Thu, Jun 26, 2008 at 10:04 AM, lahiru gunathilake <gl...@gmail.com>
wrote:

> Hi Marnie,
>
> On Mon, Jun 16, 2008 at 1:21 PM, Marnie McCormack <
> marnie.mccormack@googlemail.com> wrote:
>
>> Hi Lahiru,
>>
>> I think the ability to list the following would be helpful:
>>
>> - virtualhosts
>> - connections (with originating IP)
>>
> Still going through the qpid code to find why ProtocolSessionMBean is not
> registered. Although It's has been instrumented that code is not running
> when server starts. I'm trying figure that out :-(
>
I change the code of Qpid broker and now we can monitor Connection but I can
see any value of that since I myself created the Object and registered when
broker get start. So no user is having any value of that object but there's
a useful class called AMQPFastProtocolHandler if you want I can instrument
it. Still I'm having that confusion of which consumers or which publisher do
I have to instrument. If you can tell me exactl class name I can instrument
all of them register them each and every place those objects are creating.

>
>
>> - consumers (with queue/topic/selector details ?)
>> - publishers (ditto)
>
> I have instrumented the Jmsconsumer.java Class and I couldn't find a usage
> of that class and no way to register with the mbeanserver :-(
>
And this intrumentation is become obsolete since this object is not using
any place of the qpid code. Please tell me what are the exact classs types
you meant by consumers, publishers and connections.

Waiting for an anser with pleasure to write code in to qpid code base. (I'm
think now I'm having reasonable knowledge  management code :-) ).

Thankd in advanced
Regards
Lahiru

>
>
> Regards
> Lahiru
>
>>
>> - thresholds for a queue/virtualhosts i.e. the configured MAX_QUEUE_DEPTH
>> etc as defined in the virtualhosts.xml ?
>>
>> I'll have a better think about what else might be useful for a user to be
>> able to see. Might also be an idea to have a look at what else Hermes
>> displays (for example) as a generic pointer ?
>>
>> Hth !
>>
>> Kind Regards,
>> Marnie
>>
>>
>>
>>
>> On 6/16/08, lahiru gunathilake <gl...@gmail.com> wrote:
>> >
>> > hi Aidan and Marnie,
>> >
>> > On Thu, May 15, 2008 at 9:59 PM, 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
>> > >
>> > Other than the queue object what else you want to use with list command
>> and
>> > I can implement them.With the list command it display all the important
>> > information so what would info command do. I think no need to implement
>> > another command. And I will implement some options to list command like
>> > list -d <display all the domains >
>> >
>> > Do you want me to do some more stuff with these commands in the
>> interactive
>> > mode. So if you have some more I can implement them and we can probably
>> ask
>> > from users what they want by letting them to use this by committing this
>> > code in to SVN.
>> >
>> > Any thoughts what should I do next.
>> >
>> > Regards
>> > Lahiru
>> >
>> > >
>> > > $ 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 <gl...@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 <ai...@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... !
>> > > >
>> > >
>> >
>>
>
>

Re: GSoC - Lahiru's CLI for JMX

Posted by Martin Ritchie <ri...@apache.org>.
2008/6/26 lahiru gunathilake <gl...@gmail.com>:
> Hi Martin,
>
> On Thu, Jun 26, 2008 at 4:57 PM, Martin Ritchie <ri...@apache.org> wrote:
>
>> 2008/6/26 lahiru gunathilake <gl...@gmail.com>:
>> > Hi Marnie,
>> >
>> > On Mon, Jun 16, 2008 at 1:21 PM, Marnie McCormack <
>> > marnie.mccormack@googlemail.com> wrote:
>> >
>> >> Hi Lahiru,
>> >>
>> >> I think the ability to list the following would be helpful:
>> >>
>> >> - virtualhosts
>> >> - connections (with originating IP)
>> >
>> > Still going through the qpid code to find why ProtocolSessionMBean is not
>> > registered. Although It's has been instrumented that code is not running
>> > when server starts. I'm trying figure that out :-(
>>
>> The AMQProtocolSessionMBeans are created and registered when a client
>> connects. If you don't have a connected client then you will not see
>> them in JConsole.
>>
>> If you connect up JConsole and look at the org.apache.qpid MBeans a
>> Virtualhost.Connection tree should appear when you connect a client.
>>
>> I find editing example simple.point2point.Simple easiest. Adding a
>> delay or a wait in the shutdownCleanly() will keep the connection open
>> so you can see the MBean appear in JConsole.
>>
>> Let me know if that doesn't work for you.
>>
> Yep, sure I will try to do that and see.
>
>>
>> Cheers
>> Martin
>>
>>
>> >>
>> >> - consumers (with queue/topic/selector details ?)
>> >> - publishers (ditto)
>> >
>> > I have instrumented the Jmsconsumer.java Class and I couldn't find a
>> usage
>> > of that class and no way to register with the mbeanserver :-(
>> >
>> > Regards
>> > Lahiru
>> >
>> >>
>> >> - thresholds for a queue/virtualhosts i.e. the configured
>> MAX_QUEUE_DEPTH
>> >> etc as defined in the virtualhosts.xml ?
>> >>
>> >> I'll have a better think about what else might be useful for a user to
>> be
>> >> able to see. Might also be an idea to have a look at what else Hermes
>> >> displays (for example) as a generic pointer ?
>> >>
>> >> Hth !
>> >>
>> >> Kind Regards,
>> >> Marnie
>> >>
>> >>
>> >>
>> >>
>> >> On 6/16/08, lahiru gunathilake <gl...@gmail.com> wrote:
>> >> >
>> >> > hi Aidan and Marnie,
>> >> >
>> >> > On Thu, May 15, 2008 at 9:59 PM, 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
>> >> > >
>> >> > Other than the queue object what else you want to use with list
>> command
>> >> and
>> >> > I can implement them.With the list command it display all the
>> important
>> >> > information so what would info command do. I think no need to
>> implement
>> >> > another command. And I will implement some options to list command
>> like
>> >> > list -d <display all the domains >
>> >> >
>> >> > Do you want me to do some more stuff with these commands in the
>> >> interactive
>> >> > mode. So if you have some more I can implement them and we can
>> probably
>> >> ask
>> >> > from users what they want by letting them to use this by committing
>> this
>> >> > code in to SVN.
>> >> >
>> >> > Any thoughts what should I do next.
>> >> >
>> >> > Regards
>> >> > Lahiru
>> >> >
>> >> > >
>> >> > > $ 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 <gl...@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... !
>> >> > > >
>> >> > >
>> >> >
>> >>
>> >
>>
>>
>>
>> --
>> Martin Ritchie
>>

Lahiru,

To monitor Consumers you will need to create an MBean associated with
a SubscriptionImpl (org.apache.qpid.server.subscription)
you can relate this back to the connection via the protocolSession in
the constructor.

In addition to providing access to the member variables for the
Subscriptions providing the following would be useful.
 - The type of subscription, Ack|NoAck|Browser Subscription
 - The last time a message was sent to the subscription

The broker does not have the notion of a Producer so more thought will
be required about what information we need to record any how. The only
thing that we can currently tell is that messages are published via
the BasicPublishMethodHandler. What ever we do we will want it to be a
low performance overhead as this is the critical path for message
publishing.

I would think the following would be good to record.
 - The time of the last exchange|routing-key published to
 - The total number of messages published to each exchange|routing-key pairing.
 - The total number of messages published on the channel & connection

This information would probably be best added to the AMQProtocolSessionMBean.

Let me know if you have any questions

Cheers

Martin

-- 
Martin Ritchie

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi Martin,

On Thu, Jun 26, 2008 at 4:57 PM, Martin Ritchie <ri...@apache.org> wrote:

> 2008/6/26 lahiru gunathilake <gl...@gmail.com>:
> > Hi Marnie,
> >
> > On Mon, Jun 16, 2008 at 1:21 PM, Marnie McCormack <
> > marnie.mccormack@googlemail.com> wrote:
> >
> >> Hi Lahiru,
> >>
> >> I think the ability to list the following would be helpful:
> >>
> >> - virtualhosts
> >> - connections (with originating IP)
> >
> > Still going through the qpid code to find why ProtocolSessionMBean is not
> > registered. Although It's has been instrumented that code is not running
> > when server starts. I'm trying figure that out :-(
>
> The AMQProtocolSessionMBeans are created and registered when a client
> connects. If you don't have a connected client then you will not see
> them in JConsole.
>
> If you connect up JConsole and look at the org.apache.qpid MBeans a
> Virtualhost.Connection tree should appear when you connect a client.
>
> I find editing example simple.point2point.Simple easiest. Adding a
> delay or a wait in the shutdownCleanly() will keep the connection open
> so you can see the MBean appear in JConsole.
>
> Let me know if that doesn't work for you.
>
Yep, sure I will try to do that and see.

>
> Cheers
> Martin
>
>
> >>
> >> - consumers (with queue/topic/selector details ?)
> >> - publishers (ditto)
> >
> > I have instrumented the Jmsconsumer.java Class and I couldn't find a
> usage
> > of that class and no way to register with the mbeanserver :-(
> >
> > Regards
> > Lahiru
> >
> >>
> >> - thresholds for a queue/virtualhosts i.e. the configured
> MAX_QUEUE_DEPTH
> >> etc as defined in the virtualhosts.xml ?
> >>
> >> I'll have a better think about what else might be useful for a user to
> be
> >> able to see. Might also be an idea to have a look at what else Hermes
> >> displays (for example) as a generic pointer ?
> >>
> >> Hth !
> >>
> >> Kind Regards,
> >> Marnie
> >>
> >>
> >>
> >>
> >> On 6/16/08, lahiru gunathilake <gl...@gmail.com> wrote:
> >> >
> >> > hi Aidan and Marnie,
> >> >
> >> > On Thu, May 15, 2008 at 9:59 PM, 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
> >> > >
> >> > Other than the queue object what else you want to use with list
> command
> >> and
> >> > I can implement them.With the list command it display all the
> important
> >> > information so what would info command do. I think no need to
> implement
> >> > another command. And I will implement some options to list command
> like
> >> > list -d <display all the domains >
> >> >
> >> > Do you want me to do some more stuff with these commands in the
> >> interactive
> >> > mode. So if you have some more I can implement them and we can
> probably
> >> ask
> >> > from users what they want by letting them to use this by committing
> this
> >> > code in to SVN.
> >> >
> >> > Any thoughts what should I do next.
> >> >
> >> > Regards
> >> > Lahiru
> >> >
> >> > >
> >> > > $ 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 <gl...@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... !
> >> > > >
> >> > >
> >> >
> >>
> >
>
>
>
> --
> Martin Ritchie
>

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi Aidan,

On Mon, Jul 7, 2008 at 7:10 PM, Aidan Skinner <ai...@apache.org> wrote:

> On Mon, Jul 7, 2008 at 2:27 PM, lahiru gunathilake <gl...@gmail.com>
> wrote:
>
> > I have done following things for the release.
> [...]
> > I have already added ant target for creating a jar file. Aidan please
> have a
> > look in to that ant target to see if there is anything else to add for
> that
> > target.
>
> Hey, just tried it all out, looking pretty good! :)
>
> If you change qpid-cli so that it uses the jar and then package it all
> up I think you're good to go! It's probably worth putting a link to
> the your website in README, along with instructions on how to file
> bugs.

yes added these information and added separate instructions for source
release users and binary release users. I have packed tar.gz with source and
binary release and release number is 0.1 and created a download page in
Google code project could you please have a look at two releases.

Thanks in advance
Regards
Lahiru

>
>
> For reference, I would imagine that you'd distribute a tar.gz with
> something like
> bin/qpid-cli
> lib/jline-0.9.94.jar
> lib/qid-cli-0.90.jar
> README
>
> - Aidan
> --
> Apache Qpid - World Domination through Advanced Message Queueing
> http://cwiki.apache.org/qpid
>

Re: GSoC - Lahiru's CLI for JMX

Posted by Aidan Skinner <ai...@apache.org>.
On Mon, Jul 7, 2008 at 2:27 PM, lahiru gunathilake <gl...@gmail.com> wrote:

> I have done following things for the release.
[...]
> I have already added ant target for creating a jar file. Aidan please have a
> look in to that ant target to see if there is anything else to add for that
> target.

Hey, just tried it all out, looking pretty good! :)

If you change qpid-cli so that it uses the jar and then package it all
up I think you're good to go! It's probably worth putting a link to
the your website in README, along with instructions on how to file
bugs.

For reference, I would imagine that you'd distribute a tar.gz with
something like
bin/qpid-cli
lib/jline-0.9.94.jar
lib/qid-cli-0.90.jar
README

- Aidan
-- 
Apache Qpid - World Domination through Advanced Message Queueing
http://cwiki.apache.org/qpid

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi Aidan and Marnie,

I have done following things for the release.

Implement --help option for list command.
Implement separate help command to CLI.
Created a wiki page with the topic of how to build Apache Qpid CLI.
Added another ant target to ant build script to run all the test cases.Now
user can run all the test cases using ant.
I have already added ant target for creating a jar file. Aidan please have a
look in to that ant target to see if there is anything else to add for that
target.
Any thoughts please.
Regards
Lahiru

On Fri, Jun 27, 2008 at 8:22 AM, lahiru gunathilake <gl...@gmail.com>
wrote:

> hi Martin and Aidan,
>
>
> On Thu, Jun 26, 2008 at 4:57 PM, Martin Ritchie <ri...@apache.org>
> wrote:
>
>> 2008/6/26 lahiru gunathilake <gl...@gmail.com>:
>> > Hi Marnie,
>> >
>> > On Mon, Jun 16, 2008 at 1:21 PM, Marnie McCormack <
>> > marnie.mccormack@googlemail.com> wrote:
>> >
>> >> Hi Lahiru,
>> >>
>> >> I think the ability to list the following would be helpful:
>> >>
>> >> - virtualhosts
>> >> - connections (with originating IP)
>> >
>> > Still going through the qpid code to find why ProtocolSessionMBean is
>> not
>> > registered. Although It's has been instrumented that code is not running
>> > when server starts. I'm trying figure that out :-(
>>
>> The AMQProtocolSessionMBeans are created and registered when a client
>> connects. If you don't have a connected client then you will not see
>> them in JConsole.
>
>
> If you connect up JConsole and look at the org.apache.qpid MBeans a
>
>> Virtualhost.Connection tree should appear when you connect a client.
>
>
> Exactly it works fine I ran the client like this with M2 broker
>  ./runSample.sh
> org.apache.qpid.example.subscriber.MonitoredSubscriptionWrapper
> Thanks Martin for the instruction :-)
>
> And hopefully It showed me the VirtualHost.Connection MBean.
>
> Aidan, as I told you I was able to implement the support for Connection
> objects  and tested the command by running clients and it works fine :-) and
> committed the code in to SVN. Now I will start on writing tests for all the
> methods.
>
> Regards
> Lahiru
>
>>
>>
>> I find editing example simple.point2point.Simple easiest. Adding a
>> delay or a wait in the shutdownCleanly() will keep the connection open
>> so you can see the MBean appear in JConsole.
>>
>> Let me know if that doesn't work for you.
>>
>> Cheers
>> Martin
>>
>>
>> >>
>> >> - consumers (with queue/topic/selector details ?)
>> >> - publishers (ditto)
>> >
>> > I have instrumented the Jmsconsumer.java Class and I couldn't find a
>> usage
>> > of that class and no way to register with the mbeanserver :-(
>> >
>> > Regards
>> > Lahiru
>> >
>> >>
>> >> - thresholds for a queue/virtualhosts i.e. the configured
>> MAX_QUEUE_DEPTH
>> >> etc as defined in the virtualhosts.xml ?
>> >>
>> >> I'll have a better think about what else might be useful for a user to
>> be
>> >> able to see. Might also be an idea to have a look at what else Hermes
>> >> displays (for example) as a generic pointer ?
>> >>
>> >> Hth !
>> >>
>> >> Kind Regards,
>> >> Marnie
>> >>
>> >>
>> >>
>> >>
>> >> On 6/16/08, lahiru gunathilake <gl...@gmail.com> wrote:
>> >> >
>> >> > hi Aidan and Marnie,
>> >> >
>> >> > On Thu, May 15, 2008 at 9:59 PM, 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
>> >> > >
>> >> > Other than the queue object what else you want to use with list
>> command
>> >> and
>> >> > I can implement them.With the list command it display all the
>> important
>> >> > information so what would info command do. I think no need to
>> implement
>> >> > another command. And I will implement some options to list command
>> like
>> >> > list -d <display all the domains >
>> >> >
>> >> > Do you want me to do some more stuff with these commands in the
>> >> interactive
>> >> > mode. So if you have some more I can implement them and we can
>> probably
>> >> ask
>> >> > from users what they want by letting them to use this by committing
>> this
>> >> > code in to SVN.
>> >> >
>> >> > Any thoughts what should I do next.
>> >> >
>> >> > Regards
>> >> > Lahiru
>> >> >
>> >> > >
>> >> > > $ 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 <gl...@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... !
>> >> > > >
>> >> > >
>> >> >
>> >>
>> >
>>
>>
>>
>> --
>> Martin Ritchie
>>
>
>

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
hi Martin and Aidan,


On Thu, Jun 26, 2008 at 4:57 PM, Martin Ritchie <ri...@apache.org> wrote:

> 2008/6/26 lahiru gunathilake <gl...@gmail.com>:
> > Hi Marnie,
> >
> > On Mon, Jun 16, 2008 at 1:21 PM, Marnie McCormack <
> > marnie.mccormack@googlemail.com> wrote:
> >
> >> Hi Lahiru,
> >>
> >> I think the ability to list the following would be helpful:
> >>
> >> - virtualhosts
> >> - connections (with originating IP)
> >
> > Still going through the qpid code to find why ProtocolSessionMBean is not
> > registered. Although It's has been instrumented that code is not running
> > when server starts. I'm trying figure that out :-(
>
> The AMQProtocolSessionMBeans are created and registered when a client
> connects. If you don't have a connected client then you will not see
> them in JConsole.


If you connect up JConsole and look at the org.apache.qpid MBeans a

> Virtualhost.Connection tree should appear when you connect a client.


Exactly it works fine I ran the client like this with M2 broker
 ./runSample.sh
org.apache.qpid.example.subscriber.MonitoredSubscriptionWrapper
Thanks Martin for the instruction :-)

And hopefully It showed me the VirtualHost.Connection MBean.

Aidan, as I told you I was able to implement the support for Connection
objects  and tested the command by running clients and it works fine :-) and
committed the code in to SVN. Now I will start on writing tests for all the
methods.

Regards
Lahiru

>
>
> I find editing example simple.point2point.Simple easiest. Adding a
> delay or a wait in the shutdownCleanly() will keep the connection open
> so you can see the MBean appear in JConsole.
>
> Let me know if that doesn't work for you.
>
> Cheers
> Martin
>
>
> >>
> >> - consumers (with queue/topic/selector details ?)
> >> - publishers (ditto)
> >
> > I have instrumented the Jmsconsumer.java Class and I couldn't find a
> usage
> > of that class and no way to register with the mbeanserver :-(
> >
> > Regards
> > Lahiru
> >
> >>
> >> - thresholds for a queue/virtualhosts i.e. the configured
> MAX_QUEUE_DEPTH
> >> etc as defined in the virtualhosts.xml ?
> >>
> >> I'll have a better think about what else might be useful for a user to
> be
> >> able to see. Might also be an idea to have a look at what else Hermes
> >> displays (for example) as a generic pointer ?
> >>
> >> Hth !
> >>
> >> Kind Regards,
> >> Marnie
> >>
> >>
> >>
> >>
> >> On 6/16/08, lahiru gunathilake <gl...@gmail.com> wrote:
> >> >
> >> > hi Aidan and Marnie,
> >> >
> >> > On Thu, May 15, 2008 at 9:59 PM, 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
> >> > >
> >> > Other than the queue object what else you want to use with list
> command
> >> and
> >> > I can implement them.With the list command it display all the
> important
> >> > information so what would info command do. I think no need to
> implement
> >> > another command. And I will implement some options to list command
> like
> >> > list -d <display all the domains >
> >> >
> >> > Do you want me to do some more stuff with these commands in the
> >> interactive
> >> > mode. So if you have some more I can implement them and we can
> probably
> >> ask
> >> > from users what they want by letting them to use this by committing
> this
> >> > code in to SVN.
> >> >
> >> > Any thoughts what should I do next.
> >> >
> >> > Regards
> >> > Lahiru
> >> >
> >> > >
> >> > > $ 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 <gl...@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... !
> >> > > >
> >> > >
> >> >
> >>
> >
>
>
>
> --
> Martin Ritchie
>

Re: GSoC - Lahiru's CLI for JMX

Posted by Martin Ritchie <ri...@apache.org>.
2008/6/26 lahiru gunathilake <gl...@gmail.com>:
> Hi Marnie,
>
> On Mon, Jun 16, 2008 at 1:21 PM, Marnie McCormack <
> marnie.mccormack@googlemail.com> wrote:
>
>> Hi Lahiru,
>>
>> I think the ability to list the following would be helpful:
>>
>> - virtualhosts
>> - connections (with originating IP)
>
> Still going through the qpid code to find why ProtocolSessionMBean is not
> registered. Although It's has been instrumented that code is not running
> when server starts. I'm trying figure that out :-(

The AMQProtocolSessionMBeans are created and registered when a client
connects. If you don't have a connected client then you will not see
them in JConsole.

If you connect up JConsole and look at the org.apache.qpid MBeans a
Virtualhost.Connection tree should appear when you connect a client.

I find editing example simple.point2point.Simple easiest. Adding a
delay or a wait in the shutdownCleanly() will keep the connection open
so you can see the MBean appear in JConsole.

Let me know if that doesn't work for you.

Cheers
Martin


>>
>> - consumers (with queue/topic/selector details ?)
>> - publishers (ditto)
>
> I have instrumented the Jmsconsumer.java Class and I couldn't find a usage
> of that class and no way to register with the mbeanserver :-(
>
> Regards
> Lahiru
>
>>
>> - thresholds for a queue/virtualhosts i.e. the configured MAX_QUEUE_DEPTH
>> etc as defined in the virtualhosts.xml ?
>>
>> I'll have a better think about what else might be useful for a user to be
>> able to see. Might also be an idea to have a look at what else Hermes
>> displays (for example) as a generic pointer ?
>>
>> Hth !
>>
>> Kind Regards,
>> Marnie
>>
>>
>>
>>
>> On 6/16/08, lahiru gunathilake <gl...@gmail.com> wrote:
>> >
>> > hi Aidan and Marnie,
>> >
>> > On Thu, May 15, 2008 at 9:59 PM, 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
>> > >
>> > Other than the queue object what else you want to use with list command
>> and
>> > I can implement them.With the list command it display all the important
>> > information so what would info command do. I think no need to implement
>> > another command. And I will implement some options to list command like
>> > list -d <display all the domains >
>> >
>> > Do you want me to do some more stuff with these commands in the
>> interactive
>> > mode. So if you have some more I can implement them and we can probably
>> ask
>> > from users what they want by letting them to use this by committing this
>> > code in to SVN.
>> >
>> > Any thoughts what should I do next.
>> >
>> > Regards
>> > Lahiru
>> >
>> > >
>> > > $ 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 <gl...@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 <ai...@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... !
>> > > >
>> > >
>> >
>>
>



-- 
Martin Ritchie

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi Marnie,

On Mon, Jun 16, 2008 at 1:21 PM, Marnie McCormack <
marnie.mccormack@googlemail.com> wrote:

> Hi Lahiru,
>
> I think the ability to list the following would be helpful:
>
> - virtualhosts
> - connections (with originating IP)

Still going through the qpid code to find why ProtocolSessionMBean is not
registered. Although It's has been instrumented that code is not running
when server starts. I'm trying figure that out :-(

>
> - consumers (with queue/topic/selector details ?)
> - publishers (ditto)

I have instrumented the Jmsconsumer.java Class and I couldn't find a usage
of that class and no way to register with the mbeanserver :-(

Regards
Lahiru

>
> - thresholds for a queue/virtualhosts i.e. the configured MAX_QUEUE_DEPTH
> etc as defined in the virtualhosts.xml ?
>
> I'll have a better think about what else might be useful for a user to be
> able to see. Might also be an idea to have a look at what else Hermes
> displays (for example) as a generic pointer ?
>
> Hth !
>
> Kind Regards,
> Marnie
>
>
>
>
> On 6/16/08, lahiru gunathilake <gl...@gmail.com> wrote:
> >
> > hi Aidan and Marnie,
> >
> > On Thu, May 15, 2008 at 9:59 PM, 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
> > >
> > Other than the queue object what else you want to use with list command
> and
> > I can implement them.With the list command it display all the important
> > information so what would info command do. I think no need to implement
> > another command. And I will implement some options to list command like
> > list -d <display all the domains >
> >
> > Do you want me to do some more stuff with these commands in the
> interactive
> > mode. So if you have some more I can implement them and we can probably
> ask
> > from users what they want by letting them to use this by committing this
> > code in to SVN.
> >
> > Any thoughts what should I do next.
> >
> > Regards
> > Lahiru
> >
> > >
> > > $ 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 <gl...@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 <ai...@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... !
> > > >
> > >
> >
>

Re: GSoC - Lahiru's CLI for JMX

Posted by Marnie McCormack <ma...@googlemail.com>.
Hi Lahiru,

I think the ability to list the following would be helpful:

- virtualhosts
- connections (with originating IP)
- consumers (with queue/topic/selector details ?)
- publishers (ditto)
- thresholds for a queue/virtualhosts i.e. the configured MAX_QUEUE_DEPTH
etc as defined in the virtualhosts.xml ?

I'll have a better think about what else might be useful for a user to be
able to see. Might also be an idea to have a look at what else Hermes
displays (for example) as a generic pointer ?

Hth !

Kind Regards,
Marnie




On 6/16/08, lahiru gunathilake <gl...@gmail.com> wrote:
>
> hi Aidan and Marnie,
>
> On Thu, May 15, 2008 at 9:59 PM, 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
> >
> Other than the queue object what else you want to use with list command and
> I can implement them.With the list command it display all the important
> information so what would info command do. I think no need to implement
> another command. And I will implement some options to list command like
> list -d <display all the domains >
>
> Do you want me to do some more stuff with these commands in the interactive
> mode. So if you have some more I can implement them and we can probably ask
> from users what they want by letting them to use this by committing this
> code in to SVN.
>
> Any thoughts what should I do next.
>
> Regards
> Lahiru
>
> >
> > $ 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 <gl...@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 <ai...@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... !
> > >
> >
>

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
hi Aidan and Marnie,

On Thu, May 15, 2008 at 9:59 PM, 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
>
Other than the queue object what else you want to use with list command and
I can implement them.With the list command it display all the important
information so what would info command do. I think no need to implement
another command. And I will implement some options to list command like
list -d <display all the domains >

Do you want me to do some more stuff with these commands in the interactive
mode. So if you have some more I can implement them and we can probably ask
from users what they want by letting them to use this by committing this
code in to SVN.

Any thoughts what should I do next.

Regards
Lahiru

>
> $ 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 <gl...@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 <gl...@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 <ai...@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... !
> >
>

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <la...@apache.org>.
Hi Aidan,

I've started coding again,that's my pleasure.

On Sun, Jul 27, 2008 at 3:14 PM, Aidan Skinner <ai...@apache.org> wrote:

> On Sun, Jul 27, 2008 at 5:51 AM, lahiru gunathilake <la...@apache.org>
> wrote:
>
> >>> The other option would be to specify it to list. Maybe something like:
> >>>
> >>> queue list -v <vhost> -n <name>
> >>
> >> I will implement like this.
> >>
> > I think we want to get a single object with info command so this apply
> for
> > info command not with list command.
>
> I think virtual host is still relevant for list. They're conceptually
> separate, so often (but not always) you're only interested in one
> vhost but not the others.
>
> > Why don't we use a standard way to give arguments, with list we give
> > arguments with minuse("-") sign so why don't we use the same with info
> > command, I think we have to use -n to specify the object name with info
> > whereas we use the same thing with list which leads to less confusion
> with
> > users. And from the beginning I started developing commands in the normal
> > way with minus sign and argument value.
> >
> > What do you think ?
>
> I think it's worth allowing both forms, it gives the user more
> flexibility and lets things "just work". To quote Postel's Law: "be
> conservative in what you do, be liberal in what you accept from
> others."

I have implemented the -v option for list command. Can I allow implement
command arguments only with minus sign for now.I think I can implement other
features later on. I mean after I finish all the functionality with Qpid
CLI.I have committed my code today check the -v option with list and info
commands.

Thanks in advance
Regards
Lahiru

>
>
> I'll be on GTalk shortly if you want to chat about this in real time.
>
> - Aidan
> --
> Apache Qpid - World Domination through Advanced Message Queueing
> http://cwiki.apache.org/qpid
>

Re: GSoC - Lahiru's CLI for JMX

Posted by Aidan Skinner <ai...@apache.org>.
On Sun, Jul 27, 2008 at 5:51 AM, lahiru gunathilake <la...@apache.org> wrote:

>>> The other option would be to specify it to list. Maybe something like:
>>>
>>> queue list -v <vhost> -n <name>
>>
>> I will implement like this.
>>
> I think we want to get a single object with info command so this apply for
> info command not with list command.

I think virtual host is still relevant for list. They're conceptually
separate, so often (but not always) you're only interested in one
vhost but not the others.

> Why don't we use a standard way to give arguments, with list we give
> arguments with minuse("-") sign so why don't we use the same with info
> command, I think we have to use -n to specify the object name with info
> whereas we use the same thing with list which leads to less confusion with
> users. And from the beginning I started developing commands in the normal
> way with minus sign and argument value.
>
> What do you think ?

I think it's worth allowing both forms, it gives the user more
flexibility and lets things "just work". To quote Postel's Law: "be
conservative in what you do, be liberal in what you accept from
others."

I'll be on GTalk shortly if you want to chat about this in real time.

- Aidan
-- 
Apache Qpid - World Domination through Advanced Message Queueing
http://cwiki.apache.org/qpid

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <la...@apache.org>.
Hi Aidan,

I was in a hurry and when I was checking few hours a go so when I started on
developing this i felt there's something wrong.
On Sun, Jul 27, 2008 at 8:24 AM, lahiru gunathilake <la...@apache.org>wrote:

>
> Hi Aidan,
>
> First thanks for the reply.
> On Sun, Jul 27, 2008 at 1:55 AM, Aidan Skinner <ai...@apache.org> wrote:
>
>> On Sat, Jul 26, 2008 at 8:50 AM, lahiru gunathilake <la...@apache.org>
>> wrote:
>>
>> > Do you thing this is useful because you said info command normally
>> display
>> > all the information of a single object but here when user run the
>> command
>> > without -n option there are so many queue objects.So if you want me to
>> avoid
>> > listing so many objects I can do that....
>>
>> I think object name should be mandatory, that way you'll only get one.
>> Well, you would if it was limited to one virtual host. Which I think
>> should probably be kind of like database context. Maybe something like
>> this:
>>
>> aidan@contemplation:~/hacking/lahirugsoc[master]/$ bin/qpid-cli
>>
>> :/home/aidan/hacking/lahirugsoc/lib/jline-0.9.94.jar:/home/aidan/hacking/lahirugsoc/lib/junit-4.4.jar:/home/aidan/hacking/lahirugsoc/build/main/classes/
>> Connecting to localhost Qpid java broker...
>> qpid-admin-$ virtualhost list
>> [.. list of vhosts..]
>> qpid-admin-$ virtualhost use development
>> Using virtualhost development
>> qpid-admin-$ queue list
>> [... list of queues in development virtualhost ...]
>>
>> The other option would be to specify it to list. Maybe something like:
>>
>> queue list -v <vhost> -n <name>
>
> I will implement like this.
>
I think we want to get a single object with info command so this apply for
info command not with list command.

>
>
>>
>> or alternatively:
>>
>> queue list <vhost>:<name>
>>
>> as well as
>>
>> queue list <name>
>>
>> The info command should probably work in the same way. I found a
>> couple of bugs while testing, which I'll file in Google code tomorrow,
>> there's an NPE when you 'list' and 'queue info ping' returns all the
>> queues (it shouldn't need the -n if there's only one argument),
>> nothing major. It looks good :)
>
> ok
>
Why don't we use a standard way to give arguments, with list we give
arguments with minuse("-") sign so why don't we use the same with info
command, I think we have to use -n to specify the object name with info
whereas we use the same thing with list which leads to less confusion with
users. And from the beginning I started developing commands in the normal
way with minus sign and argument value.

What do you think ?

Lahiru

>
>
> Thanks in advance
>
> Regards
> Lahiru
>
>>
>>
>> - Aidan
>> --
>> Apache Qpid - World Domination through Advanced Message Queueing
>> http://cwiki.apache.org/qpid
>>
>
>

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <la...@apache.org>.
Hi Aidan,

First thanks for the reply.
On Sun, Jul 27, 2008 at 1:55 AM, Aidan Skinner <ai...@apache.org> wrote:

> On Sat, Jul 26, 2008 at 8:50 AM, lahiru gunathilake <la...@apache.org>
> wrote:
>
> > Do you thing this is useful because you said info command normally
> display
> > all the information of a single object but here when user run the command
> > without -n option there are so many queue objects.So if you want me to
> avoid
> > listing so many objects I can do that....
>
> I think object name should be mandatory, that way you'll only get one.
> Well, you would if it was limited to one virtual host. Which I think
> should probably be kind of like database context. Maybe something like
> this:
>
> aidan@contemplation:~/hacking/lahirugsoc[master]/$ bin/qpid-cli
>
> :/home/aidan/hacking/lahirugsoc/lib/jline-0.9.94.jar:/home/aidan/hacking/lahirugsoc/lib/junit-4.4.jar:/home/aidan/hacking/lahirugsoc/build/main/classes/
> Connecting to localhost Qpid java broker...
> qpid-admin-$ virtualhost list
> [.. list of vhosts..]
> qpid-admin-$ virtualhost use development
> Using virtualhost development
> qpid-admin-$ queue list
> [... list of queues in development virtualhost ...]
>
> The other option would be to specify it to list. Maybe something like:
>
> queue list -v <vhost> -n <name>

I will implement like this.

>
>
> or alternatively:
>
> queue list <vhost>:<name>
>
> as well as
>
> queue list <name>
>
> The info command should probably work in the same way. I found a
> couple of bugs while testing, which I'll file in Google code tomorrow,
> there's an NPE when you 'list' and 'queue info ping' returns all the
> queues (it shouldn't need the -n if there's only one argument),
> nothing major. It looks good :)

ok

Thanks in advance

Regards
Lahiru

>
>
> - Aidan
> --
> Apache Qpid - World Domination through Advanced Message Queueing
> http://cwiki.apache.org/qpid
>

Re: GSoC - Lahiru's CLI for JMX

Posted by Aidan Skinner <ai...@apache.org>.
On Sat, Jul 26, 2008 at 8:50 AM, lahiru gunathilake <la...@apache.org> wrote:

> Do you thing this is useful because you said info command normally display
> all the information of a single object but here when user run the command
> without -n option there are so many queue objects.So if you want me to avoid
> listing so many objects I can do that....

I think object name should be mandatory, that way you'll only get one.
Well, you would if it was limited to one virtual host. Which I think
should probably be kind of like database context. Maybe something like
this:

aidan@contemplation:~/hacking/lahirugsoc[master]/$ bin/qpid-cli
:/home/aidan/hacking/lahirugsoc/lib/jline-0.9.94.jar:/home/aidan/hacking/lahirugsoc/lib/junit-4.4.jar:/home/aidan/hacking/lahirugsoc/build/main/classes/
Connecting to localhost Qpid java broker...
qpid-admin-$ virtualhost list
[.. list of vhosts..]
qpid-admin-$ virtualhost use development
Using virtualhost development
qpid-admin-$ queue list
[... list of queues in development virtualhost ...]

The other option would be to specify it to list. Maybe something like:

queue list -v <vhost> -n <name>

or alternatively:

queue list <vhost>:<name>

as well as

queue list <name>

The info command should probably work in the same way. I found a
couple of bugs while testing, which I'll file in Google code tomorrow,
there's an NPE when you 'list' and 'queue info ping' returns all the
queues (it shouldn't need the -n if there's only one argument),
nothing major. It looks good :)

- Aidan
-- 
Apache Qpid - World Domination through Advanced Message Queueing
http://cwiki.apache.org/qpid

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <la...@apache.org>.
Hi Aidan,

I have implemented list and info command as you asked yesterday but I didn't
change documentations and --help options since I want to have a look from
you.It works like this,

queue list  < list all the queue objects with *limited number of attributes*
>
queue list -n ping  < list all the ping objects with the name of ping but
with *limited number of attributes*>

you can change object type like this

exchange list and exchange list -n direct these do the same thing with
exchange type objects.

Info command also works very similar to this only different is it display
all the attributes of a particular object.

queue info <list all the attributes of all the queue objects >

Do you thing this is useful because you said info command normally display
all the information of a single object but here when user run the command
without -n option there are so many queue objects.So if you want me to avoid
listing so many objects I can do that....

queue info -n ping

This list the queue object with the name of ping with *all the attributes.
*
Could you please have a look and comment on the current implementation :-)

Thanks in advance
Lahiru

On Wed, Jul 23, 2008 at 12:57 PM, lahiru gunathilake <gl...@gmail.com>wrote:

> Hi Aidan,
>
> I just so those issues you have raised and I got an answer for my question
> and implemented the new list command without verbose. I will be committing
> my code could you please have a look at list command.
> And about the connection object, It won't work as if you just start the
> broker without running clients since when you normally run client no
> connection mbeans is gonna register. So please check that with a client and
> there was  a thread on that and I have mentioned what clients to run to
> monitor connection on that thread.
>
> And next thing is the history thing, For me the arrow keys are working and
> I can get previous commands using arrow keys.
>
> I will be working on tab thing and will allow users to complete the command
> using arrow keys.
>
> Thanks
> Lahiru
>
>
> On Wed, Jul 23, 2008 at 10:39 AM, lahiru gunathilake <gl...@gmail.com>
> wrote:
>
>> Hi Aidan,
>> I was trying to implement the new list displaying method and it works fine
>> but i have a big problem with queue objects. When I'm trying to list all the
>> attribute name in to a single line as you said last time but it is very long
>> when it comes to queue object, so how you want me to list queue object.
>>
>> Could you please tell me why do we write a same thing simply differ with
>> the way it display the information with another command ( list and info).
>>
>> Regards
>> Lahiru
>>
>>
>>
>> On Tue, Jul 22, 2008 at 8:22 AM, lahiru gunathilake <gl...@gmail.com>
>> wrote:
>>
>>> Hi,
>>> Can someone answer my question please. I want to know how should user
>>> specify a certain single object,as an example if user wants to get the Depth
>>> of a particular queue how user is going to specify which queue is user is
>>> expecting to get the Depth since there are so many queue's.
>>>
>>> Regards
>>> Lahiru
>>>
>>>
>>> On Thu, Jul 17, 2008 at 11:35 PM, lahiru gunathilake <gl...@gmail.com>
>>> wrote:
>>>
>>>> Hi Marnie and Aidan,
>>>>
>>>> I have done that filtering thing with the list command and now I am
>>>> suppose to start implementing info command. But before starting that I
>>>> thought of asking some more information about what you are expecting from
>>>> that command.
>>>>
>>>> On Thu, May 15, 2008 at 9:59 PM, 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
>>>>>
>>>> Can somebody explain what sought of work you would expect from info
>>>> command.
>>>>
>>>>>
>>>>> 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 <gl...@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 <ai...@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... !
>>>>> >
>>>>>
>>>>
>>>>
>>>
>>
>

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi Aidan,

I just so those issues you have raised and I got an answer for my question
and implemented the new list command without verbose. I will be committing
my code could you please have a look at list command.
And about the connection object, It won't work as if you just start the
broker without running clients since when you normally run client no
connection mbeans is gonna register. So please check that with a client and
there was  a thread on that and I have mentioned what clients to run to
monitor connection on that thread.

And next thing is the history thing, For me the arrow keys are working and I
can get previous commands using arrow keys.

I will be working on tab thing and will allow users to complete the command
using arrow keys.

Thanks
Lahiru

On Wed, Jul 23, 2008 at 10:39 AM, lahiru gunathilake <gl...@gmail.com>
wrote:

> Hi Aidan,
> I was trying to implement the new list displaying method and it works fine
> but i have a big problem with queue objects. When I'm trying to list all the
> attribute name in to a single line as you said last time but it is very long
> when it comes to queue object, so how you want me to list queue object.
>
> Could you please tell me why do we write a same thing simply differ with
> the way it display the information with another command ( list and info).
>
> Regards
> Lahiru
>
>
>
> On Tue, Jul 22, 2008 at 8:22 AM, lahiru gunathilake <gl...@gmail.com>
> wrote:
>
>> Hi,
>> Can someone answer my question please. I want to know how should user
>> specify a certain single object,as an example if user wants to get the Depth
>> of a particular queue how user is going to specify which queue is user is
>> expecting to get the Depth since there are so many queue's.
>>
>> Regards
>> Lahiru
>>
>>
>> On Thu, Jul 17, 2008 at 11:35 PM, lahiru gunathilake <gl...@gmail.com>
>> wrote:
>>
>>> Hi Marnie and Aidan,
>>>
>>> I have done that filtering thing with the list command and now I am
>>> suppose to start implementing info command. But before starting that I
>>> thought of asking some more information about what you are expecting from
>>> that command.
>>>
>>> On Thu, May 15, 2008 at 9:59 PM, 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
>>>>
>>> Can somebody explain what sought of work you would expect from info
>>> command.
>>>
>>>>
>>>> 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 <gl...@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 <ai...@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... !
>>>> >
>>>>
>>>
>>>
>>
>

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi Aidan,
I was trying to implement the new list displaying method and it works fine
but i have a big problem with queue objects. When I'm trying to list all the
attribute name in to a single line as you said last time but it is very long
when it comes to queue object, so how you want me to list queue object.

Could you please tell me why do we write a same thing simply differ with the
way it display the information with another command ( list and info).

Regards
Lahiru


On Tue, Jul 22, 2008 at 8:22 AM, lahiru gunathilake <gl...@gmail.com>
wrote:

> Hi,
> Can someone answer my question please. I want to know how should user
> specify a certain single object,as an example if user wants to get the Depth
> of a particular queue how user is going to specify which queue is user is
> expecting to get the Depth since there are so many queue's.
>
> Regards
> Lahiru
>
>
> On Thu, Jul 17, 2008 at 11:35 PM, lahiru gunathilake <gl...@gmail.com>
> wrote:
>
>> Hi Marnie and Aidan,
>>
>> I have done that filtering thing with the list command and now I am
>> suppose to start implementing info command. But before starting that I
>> thought of asking some more information about what you are expecting from
>> that command.
>>
>> On Thu, May 15, 2008 at 9:59 PM, 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
>>>
>> Can somebody explain what sought of work you would expect from info
>> command.
>>
>>>
>>> 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 <gl...@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 <ai...@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... !
>>> >
>>>
>>
>>
>

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi,
Can someone answer my question please. I want to know how should user
specify a certain single object,as an example if user wants to get the Depth
of a particular queue how user is going to specify which queue is user is
expecting to get the Depth since there are so many queue's.

Regards
Lahiru

On Thu, Jul 17, 2008 at 11:35 PM, lahiru gunathilake <gl...@gmail.com>
wrote:

> Hi Marnie and Aidan,
>
> I have done that filtering thing with the list command and now I am suppose
> to start implementing info command. But before starting that I thought of
> asking some more information about what you are expecting from that command.
>
> On Thu, May 15, 2008 at 9:59 PM, 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
>>
> Can somebody explain what sought of work you would expect from info
> command.
>
>>
>> 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 <gl...@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 <gl...@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 <ai...@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... !
>> >
>>
>
>

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi Marnie and Aidan,

I have done that filtering thing with the list command and now I am suppose
to start implementing info command. But before starting that I thought of
asking some more information about what you are expecting from that command.

On Thu, May 15, 2008 at 9:59 PM, 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
>
Can somebody explain what sought of work you would expect from info command.


>
> 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 <gl...@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 <gl...@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 <ai...@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... !
> >
>

Re: GSoC - Lahiru's CLI for JMX

Posted by Marnie McCormack <ma...@googlemail.com>.
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 <gl...@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 <gl...@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 <ai...@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... !
>

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
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 <gl...@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 <ai...@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... !

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
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 <ai...@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

Re: GSoC - Lahiru's CLI for JMX

Posted by Aidan Skinner <ai...@apache.org>.
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.

- Aidan

2008/5/8 lahiru gunathilake <gl...@gmail.com>:
> Hi Marnie,
> I'm very happy to inform you that, I'm was able to print all the MBeans
> registered in Qpid JMX instrumentation and all the corresponding attributes
> of those MBeans.
>
> Regs
> lahiru
>
> On Tue, May 6, 2008 at 11:37 PM, lahiru gunathilake <gl...@gmail.com>
> wrote:
>
>> Hi Marnie,
>>
>> Here's the console view...
>>
>> Regards
>> lahiru
>>
>>
>> On Tue, May 6, 2008 at 11:25 PM, lahiru gunathilake <gl...@gmail.com>
>> wrote:
>>
>> > Hi Marnie,
>> >
>> > I was able to connect to Qpid Java broker JMX MBean server using JMX
>> > connector and print all the org.apache.qpid domain resource (Only the object
>> > names) which are exposed using JMX. Since this is a simple stage of my
>> > project and I just sending you a screanshot of the out put of my program(I
>> > think no need to waste your time by sending the source).
>> > I think now we can have a discussion on how to give user options and all
>> > of the other implementation details. And at last, one question, when I got
>> > all the domains after connecting to Qpid server I saw there are some other
>> > domains like Implementation,
>> > sun.com.management,java.lang,java.util.logging(you can see that in the
>> > screanshot) and do you want me to extract those informations too?
>> >
>> > Thanks in advance
>> >
>> > Regards
>> > lahiru
>> >
>> >
>> > On Mon, May 5, 2008 at 10:04 AM, lahiru gunathilake <gl...@gmail.com>
>> > wrote:
>> >
>> > > Hi Marnie,
>> > >
>> > > previous mail was sent accidentally, sorry for the inconvenience
>> > > please be kind enough to go through this email.
>> > >
>> > >
>> > > > As you told me I started of finding all the exposed JMX attributes
>> > > > and appropriate operations and I'm listing them down in this email. In that
>> > > > I'm listing only the corresponding class name and corresponding MBean but
>> > > > there are intermediate classes in between those two. Each and ever MBean
>> > > > class is extending AMQManagedObject class as you said.
>> > >
>> > >
>> > >
>> > > > MBEAN CLASS NAME                              RELAVENT INTERFACE
>> > >
>> > > ===================               ====================
>> > >
>> > > >
>> > > > 1. AMQUserManagementMBean               UserManagement
>> > > > 2. AMQBrokerMangerMBean                    ManagedBroker
>> > > > 3. AMQQMBean                                         ManagedQueue
>> > > > 4. ExchangeMBean                                    ManagedExchange
>> > > >
>> > >
>> > > Although there are only four classes when we run the qpid-server it
>> > > create number of instances of these classes with different object names and
>> > > register them in the MBean server so there are lot of information to extract
>> > > through a JMX connector. Specially there are some more complex code lying in
>> > > the Queueing layer.
>> > > If I have made a mistake in this could you please tell me and honestly
>> > > that will be very useful for me and still I'm going through the code and
>> > > meanwhile I'm trying to run the management console too. Hope that will be
>> > > helpful to understand the project more solid way. As the next step I will go
>> > > through the code of JMX instrumentation in Qpid and try to understand how
>> > > management console works.
>> > >
>> > > I need some feed from any of you on what to do next, and according to
>> > > my point as the next step I can write some sample code which connect with
>> > > the MBeanServer and do some play with the information as the initial step of
>> > > the CLI.
>> > >
>> > > Any thoughts please...?
>> > >
>> > > Thanks in advace
>> > >
>> > > Regs
>> > > lahiru
>> > >
>> > > >
>> > > >
>> > > >
>> > > >
>> > > > On Sun, May 4, 2008 at 7:12 PM, lahiru gunathilake <
>> > > > glahiru@gmail.com> wrote:
>> > > >
>> > > > > Hi marnie,
>> > > > >
>> > > > > Thanks for the reply first.
>> > > > > Honestly me too was unable to work a lot on Gsoc last couple of
>> > > > > days due to my personal work and I've already started on reading the JMX
>> > > > > MBeans code of Qpid and your reply probably will be very helpful for me. I
>> > > > > thought of reading about JMX stuff  and other thing for few days and I hope
>> > > > > I will be able to get a good understanding about the project ASAP.
>> > > > > If you want to have a chat with me just let me know at what time I
>> > > > > should login.
>> > > > >
>> > > > > Thanks in advance
>> > > > >
>> > > > > Regs
>> > > > > lahiru
>> > > > >
>> > > > > On Sun, May 4, 2008 at 4:15 PM, Marnie McCormack <
>> > > > > marnie.mccormack@googlemail.com> wrote:
>> > > > >
>> > > > > > Hi Lahiru,
>> > > > > >
>> > > > > > Here's an email I prepared on Wed evening but didn't get a
>> > > > > > chance to send -
>> > > > > > I hope it helps with your query on the codebase/mbeans. I'm out
>> > > > > > of the
>> > > > > > office this week for personal reasons, but I'll try to login as
>> > > > > > I can and
>> > > > > > keep up to date with your progress.
>> > > > > >
>> > > > > > Re your question on mid evaluation, why don't we discuss that
>> > > > > > when we next
>> > > > > > talk. I'd hope I'll be able to call you later this week, but
>> > > > > > I'll confirm by
>> > > > > > email to you. Apologies for the slight blip in communication, it
>> > > > > > should be
>> > > > > > very temporary.
>> > > > > >
>> > > > > > Hth ....
>> > > > > >
>> > > > > >
>> > > > > > Hi Lahiru,
>> > > > > >
>> > > > > >
>> > > > > > As a starting point, you should have a look at the
>> > > > > > AMQManagedObject
>> > > > > > interface which is implemented by all classes exposing
>> > > > > > management
>> > > > > > methods/attributes. If you search for derived classes
>> > > > > > (implementing classes)
>> > > > > > you'll see the set of entities which provide attributes for JMX
>> > > > > > calls.
>> > > > > >
>> > > > > > In particular, the ManagedQueue interface in package
>> > > > > > org.apache.qpid.server.queue contains a substantial amount of
>> > > > > > the exposed
>> > > > > > attributes. This is where the attributes exposed on the broker's
>> > > > > > queues are
>> > > > > > described. AMQQueueMBean (same package) implements this
>> > > > > > interface. This is
>> > > > > > the best place to get a handle on the queue attributes exposed
>> > > > > > via JMX.
>> > > > > >
>> > > > > > I think a useful first step would be to list out the elements
>> > > > > > provided via
>> > > > > > JMX on the broker, and note where they are implemented in the
>> > > > > > code. The
>> > > > > > usage of the various elements will differ, in terms of the
>> > > > > > frequency with
>> > > > > > which a user might want to check them etc. I hope this would be
>> > > > > > a useful
>> > > > > > start ! We can then discuss whether the detail I sent previously
>> > > > > > about the
>> > > > > > parameters for running the CLI scripts are appropriate.
>> > > > > >
>> > > > > > The management console sholdn't inform much of what your doing,
>> > > > > > in terms of
>> > > > > > being a template. However, it might make it easier for you to
>> > > > > > understand the
>> > > > > > various elements provided. Martin & Aidan should be able to help
>> > > > > > you get it
>> > > > > > up & running. Martin/Aidan - can you can help Lahiru with this
>> > > > > > please ?
>> > > > > > Thanks !
>> > > > > >
>> > > > > > Senaka's emails on the console setup help a little, though
>> > > > > > possibly not so
>> > > > > > relevant to a windows env ?
>> > > > > >
>> > > > > > Hth,
>> > > > > > Regards,
>> > > > > > Marnie
>> > > > > >
>> > > > > >
>> > > > > >
>> > > > > > On 5/3/08, lahiru gunathilake <gl...@gmail.com> wrote:
>> > > > > > >
>> > > > > > > hi Martin and Marnie,
>> > > > > > >
>> > > > > > > Yep I'm going through that code. I found a location where you
>> > > > > > have written
>> > > > > > > MBeans and i want to know is that the only location you have
>> > > > > > registered or
>> > > > > > > do you have several other places too.
>> > > > > > > This is the place
>> > > > > > >
>> > > > > > >
>> > > > > > https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management
>> > > > > > >
>> > > > > > > I will keep on looking if you know some other places please
>> > > > > > let  me know
>> > > > > > > that will be helpful for me to get a rough understanding about
>> > > > > > Qpid JMX
>> > > > > > > interface.
>> > > > > > >
>> > > > > > > Thanks
>> > > > > > > lahiru
>> > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > > On Fri, May 2, 2008 at 6:11 PM, Martin Ritchie <
>> > > > > > ritchiem@apache.org>
>> > > > > > > wrote:
>> > > > > > >
>> > > > > > > > Hi, Marnie is away for a few days she may respond but just
>> > > > > > in case
>> > > > > > > > here are my thoughts so you are not held up over the
>> > > > > > weekend.
>> > > > > > > >
>> > > > > > > > On 01/05/2008, lahiru gunathilake <gl...@gmail.com> wrote:
>> > > > > > > > > Hi,
>> > > > > > > > >
>> > > > > > > > >  First I'm very sorry for taking sometime to reply to your
>> > > > > > mail(
>> > > > > > > because
>> > > > > > > > I
>> > > > > > > > >  was uable to be online for yesterday) and thanks a lot
>> > > > > > for writing me
>> > > > > > > > about
>> > > > > > > > >  the Gsoc project.
>> > > > > > > > >  Thats great and now I know, the image I had about the
>> > > > > > project is
>> > > > > > > > correct. I
>> > > > > > > > >  think I have to create a project plane(I realize it after
>> > > > > > having a
>> > > > > > > chat
>> > > > > > > > with
>> > > > > > > > >  Aidan) and once I create it I will send it to you.
>> > > > > > > > >
>> > > > > > > > >  In order to create a clear project plan honestly could
>> > > > > > you please
>> > > > > > > tell
>> > > > > > > > me
>> > > > > > > > >  what should I finish when it comes to mid evaluation. I'm
>> > > > > > sure, that
>> > > > > > > > will
>> > > > > > > > >  help me a lot to create a better road map.
>> > > > > > > > >
>> > > > > > > > >  Next thing.. Could you please look in to my inline
>> > > > > > comment.
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > >  On Wed, Apr 30, 2008 at 12:13 AM, Marnie McCormack <
>> > > > > > > > >  marnie.mccormack@googlemail.com> wrote:
>> > > > > > > > >
>> > > > > > > > >  > Hi Lahiru,
>> > > > > > > > >  >
>> > > > > > > > >  > As promised here are my thoughts about what I'd like to
>> > > > > > achieve
>> > > > > > > from
>> > > > > > > > the
>> > > > > > > > >  > project I defined for your GSoC work.
>> > > > > > > > >  >
>> > > > > > > > >  > So, currently we provide some JMX calls which expose
>> > > > > > various
>> > > > > > > > attributes in
>> > > > > > > > >  > the Qpid Java broker. We have users who are interested
>> > > > > > in these
>> > > > > > > > >  > attributes,
>> > > > > > > > >  > but there's currently no simple way for them to get
>> > > > > > access to them.
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > > Can I know exactly what are they(where are those
>> > > > > > attributes in the
>> > > > > > > Qpid
>> > > > > > > > code
>> > > > > > > > >  base) . I can check them with Jconsole as a user. But as
>> > > > > > a developer
>> > > > > > > > can I
>> > > > > > > > >  know where that code located  and where is the code where
>> > > > > > it expose
>> > > > > > > as
>> > > > > > > > JMX
>> > > > > > > > >  calls. (Honestly if this is a task which shoud be done by
>> > > > > > my self
>> > > > > > > just
>> > > > > > > > give
>> > > > > > > > >  me a clue and I will find where are those )
>> > > > > > > >
>> > > > > > > > Have a look for all the MBean classes these are the bits
>> > > > > > that show up
>> > > > > > > > in JConsole.
>> > > > > > > >
>> > > > > > > > >
>> > > > > > > > >  > They can
>> > > > > > > > >  > view them on the management console (assuming they can
>> > > > > > get it
>> > > > > > > working
>> > > > > > > > :-),
>> > > > > > > > >  > they can attach some other monitoring GUI or
>> > > > > > proprietary
>> > > > > > > application.
>> > > > > > > > >  >
>> > > > > > > > >  > For some of our JMX props, they can be set up to log
>> > > > > > alerts to the
>> > > > > > > > broker
>> > > > > > > > >  > log - which can again be monitored.
>> > > > > > > > >  >
>> > > > > > > > >  > However, it would be really useful if they could simply
>> > > > > > use a CLI
>> > > > > > > > tool to
>> > > > > > > > >  > extract the information they're looking for.
>> > > > > > > > >
>> > > > > > > > > > +1
>> > > > > > > > >
>> > > > > > > > > > I had envisaged it taking a really simple form:
>> > > > > > > > >  >
>> > > > > > > > >  >   - a shell script (bash or .bat) to call the CLI tool,
>> > > > > > probably
>> > > > > > > > simply
>> > > > > > > > >  >   wrapping a java call, which will run as a daemon (or
>> > > > > > service)
>> > > > > > > > >  >   - a config/properties file or command line options to
>> > > > > > specify:
>> > > > > > > > >  >      - the JMX attribute to extract
>> > > > > > > > >  >      - the frequency with which to extract it, in
>> > > > > > minutes (i.e. an
>> > > > > > > > >  >      elapsed time between extraction like 5 minutes)
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > > If the time is five minutes then if the deamon runs one
>> > > > > > hour the CLI
>> > > > > > > > outputs
>> > > > > > > > >  around 12 out put information.
>> > > > > > > > >  As an example CLI should write 12 out put files to a give
>> > > > > > location.
>> > > > > > > Am
>> > > > > > > > I
>> > > > > > > > >  correct .. ?
>> > > > > > > >
>> > > > > > > > I would say it would write 12 times to single file that has
>> > > > > > been
>> > > > > > > > specified.
>> > > > > > > > Potentially you could configure various logging information
>> > > > > > to go to a
>> > > > > > > > variety of files, but I'd start with a single configurable
>> > > > > > file.
>> > > > > > > >
>> > > > > > > > >  >
>> > > > > > > > >  >      - a path into which to record the output
>> > > > > > > > >  >      - an option for the output format (see my proposal
>> > > > > > info about
>> > > > > > > > >  >      formatting etc) like csv, tab-delimited, html etc.
>> > > > > > This might
>> > > > > > > be
>> > > > > > > > >  > better done
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > > Can be done..!
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > >  >
>> > > > > > > > >  >      as optional export into another tool ?
>> > > > > > > > >  >
>> > > > > > > > >
>> > > > > > > > >  >   - the properties/config should be extensible so that
>> > > > > > new
>> > > > > > > attributes
>> > > > > > > > >  >   implemented in the broker can easily be added
>> > > > > > > > >
>> > > > > > > > > > Sure.. this should be in that way.
>> > > > > > > > >
>> > > > > > > > > > So, when a user wants to get useful management
>> > > > > > information from the
>> > > > > > > > broker
>> > > > > > > > >  > (but not using a GUI) they can simply create a props
>> > > > > > file and voila
>> > > > > > > !
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > > Not much clear this statement. "create props file and
>> > > > > > voila!"
>> > > > > > > >
>> > > > > > > > I think what Marnie is saying is that what would be good is
>> > > > > > for a user
>> > > > > > > > to specify a property file that contains the information
>> > > > > > they are
>> > > > > > > > after so when they run the command line tool it will simply
>> > > > > > return
>> > > > > > > > that. If they wished that property file could be used by the
>> > > > > > daemon
>> > > > > > > > process to populate the logfile.
>> > > > > > > >
>> > > > > > > > >
>> > > > > > > > >  >
>> > > > > > > > >  >  What do you think ? Does this make sense to you ok ?
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > > Exactly this is the best description I got about my
>> > > > > > project and thanks
>> > > > > > > a
>> > > > > > > > lot
>> > > > > > > > >  for your great assist.
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > >  >
>> > > > > > > > >  > I'll reply to your email about issues shortly, in a
>> > > > > > separate email.
>> > > > > > > > >  >
>> > > > > > > > >  > Hth,
>> > > > > > > > >  > Thanks & Regards,
>> > > > > > > > >  > Marnie
>> > > > > > > > >  >
>> > > > > > > > >
>> > > > > > > > > Thanks in advance
>> > > > > > > > >
>> > > > > > > > >  Regs
>> > > > > > > > >
>> > > > > > > > > lahiru
>> > > > > > > > >
>> > > > > > > >
>> > > > > > > >
>> > > > > > > > --
>> > > > > > > > Martin Ritchie
>> > > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > > --
>> > > > > > > East or West
>> > > > > > > Mahindians are the
>> > > > > > > Best... !
>> > > > > > >
>> > > > > >
>> > > > >
>> > > > >
>> > > > >
>> > > > > --
>> > > > > East or West
>> > > > > Mahindians are the
>> > > > > Best... !
>> > > > >
>> > > >
>> > > >
>> > > >
>> > > > --
>> > > > East or West
>> > > > Mahindians are the
>> > > > Best... !
>> > > >
>> > >
>> > >
>> > >
>> > > --
>> > > East or West
>> > > Mahindians are the
>> > > Best... !
>> > >
>> >
>> >
>> >
>> > --
>> > East or West
>> > Mahindians are the
>> > Best... !
>> >
>>
>>
>>
>> --
>> East or West
>> Mahindians are the
>> Best... !
>>
>
>
>
> --
> East or West
> Mahindians are the
> Best... !
>



-- 
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."

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi Marnie,
I'm very happy to inform you that, I'm was able to print all the MBeans
registered in Qpid JMX instrumentation and all the corresponding attributes
of those MBeans.

Regs
lahiru

On Tue, May 6, 2008 at 11:37 PM, lahiru gunathilake <gl...@gmail.com>
wrote:

> Hi Marnie,
>
> Here's the console view...
>
> Regards
> lahiru
>
>
> On Tue, May 6, 2008 at 11:25 PM, lahiru gunathilake <gl...@gmail.com>
> wrote:
>
> > Hi Marnie,
> >
> > I was able to connect to Qpid Java broker JMX MBean server using JMX
> > connector and print all the org.apache.qpid domain resource (Only the object
> > names) which are exposed using JMX. Since this is a simple stage of my
> > project and I just sending you a screanshot of the out put of my program(I
> > think no need to waste your time by sending the source).
> > I think now we can have a discussion on how to give user options and all
> > of the other implementation details. And at last, one question, when I got
> > all the domains after connecting to Qpid server I saw there are some other
> > domains like Implementation,
> > sun.com.management,java.lang,java.util.logging(you can see that in the
> > screanshot) and do you want me to extract those informations too?
> >
> > Thanks in advance
> >
> > Regards
> > lahiru
> >
> >
> > On Mon, May 5, 2008 at 10:04 AM, lahiru gunathilake <gl...@gmail.com>
> > wrote:
> >
> > > Hi Marnie,
> > >
> > > previous mail was sent accidentally, sorry for the inconvenience
> > > please be kind enough to go through this email.
> > >
> > >
> > > > As you told me I started of finding all the exposed JMX attributes
> > > > and appropriate operations and I'm listing them down in this email. In that
> > > > I'm listing only the corresponding class name and corresponding MBean but
> > > > there are intermediate classes in between those two. Each and ever MBean
> > > > class is extending AMQManagedObject class as you said.
> > >
> > >
> > >
> > > > MBEAN CLASS NAME                              RELAVENT INTERFACE
> > >
> > > ===================               ====================
> > >
> > > >
> > > > 1. AMQUserManagementMBean               UserManagement
> > > > 2. AMQBrokerMangerMBean                    ManagedBroker
> > > > 3. AMQQMBean                                         ManagedQueue
> > > > 4. ExchangeMBean                                    ManagedExchange
> > > >
> > >
> > > Although there are only four classes when we run the qpid-server it
> > > create number of instances of these classes with different object names and
> > > register them in the MBean server so there are lot of information to extract
> > > through a JMX connector. Specially there are some more complex code lying in
> > > the Queueing layer.
> > > If I have made a mistake in this could you please tell me and honestly
> > > that will be very useful for me and still I'm going through the code and
> > > meanwhile I'm trying to run the management console too. Hope that will be
> > > helpful to understand the project more solid way. As the next step I will go
> > > through the code of JMX instrumentation in Qpid and try to understand how
> > > management console works.
> > >
> > > I need some feed from any of you on what to do next, and according to
> > > my point as the next step I can write some sample code which connect with
> > > the MBeanServer and do some play with the information as the initial step of
> > > the CLI.
> > >
> > > Any thoughts please...?
> > >
> > > Thanks in advace
> > >
> > > Regs
> > > lahiru
> > >
> > > >
> > > >
> > > >
> > > >
> > > > On Sun, May 4, 2008 at 7:12 PM, lahiru gunathilake <
> > > > glahiru@gmail.com> wrote:
> > > >
> > > > > Hi marnie,
> > > > >
> > > > > Thanks for the reply first.
> > > > > Honestly me too was unable to work a lot on Gsoc last couple of
> > > > > days due to my personal work and I've already started on reading the JMX
> > > > > MBeans code of Qpid and your reply probably will be very helpful for me. I
> > > > > thought of reading about JMX stuff  and other thing for few days and I hope
> > > > > I will be able to get a good understanding about the project ASAP.
> > > > > If you want to have a chat with me just let me know at what time I
> > > > > should login.
> > > > >
> > > > > Thanks in advance
> > > > >
> > > > > Regs
> > > > > lahiru
> > > > >
> > > > > On Sun, May 4, 2008 at 4:15 PM, Marnie McCormack <
> > > > > marnie.mccormack@googlemail.com> wrote:
> > > > >
> > > > > > Hi Lahiru,
> > > > > >
> > > > > > Here's an email I prepared on Wed evening but didn't get a
> > > > > > chance to send -
> > > > > > I hope it helps with your query on the codebase/mbeans. I'm out
> > > > > > of the
> > > > > > office this week for personal reasons, but I'll try to login as
> > > > > > I can and
> > > > > > keep up to date with your progress.
> > > > > >
> > > > > > Re your question on mid evaluation, why don't we discuss that
> > > > > > when we next
> > > > > > talk. I'd hope I'll be able to call you later this week, but
> > > > > > I'll confirm by
> > > > > > email to you. Apologies for the slight blip in communication, it
> > > > > > should be
> > > > > > very temporary.
> > > > > >
> > > > > > Hth ....
> > > > > >
> > > > > >
> > > > > > Hi Lahiru,
> > > > > >
> > > > > >
> > > > > > As a starting point, you should have a look at the
> > > > > > AMQManagedObject
> > > > > > interface which is implemented by all classes exposing
> > > > > > management
> > > > > > methods/attributes. If you search for derived classes
> > > > > > (implementing classes)
> > > > > > you'll see the set of entities which provide attributes for JMX
> > > > > > calls.
> > > > > >
> > > > > > In particular, the ManagedQueue interface in package
> > > > > > org.apache.qpid.server.queue contains a substantial amount of
> > > > > > the exposed
> > > > > > attributes. This is where the attributes exposed on the broker's
> > > > > > queues are
> > > > > > described. AMQQueueMBean (same package) implements this
> > > > > > interface. This is
> > > > > > the best place to get a handle on the queue attributes exposed
> > > > > > via JMX.
> > > > > >
> > > > > > I think a useful first step would be to list out the elements
> > > > > > provided via
> > > > > > JMX on the broker, and note where they are implemented in the
> > > > > > code. The
> > > > > > usage of the various elements will differ, in terms of the
> > > > > > frequency with
> > > > > > which a user might want to check them etc. I hope this would be
> > > > > > a useful
> > > > > > start ! We can then discuss whether the detail I sent previously
> > > > > > about the
> > > > > > parameters for running the CLI scripts are appropriate.
> > > > > >
> > > > > > The management console sholdn't inform much of what your doing,
> > > > > > in terms of
> > > > > > being a template. However, it might make it easier for you to
> > > > > > understand the
> > > > > > various elements provided. Martin & Aidan should be able to help
> > > > > > you get it
> > > > > > up & running. Martin/Aidan - can you can help Lahiru with this
> > > > > > please ?
> > > > > > Thanks !
> > > > > >
> > > > > > Senaka's emails on the console setup help a little, though
> > > > > > possibly not so
> > > > > > relevant to a windows env ?
> > > > > >
> > > > > > Hth,
> > > > > > Regards,
> > > > > > Marnie
> > > > > >
> > > > > >
> > > > > >
> > > > > > On 5/3/08, lahiru gunathilake <gl...@gmail.com> wrote:
> > > > > > >
> > > > > > > hi Martin and Marnie,
> > > > > > >
> > > > > > > Yep I'm going through that code. I found a location where you
> > > > > > have written
> > > > > > > MBeans and i want to know is that the only location you have
> > > > > > registered or
> > > > > > > do you have several other places too.
> > > > > > > This is the place
> > > > > > >
> > > > > > >
> > > > > > https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management
> > > > > > >
> > > > > > > I will keep on looking if you know some other places please
> > > > > > let  me know
> > > > > > > that will be helpful for me to get a rough understanding about
> > > > > > Qpid JMX
> > > > > > > interface.
> > > > > > >
> > > > > > > Thanks
> > > > > > > lahiru
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > On Fri, May 2, 2008 at 6:11 PM, Martin Ritchie <
> > > > > > ritchiem@apache.org>
> > > > > > > wrote:
> > > > > > >
> > > > > > > > Hi, Marnie is away for a few days she may respond but just
> > > > > > in case
> > > > > > > > here are my thoughts so you are not held up over the
> > > > > > weekend.
> > > > > > > >
> > > > > > > > On 01/05/2008, lahiru gunathilake <gl...@gmail.com> wrote:
> > > > > > > > > Hi,
> > > > > > > > >
> > > > > > > > >  First I'm very sorry for taking sometime to reply to your
> > > > > > mail(
> > > > > > > because
> > > > > > > > I
> > > > > > > > >  was uable to be online for yesterday) and thanks a lot
> > > > > > for writing me
> > > > > > > > about
> > > > > > > > >  the Gsoc project.
> > > > > > > > >  Thats great and now I know, the image I had about the
> > > > > > project is
> > > > > > > > correct. I
> > > > > > > > >  think I have to create a project plane(I realize it after
> > > > > > having a
> > > > > > > chat
> > > > > > > > with
> > > > > > > > >  Aidan) and once I create it I will send it to you.
> > > > > > > > >
> > > > > > > > >  In order to create a clear project plan honestly could
> > > > > > you please
> > > > > > > tell
> > > > > > > > me
> > > > > > > > >  what should I finish when it comes to mid evaluation. I'm
> > > > > > sure, that
> > > > > > > > will
> > > > > > > > >  help me a lot to create a better road map.
> > > > > > > > >
> > > > > > > > >  Next thing.. Could you please look in to my inline
> > > > > > comment.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >  On Wed, Apr 30, 2008 at 12:13 AM, Marnie McCormack <
> > > > > > > > >  marnie.mccormack@googlemail.com> wrote:
> > > > > > > > >
> > > > > > > > >  > Hi Lahiru,
> > > > > > > > >  >
> > > > > > > > >  > As promised here are my thoughts about what I'd like to
> > > > > > achieve
> > > > > > > from
> > > > > > > > the
> > > > > > > > >  > project I defined for your GSoC work.
> > > > > > > > >  >
> > > > > > > > >  > So, currently we provide some JMX calls which expose
> > > > > > various
> > > > > > > > attributes in
> > > > > > > > >  > the Qpid Java broker. We have users who are interested
> > > > > > in these
> > > > > > > > >  > attributes,
> > > > > > > > >  > but there's currently no simple way for them to get
> > > > > > access to them.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Can I know exactly what are they(where are those
> > > > > > attributes in the
> > > > > > > Qpid
> > > > > > > > code
> > > > > > > > >  base) . I can check them with Jconsole as a user. But as
> > > > > > a developer
> > > > > > > > can I
> > > > > > > > >  know where that code located  and where is the code where
> > > > > > it expose
> > > > > > > as
> > > > > > > > JMX
> > > > > > > > >  calls. (Honestly if this is a task which shoud be done by
> > > > > > my self
> > > > > > > just
> > > > > > > > give
> > > > > > > > >  me a clue and I will find where are those )
> > > > > > > >
> > > > > > > > Have a look for all the MBean classes these are the bits
> > > > > > that show up
> > > > > > > > in JConsole.
> > > > > > > >
> > > > > > > > >
> > > > > > > > >  > They can
> > > > > > > > >  > view them on the management console (assuming they can
> > > > > > get it
> > > > > > > working
> > > > > > > > :-),
> > > > > > > > >  > they can attach some other monitoring GUI or
> > > > > > proprietary
> > > > > > > application.
> > > > > > > > >  >
> > > > > > > > >  > For some of our JMX props, they can be set up to log
> > > > > > alerts to the
> > > > > > > > broker
> > > > > > > > >  > log - which can again be monitored.
> > > > > > > > >  >
> > > > > > > > >  > However, it would be really useful if they could simply
> > > > > > use a CLI
> > > > > > > > tool to
> > > > > > > > >  > extract the information they're looking for.
> > > > > > > > >
> > > > > > > > > > +1
> > > > > > > > >
> > > > > > > > > > I had envisaged it taking a really simple form:
> > > > > > > > >  >
> > > > > > > > >  >   - a shell script (bash or .bat) to call the CLI tool,
> > > > > > probably
> > > > > > > > simply
> > > > > > > > >  >   wrapping a java call, which will run as a daemon (or
> > > > > > service)
> > > > > > > > >  >   - a config/properties file or command line options to
> > > > > > specify:
> > > > > > > > >  >      - the JMX attribute to extract
> > > > > > > > >  >      - the frequency with which to extract it, in
> > > > > > minutes (i.e. an
> > > > > > > > >  >      elapsed time between extraction like 5 minutes)
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > If the time is five minutes then if the deamon runs one
> > > > > > hour the CLI
> > > > > > > > outputs
> > > > > > > > >  around 12 out put information.
> > > > > > > > >  As an example CLI should write 12 out put files to a give
> > > > > > location.
> > > > > > > Am
> > > > > > > > I
> > > > > > > > >  correct .. ?
> > > > > > > >
> > > > > > > > I would say it would write 12 times to single file that has
> > > > > > been
> > > > > > > > specified.
> > > > > > > > Potentially you could configure various logging information
> > > > > > to go to a
> > > > > > > > variety of files, but I'd start with a single configurable
> > > > > > file.
> > > > > > > >
> > > > > > > > >  >
> > > > > > > > >  >      - a path into which to record the output
> > > > > > > > >  >      - an option for the output format (see my proposal
> > > > > > info about
> > > > > > > > >  >      formatting etc) like csv, tab-delimited, html etc.
> > > > > > This might
> > > > > > > be
> > > > > > > > >  > better done
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Can be done..!
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >  >
> > > > > > > > >  >      as optional export into another tool ?
> > > > > > > > >  >
> > > > > > > > >
> > > > > > > > >  >   - the properties/config should be extensible so that
> > > > > > new
> > > > > > > attributes
> > > > > > > > >  >   implemented in the broker can easily be added
> > > > > > > > >
> > > > > > > > > > Sure.. this should be in that way.
> > > > > > > > >
> > > > > > > > > > So, when a user wants to get useful management
> > > > > > information from the
> > > > > > > > broker
> > > > > > > > >  > (but not using a GUI) they can simply create a props
> > > > > > file and voila
> > > > > > > !
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Not much clear this statement. "create props file and
> > > > > > voila!"
> > > > > > > >
> > > > > > > > I think what Marnie is saying is that what would be good is
> > > > > > for a user
> > > > > > > > to specify a property file that contains the information
> > > > > > they are
> > > > > > > > after so when they run the command line tool it will simply
> > > > > > return
> > > > > > > > that. If they wished that property file could be used by the
> > > > > > daemon
> > > > > > > > process to populate the logfile.
> > > > > > > >
> > > > > > > > >
> > > > > > > > >  >
> > > > > > > > >  >  What do you think ? Does this make sense to you ok ?
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Exactly this is the best description I got about my
> > > > > > project and thanks
> > > > > > > a
> > > > > > > > lot
> > > > > > > > >  for your great assist.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >  >
> > > > > > > > >  > I'll reply to your email about issues shortly, in a
> > > > > > separate email.
> > > > > > > > >  >
> > > > > > > > >  > Hth,
> > > > > > > > >  > Thanks & Regards,
> > > > > > > > >  > Marnie
> > > > > > > > >  >
> > > > > > > > >
> > > > > > > > > Thanks in advance
> > > > > > > > >
> > > > > > > > >  Regs
> > > > > > > > >
> > > > > > > > > lahiru
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > --
> > > > > > > > Martin Ritchie
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > East or West
> > > > > > > Mahindians are the
> > > > > > > Best... !
> > > > > > >
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > East or West
> > > > > Mahindians are the
> > > > > Best... !
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > East or West
> > > > Mahindians are the
> > > > Best... !
> > > >
> > >
> > >
> > >
> > > --
> > > East or West
> > > Mahindians are the
> > > Best... !
> > >
> >
> >
> >
> > --
> > East or West
> > Mahindians are the
> > Best... !
> >
>
>
>
> --
> East or West
> Mahindians are the
> Best... !
>



-- 
East or West
Mahindians are the
Best... !

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi Marnie,

Here's the console view...

Regards
lahiru

On Tue, May 6, 2008 at 11:25 PM, lahiru gunathilake <gl...@gmail.com>
wrote:

> Hi Marnie,
>
> I was able to connect to Qpid Java broker JMX MBean server using JMX
> connector and print all the org.apache.qpid domain resource (Only the object
> names) which are exposed using JMX. Since this is a simple stage of my
> project and I just sending you a screanshot of the out put of my program(I
> think no need to waste your time by sending the source).
> I think now we can have a discussion on how to give user options and all
> of the other implementation details. And at last, one question, when I got
> all the domains after connecting to Qpid server I saw there are some other
> domains like Implementation,
> sun.com.management,java.lang,java.util.logging(you can see that in the
> screanshot) and do you want me to extract those informations too?
>
> Thanks in advance
>
> Regards
> lahiru
>
>
> On Mon, May 5, 2008 at 10:04 AM, lahiru gunathilake <gl...@gmail.com>
> wrote:
>
> > Hi Marnie,
> >
> > previous mail was sent accidentally, sorry for the inconvenience please
> > be kind enough to go through this email.
> >
> >
> > > As you told me I started of finding all the exposed JMX attributes and
> > > appropriate operations and I'm listing them down in this email. In that I'm
> > > listing only the corresponding class name and corresponding MBean but there
> > > are intermediate classes in between those two. Each and ever MBean class is
> > > extending AMQManagedObject class as you said.
> >
> >
> >
> > > MBEAN CLASS NAME                              RELAVENT INTERFACE
> >
> > ===================               ====================
> >
> > >
> > > 1. AMQUserManagementMBean               UserManagement
> > > 2. AMQBrokerMangerMBean                    ManagedBroker
> > > 3. AMQQMBean                                         ManagedQueue
> > > 4. ExchangeMBean                                    ManagedExchange
> > >
> >
> > Although there are only four classes when we run the qpid-server it
> > create number of instances of these classes with different object names and
> > register them in the MBean server so there are lot of information to extract
> > through a JMX connector. Specially there are some more complex code lying in
> > the Queueing layer.
> > If I have made a mistake in this could you please tell me and honestly
> > that will be very useful for me and still I'm going through the code and
> > meanwhile I'm trying to run the management console too. Hope that will be
> > helpful to understand the project more solid way. As the next step I will go
> > through the code of JMX instrumentation in Qpid and try to understand how
> > management console works.
> >
> > I need some feed from any of you on what to do next, and according to my
> > point as the next step I can write some sample code which connect with the
> > MBeanServer and do some play with the information as the initial step of the
> > CLI.
> >
> > Any thoughts please...?
> >
> > Thanks in advace
> >
> > Regs
> > lahiru
> >
> > >
> > >
> > >
> > >
> > > On Sun, May 4, 2008 at 7:12 PM, lahiru gunathilake <gl...@gmail.com>
> > > wrote:
> > >
> > > > Hi marnie,
> > > >
> > > > Thanks for the reply first.
> > > > Honestly me too was unable to work a lot on Gsoc last couple of days
> > > > due to my personal work and I've already started on reading the JMX MBeans
> > > > code of Qpid and your reply probably will be very helpful for me. I thought
> > > > of reading about JMX stuff  and other thing for few days and I hope I will
> > > > be able to get a good understanding about the project ASAP.
> > > > If you want to have a chat with me just let me know at what time I
> > > > should login.
> > > >
> > > > Thanks in advance
> > > >
> > > > Regs
> > > > lahiru
> > > >
> > > > On Sun, May 4, 2008 at 4:15 PM, Marnie McCormack <
> > > > marnie.mccormack@googlemail.com> wrote:
> > > >
> > > > > Hi Lahiru,
> > > > >
> > > > > Here's an email I prepared on Wed evening but didn't get a chance
> > > > > to send -
> > > > > I hope it helps with your query on the codebase/mbeans. I'm out of
> > > > > the
> > > > > office this week for personal reasons, but I'll try to login as I
> > > > > can and
> > > > > keep up to date with your progress.
> > > > >
> > > > > Re your question on mid evaluation, why don't we discuss that when
> > > > > we next
> > > > > talk. I'd hope I'll be able to call you later this week, but I'll
> > > > > confirm by
> > > > > email to you. Apologies for the slight blip in communication, it
> > > > > should be
> > > > > very temporary.
> > > > >
> > > > > Hth ....
> > > > >
> > > > >
> > > > > Hi Lahiru,
> > > > >
> > > > >
> > > > > As a starting point, you should have a look at the
> > > > > AMQManagedObject
> > > > > interface which is implemented by all classes exposing management
> > > > > methods/attributes. If you search for derived classes
> > > > > (implementing classes)
> > > > > you'll see the set of entities which provide attributes for JMX
> > > > > calls.
> > > > >
> > > > > In particular, the ManagedQueue interface in package
> > > > > org.apache.qpid.server.queue contains a substantial amount of the
> > > > > exposed
> > > > > attributes. This is where the attributes exposed on the broker's
> > > > > queues are
> > > > > described. AMQQueueMBean (same package) implements this interface.
> > > > > This is
> > > > > the best place to get a handle on the queue attributes exposed via
> > > > > JMX.
> > > > >
> > > > > I think a useful first step would be to list out the elements
> > > > > provided via
> > > > > JMX on the broker, and note where they are implemented in the
> > > > > code. The
> > > > > usage of the various elements will differ, in terms of the
> > > > > frequency with
> > > > > which a user might want to check them etc. I hope this would be a
> > > > > useful
> > > > > start ! We can then discuss whether the detail I sent previously
> > > > > about the
> > > > > parameters for running the CLI scripts are appropriate.
> > > > >
> > > > > The management console sholdn't inform much of what your doing, in
> > > > > terms of
> > > > > being a template. However, it might make it easier for you to
> > > > > understand the
> > > > > various elements provided. Martin & Aidan should be able to help
> > > > > you get it
> > > > > up & running. Martin/Aidan - can you can help Lahiru with this
> > > > > please ?
> > > > > Thanks !
> > > > >
> > > > > Senaka's emails on the console setup help a little, though
> > > > > possibly not so
> > > > > relevant to a windows env ?
> > > > >
> > > > > Hth,
> > > > > Regards,
> > > > > Marnie
> > > > >
> > > > >
> > > > >
> > > > > On 5/3/08, lahiru gunathilake <gl...@gmail.com> wrote:
> > > > > >
> > > > > > hi Martin and Marnie,
> > > > > >
> > > > > > Yep I'm going through that code. I found a location where you
> > > > > have written
> > > > > > MBeans and i want to know is that the only location you have
> > > > > registered or
> > > > > > do you have several other places too.
> > > > > > This is the place
> > > > > >
> > > > > >
> > > > > https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management
> > > > > >
> > > > > > I will keep on looking if you know some other places please let
> > > > >  me know
> > > > > > that will be helpful for me to get a rough understanding about
> > > > > Qpid JMX
> > > > > > interface.
> > > > > >
> > > > > > Thanks
> > > > > > lahiru
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > On Fri, May 2, 2008 at 6:11 PM, Martin Ritchie <
> > > > > ritchiem@apache.org>
> > > > > > wrote:
> > > > > >
> > > > > > > Hi, Marnie is away for a few days she may respond but just in
> > > > > case
> > > > > > > here are my thoughts so you are not held up over the weekend.
> > > > > > >
> > > > > > > On 01/05/2008, lahiru gunathilake <gl...@gmail.com> wrote:
> > > > > > > > Hi,
> > > > > > > >
> > > > > > > >  First I'm very sorry for taking sometime to reply to your
> > > > > mail(
> > > > > > because
> > > > > > > I
> > > > > > > >  was uable to be online for yesterday) and thanks a lot for
> > > > > writing me
> > > > > > > about
> > > > > > > >  the Gsoc project.
> > > > > > > >  Thats great and now I know, the image I had about the
> > > > > project is
> > > > > > > correct. I
> > > > > > > >  think I have to create a project plane(I realize it after
> > > > > having a
> > > > > > chat
> > > > > > > with
> > > > > > > >  Aidan) and once I create it I will send it to you.
> > > > > > > >
> > > > > > > >  In order to create a clear project plan honestly could you
> > > > > please
> > > > > > tell
> > > > > > > me
> > > > > > > >  what should I finish when it comes to mid evaluation. I'm
> > > > > sure, that
> > > > > > > will
> > > > > > > >  help me a lot to create a better road map.
> > > > > > > >
> > > > > > > >  Next thing.. Could you please look in to my inline comment.
> > > > > > > >
> > > > > > > >
> > > > > > > >  On Wed, Apr 30, 2008 at 12:13 AM, Marnie McCormack <
> > > > > > > >  marnie.mccormack@googlemail.com> wrote:
> > > > > > > >
> > > > > > > >  > Hi Lahiru,
> > > > > > > >  >
> > > > > > > >  > As promised here are my thoughts about what I'd like to
> > > > > achieve
> > > > > > from
> > > > > > > the
> > > > > > > >  > project I defined for your GSoC work.
> > > > > > > >  >
> > > > > > > >  > So, currently we provide some JMX calls which expose
> > > > > various
> > > > > > > attributes in
> > > > > > > >  > the Qpid Java broker. We have users who are interested in
> > > > > these
> > > > > > > >  > attributes,
> > > > > > > >  > but there's currently no simple way for them to get
> > > > > access to them.
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Can I know exactly what are they(where are those attributes
> > > > > in the
> > > > > > Qpid
> > > > > > > code
> > > > > > > >  base) . I can check them with Jconsole as a user. But as a
> > > > > developer
> > > > > > > can I
> > > > > > > >  know where that code located  and where is the code where
> > > > > it expose
> > > > > > as
> > > > > > > JMX
> > > > > > > >  calls. (Honestly if this is a task which shoud be done by
> > > > > my self
> > > > > > just
> > > > > > > give
> > > > > > > >  me a clue and I will find where are those )
> > > > > > >
> > > > > > > Have a look for all the MBean classes these are the bits that
> > > > > show up
> > > > > > > in JConsole.
> > > > > > >
> > > > > > > >
> > > > > > > >  > They can
> > > > > > > >  > view them on the management console (assuming they can
> > > > > get it
> > > > > > working
> > > > > > > :-),
> > > > > > > >  > they can attach some other monitoring GUI or proprietary
> > > > > > application.
> > > > > > > >  >
> > > > > > > >  > For some of our JMX props, they can be set up to log
> > > > > alerts to the
> > > > > > > broker
> > > > > > > >  > log - which can again be monitored.
> > > > > > > >  >
> > > > > > > >  > However, it would be really useful if they could simply
> > > > > use a CLI
> > > > > > > tool to
> > > > > > > >  > extract the information they're looking for.
> > > > > > > >
> > > > > > > > > +1
> > > > > > > >
> > > > > > > > > I had envisaged it taking a really simple form:
> > > > > > > >  >
> > > > > > > >  >   - a shell script (bash or .bat) to call the CLI tool,
> > > > > probably
> > > > > > > simply
> > > > > > > >  >   wrapping a java call, which will run as a daemon (or
> > > > > service)
> > > > > > > >  >   - a config/properties file or command line options to
> > > > > specify:
> > > > > > > >  >      - the JMX attribute to extract
> > > > > > > >  >      - the frequency with which to extract it, in minutes
> > > > > (i.e. an
> > > > > > > >  >      elapsed time between extraction like 5 minutes)
> > > > > > > >
> > > > > > > >
> > > > > > > > If the time is five minutes then if the deamon runs one hour
> > > > > the CLI
> > > > > > > outputs
> > > > > > > >  around 12 out put information.
> > > > > > > >  As an example CLI should write 12 out put files to a give
> > > > > location.
> > > > > > Am
> > > > > > > I
> > > > > > > >  correct .. ?
> > > > > > >
> > > > > > > I would say it would write 12 times to single file that has
> > > > > been
> > > > > > > specified.
> > > > > > > Potentially you could configure various logging information to
> > > > > go to a
> > > > > > > variety of files, but I'd start with a single configurable
> > > > > file.
> > > > > > >
> > > > > > > >  >
> > > > > > > >  >      - a path into which to record the output
> > > > > > > >  >      - an option for the output format (see my proposal
> > > > > info about
> > > > > > > >  >      formatting etc) like csv, tab-delimited, html etc.
> > > > > This might
> > > > > > be
> > > > > > > >  > better done
> > > > > > > >
> > > > > > > >
> > > > > > > > Can be done..!
> > > > > > > >
> > > > > > > >
> > > > > > > >  >
> > > > > > > >  >      as optional export into another tool ?
> > > > > > > >  >
> > > > > > > >
> > > > > > > >  >   - the properties/config should be extensible so that
> > > > > new
> > > > > > attributes
> > > > > > > >  >   implemented in the broker can easily be added
> > > > > > > >
> > > > > > > > > Sure.. this should be in that way.
> > > > > > > >
> > > > > > > > > So, when a user wants to get useful management information
> > > > > from the
> > > > > > > broker
> > > > > > > >  > (but not using a GUI) they can simply create a props file
> > > > > and voila
> > > > > > !
> > > > > > > >
> > > > > > > >
> > > > > > > > Not much clear this statement. "create props file and
> > > > > voila!"
> > > > > > >
> > > > > > > I think what Marnie is saying is that what would be good is
> > > > > for a user
> > > > > > > to specify a property file that contains the information they
> > > > > are
> > > > > > > after so when they run the command line tool it will simply
> > > > > return
> > > > > > > that. If they wished that property file could be used by the
> > > > > daemon
> > > > > > > process to populate the logfile.
> > > > > > >
> > > > > > > >
> > > > > > > >  >
> > > > > > > >  >  What do you think ? Does this make sense to you ok ?
> > > > > > > >
> > > > > > > >
> > > > > > > > Exactly this is the best description I got about my project
> > > > > and thanks
> > > > > > a
> > > > > > > lot
> > > > > > > >  for your great assist.
> > > > > > > >
> > > > > > > >
> > > > > > > >  >
> > > > > > > >  > I'll reply to your email about issues shortly, in a
> > > > > separate email.
> > > > > > > >  >
> > > > > > > >  > Hth,
> > > > > > > >  > Thanks & Regards,
> > > > > > > >  > Marnie
> > > > > > > >  >
> > > > > > > >
> > > > > > > > Thanks in advance
> > > > > > > >
> > > > > > > >  Regs
> > > > > > > >
> > > > > > > > lahiru
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Martin Ritchie
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > East or West
> > > > > > Mahindians are the
> > > > > > Best... !
> > > > > >
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > East or West
> > > > Mahindians are the
> > > > Best... !
> > > >
> > >
> > >
> > >
> > > --
> > > East or West
> > > Mahindians are the
> > > Best... !
> > >
> >
> >
> >
> > --
> > East or West
> > Mahindians are the
> > Best... !
> >
>
>
>
> --
> East or West
> Mahindians are the
> Best... !
>



-- 
East or West
Mahindians are the
Best... !

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi Marnie,

I was able to connect to Qpid Java broker JMX MBean server using JMX
connector and print all the org.apache.qpid domain resource (Only the object
names) which are exposed using JMX. Since this is a simple stage of my
project and I just sending you a screanshot of the out put of my program(I
think no need to waste your time by sending the source).
I think now we can have a discussion on how to give user options and all of
the other implementation details. And at last, one question, when I got all
the domains after connecting to Qpid server I saw there are some other
domains like Implementation,
sun.com.management,java.lang,java.util.logging(you can see that in the
screanshot) and do you want me to extract those informations too?

Thanks in advance

Regards
lahiru

On Mon, May 5, 2008 at 10:04 AM, lahiru gunathilake <gl...@gmail.com>
wrote:

> Hi Marnie,
>
> previous mail was sent accidentally, sorry for the inconvenience please be
> kind enough to go through this email.
>
>
> > As you told me I started of finding all the exposed JMX attributes and
> > appropriate operations and I'm listing them down in this email. In that I'm
> > listing only the corresponding class name and corresponding MBean but there
> > are intermediate classes in between those two. Each and ever MBean class is
> > extending AMQManagedObject class as you said.
>
>
>
> > MBEAN CLASS NAME                              RELAVENT INTERFACE
>
> ===================               ====================
>
> >
> > 1. AMQUserManagementMBean               UserManagement
> > 2. AMQBrokerMangerMBean                    ManagedBroker
> > 3. AMQQMBean                                         ManagedQueue
> > 4. ExchangeMBean                                    ManagedExchange
> >
>
> Although there are only four classes when we run the qpid-server it create
> number of instances of these classes with different object names and
> register them in the MBean server so there are lot of information to extract
> through a JMX connector. Specially there are some more complex code lying in
> the Queueing layer.
> If I have made a mistake in this could you please tell me and honestly
> that will be very useful for me and still I'm going through the code and
> meanwhile I'm trying to run the management console too. Hope that will be
> helpful to understand the project more solid way. As the next step I will go
> through the code of JMX instrumentation in Qpid and try to understand how
> management console works.
>
> I need some feed from any of you on what to do next, and according to my
> point as the next step I can write some sample code which connect with the
> MBeanServer and do some play with the information as the initial step of the
> CLI.
>
> Any thoughts please...?
>
> Thanks in advace
>
> Regs
> lahiru
>
> >
> >
> >
> >
> > On Sun, May 4, 2008 at 7:12 PM, lahiru gunathilake <gl...@gmail.com>
> > wrote:
> >
> > > Hi marnie,
> > >
> > > Thanks for the reply first.
> > > Honestly me too was unable to work a lot on Gsoc last couple of days
> > > due to my personal work and I've already started on reading the JMX MBeans
> > > code of Qpid and your reply probably will be very helpful for me. I thought
> > > of reading about JMX stuff  and other thing for few days and I hope I will
> > > be able to get a good understanding about the project ASAP.
> > > If you want to have a chat with me just let me know at what time I
> > > should login.
> > >
> > > Thanks in advance
> > >
> > > Regs
> > > lahiru
> > >
> > > On Sun, May 4, 2008 at 4:15 PM, Marnie McCormack <
> > > marnie.mccormack@googlemail.com> wrote:
> > >
> > > > Hi Lahiru,
> > > >
> > > > Here's an email I prepared on Wed evening but didn't get a chance to
> > > > send -
> > > > I hope it helps with your query on the codebase/mbeans. I'm out of
> > > > the
> > > > office this week for personal reasons, but I'll try to login as I
> > > > can and
> > > > keep up to date with your progress.
> > > >
> > > > Re your question on mid evaluation, why don't we discuss that when
> > > > we next
> > > > talk. I'd hope I'll be able to call you later this week, but I'll
> > > > confirm by
> > > > email to you. Apologies for the slight blip in communication, it
> > > > should be
> > > > very temporary.
> > > >
> > > > Hth ....
> > > >
> > > >
> > > > Hi Lahiru,
> > > >
> > > >
> > > > As a starting point, you should have a look at the AMQManagedObject
> > > > interface which is implemented by all classes exposing management
> > > > methods/attributes. If you search for derived classes (implementing
> > > > classes)
> > > > you'll see the set of entities which provide attributes for JMX
> > > > calls.
> > > >
> > > > In particular, the ManagedQueue interface in package
> > > > org.apache.qpid.server.queue contains a substantial amount of the
> > > > exposed
> > > > attributes. This is where the attributes exposed on the broker's
> > > > queues are
> > > > described. AMQQueueMBean (same package) implements this interface.
> > > > This is
> > > > the best place to get a handle on the queue attributes exposed via
> > > > JMX.
> > > >
> > > > I think a useful first step would be to list out the elements
> > > > provided via
> > > > JMX on the broker, and note where they are implemented in the code.
> > > > The
> > > > usage of the various elements will differ, in terms of the frequency
> > > > with
> > > > which a user might want to check them etc. I hope this would be a
> > > > useful
> > > > start ! We can then discuss whether the detail I sent previously
> > > > about the
> > > > parameters for running the CLI scripts are appropriate.
> > > >
> > > > The management console sholdn't inform much of what your doing, in
> > > > terms of
> > > > being a template. However, it might make it easier for you to
> > > > understand the
> > > > various elements provided. Martin & Aidan should be able to help you
> > > > get it
> > > > up & running. Martin/Aidan - can you can help Lahiru with this
> > > > please ?
> > > > Thanks !
> > > >
> > > > Senaka's emails on the console setup help a little, though possibly
> > > > not so
> > > > relevant to a windows env ?
> > > >
> > > > Hth,
> > > > Regards,
> > > > Marnie
> > > >
> > > >
> > > >
> > > > On 5/3/08, lahiru gunathilake <gl...@gmail.com> wrote:
> > > > >
> > > > > hi Martin and Marnie,
> > > > >
> > > > > Yep I'm going through that code. I found a location where you have
> > > > written
> > > > > MBeans and i want to know is that the only location you have
> > > > registered or
> > > > > do you have several other places too.
> > > > > This is the place
> > > > >
> > > > >
> > > > https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management
> > > > >
> > > > > I will keep on looking if you know some other places please let
> > > >  me know
> > > > > that will be helpful for me to get a rough understanding about
> > > > Qpid JMX
> > > > > interface.
> > > > >
> > > > > Thanks
> > > > > lahiru
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > On Fri, May 2, 2008 at 6:11 PM, Martin Ritchie <
> > > > ritchiem@apache.org>
> > > > > wrote:
> > > > >
> > > > > > Hi, Marnie is away for a few days she may respond but just in
> > > > case
> > > > > > here are my thoughts so you are not held up over the weekend.
> > > > > >
> > > > > > On 01/05/2008, lahiru gunathilake <gl...@gmail.com> wrote:
> > > > > > > Hi,
> > > > > > >
> > > > > > >  First I'm very sorry for taking sometime to reply to your
> > > > mail(
> > > > > because
> > > > > > I
> > > > > > >  was uable to be online for yesterday) and thanks a lot for
> > > > writing me
> > > > > > about
> > > > > > >  the Gsoc project.
> > > > > > >  Thats great and now I know, the image I had about the project
> > > > is
> > > > > > correct. I
> > > > > > >  think I have to create a project plane(I realize it after
> > > > having a
> > > > > chat
> > > > > > with
> > > > > > >  Aidan) and once I create it I will send it to you.
> > > > > > >
> > > > > > >  In order to create a clear project plan honestly could you
> > > > please
> > > > > tell
> > > > > > me
> > > > > > >  what should I finish when it comes to mid evaluation. I'm
> > > > sure, that
> > > > > > will
> > > > > > >  help me a lot to create a better road map.
> > > > > > >
> > > > > > >  Next thing.. Could you please look in to my inline comment.
> > > > > > >
> > > > > > >
> > > > > > >  On Wed, Apr 30, 2008 at 12:13 AM, Marnie McCormack <
> > > > > > >  marnie.mccormack@googlemail.com> wrote:
> > > > > > >
> > > > > > >  > Hi Lahiru,
> > > > > > >  >
> > > > > > >  > As promised here are my thoughts about what I'd like to
> > > > achieve
> > > > > from
> > > > > > the
> > > > > > >  > project I defined for your GSoC work.
> > > > > > >  >
> > > > > > >  > So, currently we provide some JMX calls which expose
> > > > various
> > > > > > attributes in
> > > > > > >  > the Qpid Java broker. We have users who are interested in
> > > > these
> > > > > > >  > attributes,
> > > > > > >  > but there's currently no simple way for them to get access
> > > > to them.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Can I know exactly what are they(where are those attributes in
> > > > the
> > > > > Qpid
> > > > > > code
> > > > > > >  base) . I can check them with Jconsole as a user. But as a
> > > > developer
> > > > > > can I
> > > > > > >  know where that code located  and where is the code where it
> > > > expose
> > > > > as
> > > > > > JMX
> > > > > > >  calls. (Honestly if this is a task which shoud be done by my
> > > > self
> > > > > just
> > > > > > give
> > > > > > >  me a clue and I will find where are those )
> > > > > >
> > > > > > Have a look for all the MBean classes these are the bits that
> > > > show up
> > > > > > in JConsole.
> > > > > >
> > > > > > >
> > > > > > >  > They can
> > > > > > >  > view them on the management console (assuming they can get
> > > > it
> > > > > working
> > > > > > :-),
> > > > > > >  > they can attach some other monitoring GUI or proprietary
> > > > > application.
> > > > > > >  >
> > > > > > >  > For some of our JMX props, they can be set up to log alerts
> > > > to the
> > > > > > broker
> > > > > > >  > log - which can again be monitored.
> > > > > > >  >
> > > > > > >  > However, it would be really useful if they could simply use
> > > > a CLI
> > > > > > tool to
> > > > > > >  > extract the information they're looking for.
> > > > > > >
> > > > > > > > +1
> > > > > > >
> > > > > > > > I had envisaged it taking a really simple form:
> > > > > > >  >
> > > > > > >  >   - a shell script (bash or .bat) to call the CLI tool,
> > > > probably
> > > > > > simply
> > > > > > >  >   wrapping a java call, which will run as a daemon (or
> > > > service)
> > > > > > >  >   - a config/properties file or command line options to
> > > > specify:
> > > > > > >  >      - the JMX attribute to extract
> > > > > > >  >      - the frequency with which to extract it, in minutes
> > > > (i.e. an
> > > > > > >  >      elapsed time between extraction like 5 minutes)
> > > > > > >
> > > > > > >
> > > > > > > If the time is five minutes then if the deamon runs one hour
> > > > the CLI
> > > > > > outputs
> > > > > > >  around 12 out put information.
> > > > > > >  As an example CLI should write 12 out put files to a give
> > > > location.
> > > > > Am
> > > > > > I
> > > > > > >  correct .. ?
> > > > > >
> > > > > > I would say it would write 12 times to single file that has been
> > > > > > specified.
> > > > > > Potentially you could configure various logging information to
> > > > go to a
> > > > > > variety of files, but I'd start with a single configurable file.
> > > > > >
> > > > > > >  >
> > > > > > >  >      - a path into which to record the output
> > > > > > >  >      - an option for the output format (see my proposal
> > > > info about
> > > > > > >  >      formatting etc) like csv, tab-delimited, html etc.
> > > > This might
> > > > > be
> > > > > > >  > better done
> > > > > > >
> > > > > > >
> > > > > > > Can be done..!
> > > > > > >
> > > > > > >
> > > > > > >  >
> > > > > > >  >      as optional export into another tool ?
> > > > > > >  >
> > > > > > >
> > > > > > >  >   - the properties/config should be extensible so that new
> > > > > attributes
> > > > > > >  >   implemented in the broker can easily be added
> > > > > > >
> > > > > > > > Sure.. this should be in that way.
> > > > > > >
> > > > > > > > So, when a user wants to get useful management information
> > > > from the
> > > > > > broker
> > > > > > >  > (but not using a GUI) they can simply create a props file
> > > > and voila
> > > > > !
> > > > > > >
> > > > > > >
> > > > > > > Not much clear this statement. "create props file and voila!"
> > > > > >
> > > > > > I think what Marnie is saying is that what would be good is for
> > > > a user
> > > > > > to specify a property file that contains the information they
> > > > are
> > > > > > after so when they run the command line tool it will simply
> > > > return
> > > > > > that. If they wished that property file could be used by the
> > > > daemon
> > > > > > process to populate the logfile.
> > > > > >
> > > > > > >
> > > > > > >  >
> > > > > > >  >  What do you think ? Does this make sense to you ok ?
> > > > > > >
> > > > > > >
> > > > > > > Exactly this is the best description I got about my project
> > > > and thanks
> > > > > a
> > > > > > lot
> > > > > > >  for your great assist.
> > > > > > >
> > > > > > >
> > > > > > >  >
> > > > > > >  > I'll reply to your email about issues shortly, in a
> > > > separate email.
> > > > > > >  >
> > > > > > >  > Hth,
> > > > > > >  > Thanks & Regards,
> > > > > > >  > Marnie
> > > > > > >  >
> > > > > > >
> > > > > > > Thanks in advance
> > > > > > >
> > > > > > >  Regs
> > > > > > >
> > > > > > > lahiru
> > > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Martin Ritchie
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > East or West
> > > > > Mahindians are the
> > > > > Best... !
> > > > >
> > > >
> > >
> > >
> > >
> > > --
> > > East or West
> > > Mahindians are the
> > > Best... !
> > >
> >
> >
> >
> > --
> > East or West
> > Mahindians are the
> > Best... !
> >
>
>
>
> --
> East or West
> Mahindians are the
> Best... !
>



-- 
East or West
Mahindians are the
Best... !

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi Marnie,

previous mail was sent accidentally, sorry for the inconvenience please be
kind enough to go through this email.


> As you told me I started of finding all the exposed JMX attributes and
> appropriate operations and I'm listing them down in this email. In that I'm
> listing only the corresponding class name and corresponding MBean but there
> are intermediate classes in between those two. Each and ever MBean class is
> extending AMQManagedObject class as you said.



> MBEAN CLASS NAME                              RELAVENT INTERFACE

===================               ====================

>
> 1. AMQUserManagementMBean               UserManagement
> 2. AMQBrokerMangerMBean                    ManagedBroker
> 3. AMQQMBean                                         ManagedQueue
> 4. ExchangeMBean                                    ManagedExchange
>

Although there are only four classes when we run the qpid-server it create
number of instances of these classes with different object names and
register them in the MBean server so there are lot of information to extract
through a JMX connector. Specially there are some more complex code lying in
the Queueing layer.
If I have made a mistake in this could you please tell me and honestly that
will be very useful for me and still I'm going through the code and
meanwhile I'm trying to run the management console too. Hope that will be
helpful to understand the project more solid way. As the next step I will go
through the code of JMX instrumentation in Qpid and try to understand how
management console works.

I need some feed from any of you on what to do next, and according to my
point as the next step I can write some sample code which connect with the
MBeanServer and do some play with the information as the initial step of the
CLI.

Any thoughts please...?

Thanks in advace

Regs
lahiru

>
>
>
>
> On Sun, May 4, 2008 at 7:12 PM, lahiru gunathilake <gl...@gmail.com>
> wrote:
>
> > Hi marnie,
> >
> > Thanks for the reply first.
> > Honestly me too was unable to work a lot on Gsoc last couple of days due
> > to my personal work and I've already started on reading the JMX MBeans code
> > of Qpid and your reply probably will be very helpful for me. I thought of
> > reading about JMX stuff  and other thing for few days and I hope I will be
> > able to get a good understanding about the project ASAP.
> > If you want to have a chat with me just let me know at what time I
> > should login.
> >
> > Thanks in advance
> >
> > Regs
> > lahiru
> >
> > On Sun, May 4, 2008 at 4:15 PM, Marnie McCormack <
> > marnie.mccormack@googlemail.com> wrote:
> >
> > > Hi Lahiru,
> > >
> > > Here's an email I prepared on Wed evening but didn't get a chance to
> > > send -
> > > I hope it helps with your query on the codebase/mbeans. I'm out of the
> > > office this week for personal reasons, but I'll try to login as I can
> > > and
> > > keep up to date with your progress.
> > >
> > > Re your question on mid evaluation, why don't we discuss that when we
> > > next
> > > talk. I'd hope I'll be able to call you later this week, but I'll
> > > confirm by
> > > email to you. Apologies for the slight blip in communication, it
> > > should be
> > > very temporary.
> > >
> > > Hth ....
> > >
> > >
> > > Hi Lahiru,
> > >
> > >
> > > As a starting point, you should have a look at the AMQManagedObject
> > > interface which is implemented by all classes exposing management
> > > methods/attributes. If you search for derived classes (implementing
> > > classes)
> > > you'll see the set of entities which provide attributes for JMX calls.
> > >
> > > In particular, the ManagedQueue interface in package
> > > org.apache.qpid.server.queue contains a substantial amount of the
> > > exposed
> > > attributes. This is where the attributes exposed on the broker's
> > > queues are
> > > described. AMQQueueMBean (same package) implements this interface.
> > > This is
> > > the best place to get a handle on the queue attributes exposed via
> > > JMX.
> > >
> > > I think a useful first step would be to list out the elements provided
> > > via
> > > JMX on the broker, and note where they are implemented in the code.
> > > The
> > > usage of the various elements will differ, in terms of the frequency
> > > with
> > > which a user might want to check them etc. I hope this would be a
> > > useful
> > > start ! We can then discuss whether the detail I sent previously about
> > > the
> > > parameters for running the CLI scripts are appropriate.
> > >
> > > The management console sholdn't inform much of what your doing, in
> > > terms of
> > > being a template. However, it might make it easier for you to
> > > understand the
> > > various elements provided. Martin & Aidan should be able to help you
> > > get it
> > > up & running. Martin/Aidan - can you can help Lahiru with this please
> > > ?
> > > Thanks !
> > >
> > > Senaka's emails on the console setup help a little, though possibly
> > > not so
> > > relevant to a windows env ?
> > >
> > > Hth,
> > > Regards,
> > > Marnie
> > >
> > >
> > >
> > > On 5/3/08, lahiru gunathilake <gl...@gmail.com> wrote:
> > > >
> > > > hi Martin and Marnie,
> > > >
> > > > Yep I'm going through that code. I found a location where you have
> > > written
> > > > MBeans and i want to know is that the only location you have
> > > registered or
> > > > do you have several other places too.
> > > > This is the place
> > > >
> > > >
> > > https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management
> > > >
> > > > I will keep on looking if you know some other places please let  me
> > > know
> > > > that will be helpful for me to get a rough understanding about Qpid
> > > JMX
> > > > interface.
> > > >
> > > > Thanks
> > > > lahiru
> > > >
> > > >
> > > >
> > > >
> > > > On Fri, May 2, 2008 at 6:11 PM, Martin Ritchie <ri...@apache.org>
> > > > wrote:
> > > >
> > > > > Hi, Marnie is away for a few days she may respond but just in case
> > > > > here are my thoughts so you are not held up over the weekend.
> > > > >
> > > > > On 01/05/2008, lahiru gunathilake <gl...@gmail.com> wrote:
> > > > > > Hi,
> > > > > >
> > > > > >  First I'm very sorry for taking sometime to reply to your mail(
> > > > because
> > > > > I
> > > > > >  was uable to be online for yesterday) and thanks a lot for
> > > writing me
> > > > > about
> > > > > >  the Gsoc project.
> > > > > >  Thats great and now I know, the image I had about the project
> > > is
> > > > > correct. I
> > > > > >  think I have to create a project plane(I realize it after
> > > having a
> > > > chat
> > > > > with
> > > > > >  Aidan) and once I create it I will send it to you.
> > > > > >
> > > > > >  In order to create a clear project plan honestly could you
> > > please
> > > > tell
> > > > > me
> > > > > >  what should I finish when it comes to mid evaluation. I'm sure,
> > > that
> > > > > will
> > > > > >  help me a lot to create a better road map.
> > > > > >
> > > > > >  Next thing.. Could you please look in to my inline comment.
> > > > > >
> > > > > >
> > > > > >  On Wed, Apr 30, 2008 at 12:13 AM, Marnie McCormack <
> > > > > >  marnie.mccormack@googlemail.com> wrote:
> > > > > >
> > > > > >  > Hi Lahiru,
> > > > > >  >
> > > > > >  > As promised here are my thoughts about what I'd like to
> > > achieve
> > > > from
> > > > > the
> > > > > >  > project I defined for your GSoC work.
> > > > > >  >
> > > > > >  > So, currently we provide some JMX calls which expose various
> > > > > attributes in
> > > > > >  > the Qpid Java broker. We have users who are interested in
> > > these
> > > > > >  > attributes,
> > > > > >  > but there's currently no simple way for them to get access to
> > > them.
> > > > > >
> > > > > >
> > > > > >
> > > > > > Can I know exactly what are they(where are those attributes in
> > > the
> > > > Qpid
> > > > > code
> > > > > >  base) . I can check them with Jconsole as a user. But as a
> > > developer
> > > > > can I
> > > > > >  know where that code located  and where is the code where it
> > > expose
> > > > as
> > > > > JMX
> > > > > >  calls. (Honestly if this is a task which shoud be done by my
> > > self
> > > > just
> > > > > give
> > > > > >  me a clue and I will find where are those )
> > > > >
> > > > > Have a look for all the MBean classes these are the bits that show
> > > up
> > > > > in JConsole.
> > > > >
> > > > > >
> > > > > >  > They can
> > > > > >  > view them on the management console (assuming they can get it
> > > > working
> > > > > :-),
> > > > > >  > they can attach some other monitoring GUI or proprietary
> > > > application.
> > > > > >  >
> > > > > >  > For some of our JMX props, they can be set up to log alerts
> > > to the
> > > > > broker
> > > > > >  > log - which can again be monitored.
> > > > > >  >
> > > > > >  > However, it would be really useful if they could simply use a
> > > CLI
> > > > > tool to
> > > > > >  > extract the information they're looking for.
> > > > > >
> > > > > > > +1
> > > > > >
> > > > > > > I had envisaged it taking a really simple form:
> > > > > >  >
> > > > > >  >   - a shell script (bash or .bat) to call the CLI tool,
> > > probably
> > > > > simply
> > > > > >  >   wrapping a java call, which will run as a daemon (or
> > > service)
> > > > > >  >   - a config/properties file or command line options to
> > > specify:
> > > > > >  >      - the JMX attribute to extract
> > > > > >  >      - the frequency with which to extract it, in minutes
> > > (i.e. an
> > > > > >  >      elapsed time between extraction like 5 minutes)
> > > > > >
> > > > > >
> > > > > > If the time is five minutes then if the deamon runs one hour the
> > > CLI
> > > > > outputs
> > > > > >  around 12 out put information.
> > > > > >  As an example CLI should write 12 out put files to a give
> > > location.
> > > > Am
> > > > > I
> > > > > >  correct .. ?
> > > > >
> > > > > I would say it would write 12 times to single file that has been
> > > > > specified.
> > > > > Potentially you could configure various logging information to go
> > > to a
> > > > > variety of files, but I'd start with a single configurable file.
> > > > >
> > > > > >  >
> > > > > >  >      - a path into which to record the output
> > > > > >  >      - an option for the output format (see my proposal info
> > > about
> > > > > >  >      formatting etc) like csv, tab-delimited, html etc. This
> > > might
> > > > be
> > > > > >  > better done
> > > > > >
> > > > > >
> > > > > > Can be done..!
> > > > > >
> > > > > >
> > > > > >  >
> > > > > >  >      as optional export into another tool ?
> > > > > >  >
> > > > > >
> > > > > >  >   - the properties/config should be extensible so that new
> > > > attributes
> > > > > >  >   implemented in the broker can easily be added
> > > > > >
> > > > > > > Sure.. this should be in that way.
> > > > > >
> > > > > > > So, when a user wants to get useful management information
> > > from the
> > > > > broker
> > > > > >  > (but not using a GUI) they can simply create a props file and
> > > voila
> > > > !
> > > > > >
> > > > > >
> > > > > > Not much clear this statement. "create props file and voila!"
> > > > >
> > > > > I think what Marnie is saying is that what would be good is for a
> > > user
> > > > > to specify a property file that contains the information they are
> > > > > after so when they run the command line tool it will simply return
> > > > > that. If they wished that property file could be used by the
> > > daemon
> > > > > process to populate the logfile.
> > > > >
> > > > > >
> > > > > >  >
> > > > > >  >  What do you think ? Does this make sense to you ok ?
> > > > > >
> > > > > >
> > > > > > Exactly this is the best description I got about my project and
> > > thanks
> > > > a
> > > > > lot
> > > > > >  for your great assist.
> > > > > >
> > > > > >
> > > > > >  >
> > > > > >  > I'll reply to your email about issues shortly, in a separate
> > > email.
> > > > > >  >
> > > > > >  > Hth,
> > > > > >  > Thanks & Regards,
> > > > > >  > Marnie
> > > > > >  >
> > > > > >
> > > > > > Thanks in advance
> > > > > >
> > > > > >  Regs
> > > > > >
> > > > > > lahiru
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Martin Ritchie
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > East or West
> > > > Mahindians are the
> > > > Best... !
> > > >
> > >
> >
> >
> >
> > --
> > East or West
> > Mahindians are the
> > Best... !
> >
>
>
>
> --
> East or West
> Mahindians are the
> Best... !
>



-- 
East or West
Mahindians are the
Best... !

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi Marnie,

As you told me I started from finding all the exposed JMX attributes and
appropriate operations and I'm listing them down in this email. In that I'm
listing only the corresponding class name and corresponding MBean but there
are intermediate classes in between that. Each and ever MBean class is
extending AMQManagedObject class as you said.
  MBean Class_name                relevent interface
1. AMQUserManagementMBean               UserManagement
2. AMQBrokerMangerMBean                 ManagedBroker
3. AMQQMBean                            ManagedQueue
4. ExchangeMBean                        ManagedExchange



On Sun, May 4, 2008 at 7:12 PM, lahiru gunathilake <gl...@gmail.com>
wrote:

> Hi marnie,
>
> Thanks for the reply first.
> Honestly me too was unable to work a lot on Gsoc last couple of days due
> to my personal work and I've already started on reading the JMX MBeans code
> of Qpid and your reply probably will be very helpful for me. I thought of
> reading about JMX stuff  and other thing for few days and I hope I will be
> able to get a good understanding about the project ASAP.
> If you want to have a chat with me just let me know at what time I should
> login.
>
> Thanks in advance
>
> Regs
> lahiru
>
> On Sun, May 4, 2008 at 4:15 PM, Marnie McCormack <
> marnie.mccormack@googlemail.com> wrote:
>
> > Hi Lahiru,
> >
> > Here's an email I prepared on Wed evening but didn't get a chance to
> > send -
> > I hope it helps with your query on the codebase/mbeans. I'm out of the
> > office this week for personal reasons, but I'll try to login as I can
> > and
> > keep up to date with your progress.
> >
> > Re your question on mid evaluation, why don't we discuss that when we
> > next
> > talk. I'd hope I'll be able to call you later this week, but I'll
> > confirm by
> > email to you. Apologies for the slight blip in communication, it should
> > be
> > very temporary.
> >
> > Hth ....
> >
> >
> > Hi Lahiru,
> >
> >
> > As a starting point, you should have a look at the AMQManagedObject
> > interface which is implemented by all classes exposing management
> > methods/attributes. If you search for derived classes (implementing
> > classes)
> > you'll see the set of entities which provide attributes for JMX calls.
> >
> > In particular, the ManagedQueue interface in package
> > org.apache.qpid.server.queue contains a substantial amount of the
> > exposed
> > attributes. This is where the attributes exposed on the broker's queues
> > are
> > described. AMQQueueMBean (same package) implements this interface. This
> > is
> > the best place to get a handle on the queue attributes exposed via JMX.
> >
> > I think a useful first step would be to list out the elements provided
> > via
> > JMX on the broker, and note where they are implemented in the code. The
> > usage of the various elements will differ, in terms of the frequency
> > with
> > which a user might want to check them etc. I hope this would be a useful
> > start ! We can then discuss whether the detail I sent previously about
> > the
> > parameters for running the CLI scripts are appropriate.
> >
> > The management console sholdn't inform much of what your doing, in terms
> > of
> > being a template. However, it might make it easier for you to understand
> > the
> > various elements provided. Martin & Aidan should be able to help you get
> > it
> > up & running. Martin/Aidan - can you can help Lahiru with this please ?
> > Thanks !
> >
> > Senaka's emails on the console setup help a little, though possibly not
> > so
> > relevant to a windows env ?
> >
> > Hth,
> > Regards,
> > Marnie
> >
> >
> >
> > On 5/3/08, lahiru gunathilake <gl...@gmail.com> wrote:
> > >
> > > hi Martin and Marnie,
> > >
> > > Yep I'm going through that code. I found a location where you have
> > written
> > > MBeans and i want to know is that the only location you have
> > registered or
> > > do you have several other places too.
> > > This is the place
> > >
> > >
> > https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management
> > >
> > > I will keep on looking if you know some other places please let  me
> > know
> > > that will be helpful for me to get a rough understanding about Qpid
> > JMX
> > > interface.
> > >
> > > Thanks
> > > lahiru
> > >
> > >
> > >
> > >
> > > On Fri, May 2, 2008 at 6:11 PM, Martin Ritchie <ri...@apache.org>
> > > wrote:
> > >
> > > > Hi, Marnie is away for a few days she may respond but just in case
> > > > here are my thoughts so you are not held up over the weekend.
> > > >
> > > > On 01/05/2008, lahiru gunathilake <gl...@gmail.com> wrote:
> > > > > Hi,
> > > > >
> > > > >  First I'm very sorry for taking sometime to reply to your mail(
> > > because
> > > > I
> > > > >  was uable to be online for yesterday) and thanks a lot for
> > writing me
> > > > about
> > > > >  the Gsoc project.
> > > > >  Thats great and now I know, the image I had about the project is
> > > > correct. I
> > > > >  think I have to create a project plane(I realize it after having
> > a
> > > chat
> > > > with
> > > > >  Aidan) and once I create it I will send it to you.
> > > > >
> > > > >  In order to create a clear project plan honestly could you please
> > > tell
> > > > me
> > > > >  what should I finish when it comes to mid evaluation. I'm sure,
> > that
> > > > will
> > > > >  help me a lot to create a better road map.
> > > > >
> > > > >  Next thing.. Could you please look in to my inline comment.
> > > > >
> > > > >
> > > > >  On Wed, Apr 30, 2008 at 12:13 AM, Marnie McCormack <
> > > > >  marnie.mccormack@googlemail.com> wrote:
> > > > >
> > > > >  > Hi Lahiru,
> > > > >  >
> > > > >  > As promised here are my thoughts about what I'd like to achieve
> > > from
> > > > the
> > > > >  > project I defined for your GSoC work.
> > > > >  >
> > > > >  > So, currently we provide some JMX calls which expose various
> > > > attributes in
> > > > >  > the Qpid Java broker. We have users who are interested in these
> > > > >  > attributes,
> > > > >  > but there's currently no simple way for them to get access to
> > them.
> > > > >
> > > > >
> > > > >
> > > > > Can I know exactly what are they(where are those attributes in the
> > > Qpid
> > > > code
> > > > >  base) . I can check them with Jconsole as a user. But as a
> > developer
> > > > can I
> > > > >  know where that code located  and where is the code where it
> > expose
> > > as
> > > > JMX
> > > > >  calls. (Honestly if this is a task which shoud be done by my self
> > > just
> > > > give
> > > > >  me a clue and I will find where are those )
> > > >
> > > > Have a look for all the MBean classes these are the bits that show
> > up
> > > > in JConsole.
> > > >
> > > > >
> > > > >  > They can
> > > > >  > view them on the management console (assuming they can get it
> > > working
> > > > :-),
> > > > >  > they can attach some other monitoring GUI or proprietary
> > > application.
> > > > >  >
> > > > >  > For some of our JMX props, they can be set up to log alerts to
> > the
> > > > broker
> > > > >  > log - which can again be monitored.
> > > > >  >
> > > > >  > However, it would be really useful if they could simply use a
> > CLI
> > > > tool to
> > > > >  > extract the information they're looking for.
> > > > >
> > > > > > +1
> > > > >
> > > > > > I had envisaged it taking a really simple form:
> > > > >  >
> > > > >  >   - a shell script (bash or .bat) to call the CLI tool,
> > probably
> > > > simply
> > > > >  >   wrapping a java call, which will run as a daemon (or service)
> > > > >  >   - a config/properties file or command line options to
> > specify:
> > > > >  >      - the JMX attribute to extract
> > > > >  >      - the frequency with which to extract it, in minutes (i.e.
> > an
> > > > >  >      elapsed time between extraction like 5 minutes)
> > > > >
> > > > >
> > > > > If the time is five minutes then if the deamon runs one hour the
> > CLI
> > > > outputs
> > > > >  around 12 out put information.
> > > > >  As an example CLI should write 12 out put files to a give
> > location.
> > > Am
> > > > I
> > > > >  correct .. ?
> > > >
> > > > I would say it would write 12 times to single file that has been
> > > > specified.
> > > > Potentially you could configure various logging information to go to
> > a
> > > > variety of files, but I'd start with a single configurable file.
> > > >
> > > > >  >
> > > > >  >      - a path into which to record the output
> > > > >  >      - an option for the output format (see my proposal info
> > about
> > > > >  >      formatting etc) like csv, tab-delimited, html etc. This
> > might
> > > be
> > > > >  > better done
> > > > >
> > > > >
> > > > > Can be done..!
> > > > >
> > > > >
> > > > >  >
> > > > >  >      as optional export into another tool ?
> > > > >  >
> > > > >
> > > > >  >   - the properties/config should be extensible so that new
> > > attributes
> > > > >  >   implemented in the broker can easily be added
> > > > >
> > > > > > Sure.. this should be in that way.
> > > > >
> > > > > > So, when a user wants to get useful management information from
> > the
> > > > broker
> > > > >  > (but not using a GUI) they can simply create a props file and
> > voila
> > > !
> > > > >
> > > > >
> > > > > Not much clear this statement. "create props file and voila!"
> > > >
> > > > I think what Marnie is saying is that what would be good is for a
> > user
> > > > to specify a property file that contains the information they are
> > > > after so when they run the command line tool it will simply return
> > > > that. If they wished that property file could be used by the daemon
> > > > process to populate the logfile.
> > > >
> > > > >
> > > > >  >
> > > > >  >  What do you think ? Does this make sense to you ok ?
> > > > >
> > > > >
> > > > > Exactly this is the best description I got about my project and
> > thanks
> > > a
> > > > lot
> > > > >  for your great assist.
> > > > >
> > > > >
> > > > >  >
> > > > >  > I'll reply to your email about issues shortly, in a separate
> > email.
> > > > >  >
> > > > >  > Hth,
> > > > >  > Thanks & Regards,
> > > > >  > Marnie
> > > > >  >
> > > > >
> > > > > Thanks in advance
> > > > >
> > > > >  Regs
> > > > >
> > > > > lahiru
> > > > >
> > > >
> > > >
> > > > --
> > > > Martin Ritchie
> > > >
> > >
> > >
> > >
> > > --
> > > East or West
> > > Mahindians are the
> > > Best... !
> > >
> >
>
>
>
> --
> East or West
> Mahindians are the
> Best... !
>



-- 
East or West
Mahindians are the
Best... !

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
Hi marnie,

Thanks for the reply first.
Honestly me too was unable to work a lot on Gsoc last couple of days due to
my personal work and I've already started on reading the JMX MBeans code of
Qpid and your reply probably will be very helpful for me. I thought of
reading about JMX stuff  and other thing for few days and I hope I will be
able to get a good understanding about the project ASAP.
If you want to have a chat with me just let me know at what time I should
login.

Thanks in advance

Regs
lahiru

On Sun, May 4, 2008 at 4:15 PM, Marnie McCormack <
marnie.mccormack@googlemail.com> wrote:

> Hi Lahiru,
>
> Here's an email I prepared on Wed evening but didn't get a chance to send
> -
> I hope it helps with your query on the codebase/mbeans. I'm out of the
> office this week for personal reasons, but I'll try to login as I can and
> keep up to date with your progress.
>
> Re your question on mid evaluation, why don't we discuss that when we next
> talk. I'd hope I'll be able to call you later this week, but I'll confirm
> by
> email to you. Apologies for the slight blip in communication, it should be
> very temporary.
>
> Hth ....
>
>
> Hi Lahiru,
>
>
> As a starting point, you should have a look at the AMQManagedObject
> interface which is implemented by all classes exposing management
> methods/attributes. If you search for derived classes (implementing
> classes)
> you'll see the set of entities which provide attributes for JMX calls.
>
> In particular, the ManagedQueue interface in package
> org.apache.qpid.server.queue contains a substantial amount of the exposed
> attributes. This is where the attributes exposed on the broker's queues
> are
> described. AMQQueueMBean (same package) implements this interface. This is
> the best place to get a handle on the queue attributes exposed via JMX.
>
> I think a useful first step would be to list out the elements provided via
> JMX on the broker, and note where they are implemented in the code. The
> usage of the various elements will differ, in terms of the frequency with
> which a user might want to check them etc. I hope this would be a useful
> start ! We can then discuss whether the detail I sent previously about the
> parameters for running the CLI scripts are appropriate.
>
> The management console sholdn't inform much of what your doing, in terms
> of
> being a template. However, it might make it easier for you to understand
> the
> various elements provided. Martin & Aidan should be able to help you get
> it
> up & running. Martin/Aidan - can you can help Lahiru with this please ?
> Thanks !
>
> Senaka's emails on the console setup help a little, though possibly not so
> relevant to a windows env ?
>
> Hth,
> Regards,
> Marnie
>
>
>
> On 5/3/08, lahiru gunathilake <gl...@gmail.com> wrote:
> >
> > hi Martin and Marnie,
> >
> > Yep I'm going through that code. I found a location where you have
> written
> > MBeans and i want to know is that the only location you have registered
> or
> > do you have several other places too.
> > This is the place
> >
> >
> https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management
> >
> > I will keep on looking if you know some other places please let  me know
> > that will be helpful for me to get a rough understanding about Qpid JMX
> > interface.
> >
> > Thanks
> > lahiru
> >
> >
> >
> >
> > On Fri, May 2, 2008 at 6:11 PM, Martin Ritchie <ri...@apache.org>
> > wrote:
> >
> > > Hi, Marnie is away for a few days she may respond but just in case
> > > here are my thoughts so you are not held up over the weekend.
> > >
> > > On 01/05/2008, lahiru gunathilake <gl...@gmail.com> wrote:
> > > > Hi,
> > > >
> > > >  First I'm very sorry for taking sometime to reply to your mail(
> > because
> > > I
> > > >  was uable to be online for yesterday) and thanks a lot for writing
> me
> > > about
> > > >  the Gsoc project.
> > > >  Thats great and now I know, the image I had about the project is
> > > correct. I
> > > >  think I have to create a project plane(I realize it after having a
> > chat
> > > with
> > > >  Aidan) and once I create it I will send it to you.
> > > >
> > > >  In order to create a clear project plan honestly could you please
> > tell
> > > me
> > > >  what should I finish when it comes to mid evaluation. I'm sure,
> that
> > > will
> > > >  help me a lot to create a better road map.
> > > >
> > > >  Next thing.. Could you please look in to my inline comment.
> > > >
> > > >
> > > >  On Wed, Apr 30, 2008 at 12:13 AM, Marnie McCormack <
> > > >  marnie.mccormack@googlemail.com> wrote:
> > > >
> > > >  > Hi Lahiru,
> > > >  >
> > > >  > As promised here are my thoughts about what I'd like to achieve
> > from
> > > the
> > > >  > project I defined for your GSoC work.
> > > >  >
> > > >  > So, currently we provide some JMX calls which expose various
> > > attributes in
> > > >  > the Qpid Java broker. We have users who are interested in these
> > > >  > attributes,
> > > >  > but there's currently no simple way for them to get access to
> them.
> > > >
> > > >
> > > >
> > > > Can I know exactly what are they(where are those attributes in the
> > Qpid
> > > code
> > > >  base) . I can check them with Jconsole as a user. But as a
> developer
> > > can I
> > > >  know where that code located  and where is the code where it expose
> > as
> > > JMX
> > > >  calls. (Honestly if this is a task which shoud be done by my self
> > just
> > > give
> > > >  me a clue and I will find where are those )
> > >
> > > Have a look for all the MBean classes these are the bits that show up
> > > in JConsole.
> > >
> > > >
> > > >  > They can
> > > >  > view them on the management console (assuming they can get it
> > working
> > > :-),
> > > >  > they can attach some other monitoring GUI or proprietary
> > application.
> > > >  >
> > > >  > For some of our JMX props, they can be set up to log alerts to
> the
> > > broker
> > > >  > log - which can again be monitored.
> > > >  >
> > > >  > However, it would be really useful if they could simply use a CLI
> > > tool to
> > > >  > extract the information they're looking for.
> > > >
> > > > > +1
> > > >
> > > > > I had envisaged it taking a really simple form:
> > > >  >
> > > >  >   - a shell script (bash or .bat) to call the CLI tool, probably
> > > simply
> > > >  >   wrapping a java call, which will run as a daemon (or service)
> > > >  >   - a config/properties file or command line options to specify:
> > > >  >      - the JMX attribute to extract
> > > >  >      - the frequency with which to extract it, in minutes (i.e.
> an
> > > >  >      elapsed time between extraction like 5 minutes)
> > > >
> > > >
> > > > If the time is five minutes then if the deamon runs one hour the CLI
> > > outputs
> > > >  around 12 out put information.
> > > >  As an example CLI should write 12 out put files to a give location.
> > Am
> > > I
> > > >  correct .. ?
> > >
> > > I would say it would write 12 times to single file that has been
> > > specified.
> > > Potentially you could configure various logging information to go to a
> > > variety of files, but I'd start with a single configurable file.
> > >
> > > >  >
> > > >  >      - a path into which to record the output
> > > >  >      - an option for the output format (see my proposal info
> about
> > > >  >      formatting etc) like csv, tab-delimited, html etc. This
> might
> > be
> > > >  > better done
> > > >
> > > >
> > > > Can be done..!
> > > >
> > > >
> > > >  >
> > > >  >      as optional export into another tool ?
> > > >  >
> > > >
> > > >  >   - the properties/config should be extensible so that new
> > attributes
> > > >  >   implemented in the broker can easily be added
> > > >
> > > > > Sure.. this should be in that way.
> > > >
> > > > > So, when a user wants to get useful management information from
> the
> > > broker
> > > >  > (but not using a GUI) they can simply create a props file and
> voila
> > !
> > > >
> > > >
> > > > Not much clear this statement. "create props file and voila!"
> > >
> > > I think what Marnie is saying is that what would be good is for a user
> > > to specify a property file that contains the information they are
> > > after so when they run the command line tool it will simply return
> > > that. If they wished that property file could be used by the daemon
> > > process to populate the logfile.
> > >
> > > >
> > > >  >
> > > >  >  What do you think ? Does this make sense to you ok ?
> > > >
> > > >
> > > > Exactly this is the best description I got about my project and
> thanks
> > a
> > > lot
> > > >  for your great assist.
> > > >
> > > >
> > > >  >
> > > >  > I'll reply to your email about issues shortly, in a separate
> email.
> > > >  >
> > > >  > Hth,
> > > >  > Thanks & Regards,
> > > >  > Marnie
> > > >  >
> > > >
> > > > Thanks in advance
> > > >
> > > >  Regs
> > > >
> > > > lahiru
> > > >
> > >
> > >
> > > --
> > > Martin Ritchie
> > >
> >
> >
> >
> > --
> > East or West
> > Mahindians are the
> > Best... !
> >
>



-- 
East or West
Mahindians are the
Best... !

Re: GSoC - Lahiru's CLI for JMX

Posted by Marnie McCormack <ma...@googlemail.com>.
Hi Lahiru,

Here's an email I prepared on Wed evening but didn't get a chance to send -
I hope it helps with your query on the codebase/mbeans. I'm out of the
office this week for personal reasons, but I'll try to login as I can and
keep up to date with your progress.

Re your question on mid evaluation, why don't we discuss that when we next
talk. I'd hope I'll be able to call you later this week, but I'll confirm by
email to you. Apologies for the slight blip in communication, it should be
very temporary.

Hth ....


Hi Lahiru,


As a starting point, you should have a look at the AMQManagedObject
interface which is implemented by all classes exposing management
methods/attributes. If you search for derived classes (implementing classes)
you'll see the set of entities which provide attributes for JMX calls.

In particular, the ManagedQueue interface in package
org.apache.qpid.server.queue contains a substantial amount of the exposed
attributes. This is where the attributes exposed on the broker's queues are
described. AMQQueueMBean (same package) implements this interface. This is
the best place to get a handle on the queue attributes exposed via JMX.

I think a useful first step would be to list out the elements provided via
JMX on the broker, and note where they are implemented in the code. The
usage of the various elements will differ, in terms of the frequency with
which a user might want to check them etc. I hope this would be a useful
start ! We can then discuss whether the detail I sent previously about the
parameters for running the CLI scripts are appropriate.

The management console sholdn't inform much of what your doing, in terms of
being a template. However, it might make it easier for you to understand the
various elements provided. Martin & Aidan should be able to help you get it
up & running. Martin/Aidan - can you can help Lahiru with this please ?
Thanks !

Senaka's emails on the console setup help a little, though possibly not so
relevant to a windows env ?

Hth,
Regards,
Marnie



On 5/3/08, lahiru gunathilake <gl...@gmail.com> wrote:
>
> hi Martin and Marnie,
>
> Yep I'm going through that code. I found a location where you have written
> MBeans and i want to know is that the only location you have registered or
> do you have several other places too.
> This is the place
>
> https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management
>
> I will keep on looking if you know some other places please let  me know
> that will be helpful for me to get a rough understanding about Qpid JMX
> interface.
>
> Thanks
> lahiru
>
>
>
>
> On Fri, May 2, 2008 at 6:11 PM, Martin Ritchie <ri...@apache.org>
> wrote:
>
> > Hi, Marnie is away for a few days she may respond but just in case
> > here are my thoughts so you are not held up over the weekend.
> >
> > On 01/05/2008, lahiru gunathilake <gl...@gmail.com> wrote:
> > > Hi,
> > >
> > >  First I'm very sorry for taking sometime to reply to your mail(
> because
> > I
> > >  was uable to be online for yesterday) and thanks a lot for writing me
> > about
> > >  the Gsoc project.
> > >  Thats great and now I know, the image I had about the project is
> > correct. I
> > >  think I have to create a project plane(I realize it after having a
> chat
> > with
> > >  Aidan) and once I create it I will send it to you.
> > >
> > >  In order to create a clear project plan honestly could you please
> tell
> > me
> > >  what should I finish when it comes to mid evaluation. I'm sure, that
> > will
> > >  help me a lot to create a better road map.
> > >
> > >  Next thing.. Could you please look in to my inline comment.
> > >
> > >
> > >  On Wed, Apr 30, 2008 at 12:13 AM, Marnie McCormack <
> > >  marnie.mccormack@googlemail.com> wrote:
> > >
> > >  > Hi Lahiru,
> > >  >
> > >  > As promised here are my thoughts about what I'd like to achieve
> from
> > the
> > >  > project I defined for your GSoC work.
> > >  >
> > >  > So, currently we provide some JMX calls which expose various
> > attributes in
> > >  > the Qpid Java broker. We have users who are interested in these
> > >  > attributes,
> > >  > but there's currently no simple way for them to get access to them.
> > >
> > >
> > >
> > > Can I know exactly what are they(where are those attributes in the
> Qpid
> > code
> > >  base) . I can check them with Jconsole as a user. But as a developer
> > can I
> > >  know where that code located  and where is the code where it expose
> as
> > JMX
> > >  calls. (Honestly if this is a task which shoud be done by my self
> just
> > give
> > >  me a clue and I will find where are those )
> >
> > Have a look for all the MBean classes these are the bits that show up
> > in JConsole.
> >
> > >
> > >  > They can
> > >  > view them on the management console (assuming they can get it
> working
> > :-),
> > >  > they can attach some other monitoring GUI or proprietary
> application.
> > >  >
> > >  > For some of our JMX props, they can be set up to log alerts to the
> > broker
> > >  > log - which can again be monitored.
> > >  >
> > >  > However, it would be really useful if they could simply use a CLI
> > tool to
> > >  > extract the information they're looking for.
> > >
> > > > +1
> > >
> > > > I had envisaged it taking a really simple form:
> > >  >
> > >  >   - a shell script (bash or .bat) to call the CLI tool, probably
> > simply
> > >  >   wrapping a java call, which will run as a daemon (or service)
> > >  >   - a config/properties file or command line options to specify:
> > >  >      - the JMX attribute to extract
> > >  >      - the frequency with which to extract it, in minutes (i.e. an
> > >  >      elapsed time between extraction like 5 minutes)
> > >
> > >
> > > If the time is five minutes then if the deamon runs one hour the CLI
> > outputs
> > >  around 12 out put information.
> > >  As an example CLI should write 12 out put files to a give location.
> Am
> > I
> > >  correct .. ?
> >
> > I would say it would write 12 times to single file that has been
> > specified.
> > Potentially you could configure various logging information to go to a
> > variety of files, but I'd start with a single configurable file.
> >
> > >  >
> > >  >      - a path into which to record the output
> > >  >      - an option for the output format (see my proposal info about
> > >  >      formatting etc) like csv, tab-delimited, html etc. This might
> be
> > >  > better done
> > >
> > >
> > > Can be done..!
> > >
> > >
> > >  >
> > >  >      as optional export into another tool ?
> > >  >
> > >
> > >  >   - the properties/config should be extensible so that new
> attributes
> > >  >   implemented in the broker can easily be added
> > >
> > > > Sure.. this should be in that way.
> > >
> > > > So, when a user wants to get useful management information from the
> > broker
> > >  > (but not using a GUI) they can simply create a props file and voila
> !
> > >
> > >
> > > Not much clear this statement. "create props file and voila!"
> >
> > I think what Marnie is saying is that what would be good is for a user
> > to specify a property file that contains the information they are
> > after so when they run the command line tool it will simply return
> > that. If they wished that property file could be used by the daemon
> > process to populate the logfile.
> >
> > >
> > >  >
> > >  >  What do you think ? Does this make sense to you ok ?
> > >
> > >
> > > Exactly this is the best description I got about my project and thanks
> a
> > lot
> > >  for your great assist.
> > >
> > >
> > >  >
> > >  > I'll reply to your email about issues shortly, in a separate email.
> > >  >
> > >  > Hth,
> > >  > Thanks & Regards,
> > >  > Marnie
> > >  >
> > >
> > > Thanks in advance
> > >
> > >  Regs
> > >
> > > lahiru
> > >
> >
> >
> > --
> > Martin Ritchie
> >
>
>
>
> --
> East or West
> Mahindians are the
> Best... !
>

Re: GSoC - Lahiru's CLI for JMX

Posted by lahiru gunathilake <gl...@gmail.com>.
hi Martin and Marnie,

Yep I'm going through that code. I found a location where you have written
MBeans and i want to know is that the only location you have registered or
do you have several other places too.
This is the place
https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management

I will keep on looking if you know some other places please let  me know
that will be helpful for me to get a rough understanding about Qpid JMX
interface.

Thanks
lahiru




On Fri, May 2, 2008 at 6:11 PM, Martin Ritchie <ri...@apache.org> wrote:

> Hi, Marnie is away for a few days she may respond but just in case
> here are my thoughts so you are not held up over the weekend.
>
> On 01/05/2008, lahiru gunathilake <gl...@gmail.com> wrote:
> > Hi,
> >
> >  First I'm very sorry for taking sometime to reply to your mail( because
> I
> >  was uable to be online for yesterday) and thanks a lot for writing me
> about
> >  the Gsoc project.
> >  Thats great and now I know, the image I had about the project is
> correct. I
> >  think I have to create a project plane(I realize it after having a chat
> with
> >  Aidan) and once I create it I will send it to you.
> >
> >  In order to create a clear project plan honestly could you please tell
> me
> >  what should I finish when it comes to mid evaluation. I'm sure, that
> will
> >  help me a lot to create a better road map.
> >
> >  Next thing.. Could you please look in to my inline comment.
> >
> >
> >  On Wed, Apr 30, 2008 at 12:13 AM, Marnie McCormack <
> >  marnie.mccormack@googlemail.com> wrote:
> >
> >  > Hi Lahiru,
> >  >
> >  > As promised here are my thoughts about what I'd like to achieve from
> the
> >  > project I defined for your GSoC work.
> >  >
> >  > So, currently we provide some JMX calls which expose various
> attributes in
> >  > the Qpid Java broker. We have users who are interested in these
> >  > attributes,
> >  > but there's currently no simple way for them to get access to them.
> >
> >
> >
> > Can I know exactly what are they(where are those attributes in the Qpid
> code
> >  base) . I can check them with Jconsole as a user. But as a developer
> can I
> >  know where that code located  and where is the code where it expose as
> JMX
> >  calls. (Honestly if this is a task which shoud be done by my self just
> give
> >  me a clue and I will find where are those )
>
> Have a look for all the MBean classes these are the bits that show up
> in JConsole.
>
> >
> >  > They can
> >  > view them on the management console (assuming they can get it working
> :-),
> >  > they can attach some other monitoring GUI or proprietary application.
> >  >
> >  > For some of our JMX props, they can be set up to log alerts to the
> broker
> >  > log - which can again be monitored.
> >  >
> >  > However, it would be really useful if they could simply use a CLI
> tool to
> >  > extract the information they're looking for.
> >
> > > +1
> >
> > > I had envisaged it taking a really simple form:
> >  >
> >  >   - a shell script (bash or .bat) to call the CLI tool, probably
> simply
> >  >   wrapping a java call, which will run as a daemon (or service)
> >  >   - a config/properties file or command line options to specify:
> >  >      - the JMX attribute to extract
> >  >      - the frequency with which to extract it, in minutes (i.e. an
> >  >      elapsed time between extraction like 5 minutes)
> >
> >
> > If the time is five minutes then if the deamon runs one hour the CLI
> outputs
> >  around 12 out put information.
> >  As an example CLI should write 12 out put files to a give location. Am
> I
> >  correct .. ?
>
> I would say it would write 12 times to single file that has been
> specified.
> Potentially you could configure various logging information to go to a
> variety of files, but I'd start with a single configurable file.
>
> >  >
> >  >      - a path into which to record the output
> >  >      - an option for the output format (see my proposal info about
> >  >      formatting etc) like csv, tab-delimited, html etc. This might be
> >  > better done
> >
> >
> > Can be done..!
> >
> >
> >  >
> >  >      as optional export into another tool ?
> >  >
> >
> >  >   - the properties/config should be extensible so that new attributes
> >  >   implemented in the broker can easily be added
> >
> > > Sure.. this should be in that way.
> >
> > > So, when a user wants to get useful management information from the
> broker
> >  > (but not using a GUI) they can simply create a props file and voila !
> >
> >
> > Not much clear this statement. "create props file and voila!"
>
> I think what Marnie is saying is that what would be good is for a user
> to specify a property file that contains the information they are
> after so when they run the command line tool it will simply return
> that. If they wished that property file could be used by the daemon
> process to populate the logfile.
>
> >
> >  >
> >  >  What do you think ? Does this make sense to you ok ?
> >
> >
> > Exactly this is the best description I got about my project and thanks a
> lot
> >  for your great assist.
> >
> >
> >  >
> >  > I'll reply to your email about issues shortly, in a separate email.
> >  >
> >  > Hth,
> >  > Thanks & Regards,
> >  > Marnie
> >  >
> >
> > Thanks in advance
> >
> >  Regs
> >
> > lahiru
> >
>
>
> --
> Martin Ritchie
>



-- 
East or West
Mahindians are the
Best... !

Re: GSoC - Lahiru's CLI for JMX

Posted by Martin Ritchie <ri...@apache.org>.
Hi, Marnie is away for a few days she may respond but just in case
here are my thoughts so you are not held up over the weekend.

On 01/05/2008, lahiru gunathilake <gl...@gmail.com> wrote:
> Hi,
>
>  First I'm very sorry for taking sometime to reply to your mail( because I
>  was uable to be online for yesterday) and thanks a lot for writing me about
>  the Gsoc project.
>  Thats great and now I know, the image I had about the project is correct. I
>  think I have to create a project plane(I realize it after having a chat with
>  Aidan) and once I create it I will send it to you.
>
>  In order to create a clear project plan honestly could you please tell me
>  what should I finish when it comes to mid evaluation. I'm sure, that will
>  help me a lot to create a better road map.
>
>  Next thing.. Could you please look in to my inline comment.
>
>
>  On Wed, Apr 30, 2008 at 12:13 AM, Marnie McCormack <
>  marnie.mccormack@googlemail.com> wrote:
>
>  > Hi Lahiru,
>  >
>  > As promised here are my thoughts about what I'd like to achieve from the
>  > project I defined for your GSoC work.
>  >
>  > So, currently we provide some JMX calls which expose various attributes in
>  > the Qpid Java broker. We have users who are interested in these
>  > attributes,
>  > but there's currently no simple way for them to get access to them.
>
>
>
> Can I know exactly what are they(where are those attributes in the Qpid code
>  base) . I can check them with Jconsole as a user. But as a developer can I
>  know where that code located  and where is the code where it expose as JMX
>  calls. (Honestly if this is a task which shoud be done by my self just give
>  me a clue and I will find where are those )

Have a look for all the MBean classes these are the bits that show up
in JConsole.

>
>  > They can
>  > view them on the management console (assuming they can get it working :-),
>  > they can attach some other monitoring GUI or proprietary application.
>  >
>  > For some of our JMX props, they can be set up to log alerts to the broker
>  > log - which can again be monitored.
>  >
>  > However, it would be really useful if they could simply use a CLI tool to
>  > extract the information they're looking for.
>
> > +1
>
> > I had envisaged it taking a really simple form:
>  >
>  >   - a shell script (bash or .bat) to call the CLI tool, probably simply
>  >   wrapping a java call, which will run as a daemon (or service)
>  >   - a config/properties file or command line options to specify:
>  >      - the JMX attribute to extract
>  >      - the frequency with which to extract it, in minutes (i.e. an
>  >      elapsed time between extraction like 5 minutes)
>
>
> If the time is five minutes then if the deamon runs one hour the CLI outputs
>  around 12 out put information.
>  As an example CLI should write 12 out put files to a give location. Am I
>  correct .. ?

I would say it would write 12 times to single file that has been specified.
Potentially you could configure various logging information to go to a
variety of files, but I'd start with a single configurable file.

>  >
>  >      - a path into which to record the output
>  >      - an option for the output format (see my proposal info about
>  >      formatting etc) like csv, tab-delimited, html etc. This might be
>  > better done
>
>
> Can be done..!
>
>
>  >
>  >      as optional export into another tool ?
>  >
>
>  >   - the properties/config should be extensible so that new attributes
>  >   implemented in the broker can easily be added
>
> > Sure.. this should be in that way.
>
> > So, when a user wants to get useful management information from the broker
>  > (but not using a GUI) they can simply create a props file and voila !
>
>
> Not much clear this statement. "create props file and voila!"

I think what Marnie is saying is that what would be good is for a user
to specify a property file that contains the information they are
after so when they run the command line tool it will simply return
that. If they wished that property file could be used by the daemon
process to populate the logfile.

>
>  >
>  >  What do you think ? Does this make sense to you ok ?
>
>
> Exactly this is the best description I got about my project and thanks a lot
>  for your great assist.
>
>
>  >
>  > I'll reply to your email about issues shortly, in a separate email.
>  >
>  > Hth,
>  > Thanks & Regards,
>  > Marnie
>  >
>
> Thanks in advance
>
>  Regs
>
> lahiru
>


-- 
Martin Ritchie