activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Neha Sareen <neha.sar...@oracle.com>
Subject RE: Info required for MessageCounterInfo class
Date Tue, 26 Jun 2018 19:12:36 GMT
Thanks for the response Justin.

> How can we run or test out the example against our broker set up to 
> see
the result of Queue Message counter related APIs as we need these for our development work
further.

I'm not exactly sure what you're asking here.  If you want to run the example against your
broker simply run 'mvn verify -PnoServer' and ensure the connection factory URL in jndi.properties
as well as the JMX URL in MessageCounterExample.java both point to your broker.  If that's
not what you want please clarify.

Neha: Essentially we have a Java application (client side) from where we are trying to retrieve
specific queue counters. Since the artemis brokers and queues would be provisioned on a different
host, we are trying to use the Jolokia API to get the different queue message counters via
a HttpClient agent, wherein we bundle a HTTP request and execute it to get a response.
Our requirement is to get the following pieces of information for a destination (e.g. a queue):

1. Time since the last reset of queue counters
2. Number of messages enqueued/added to the queue since last reset time.
3. Number of messages dequeued/consumed from the queue since last reset time
4. High queue depth or maximum number of messages in a queue since the last reset time.
5. Current queue depth.

>From your response to one of my earlier emails, I do not see Artemis providing us the
support to get these attributes, except the last one, i.e the current queue depth.
Do you have any alternatives/proposal to retrieve this information?

Thanks
Neha


-----Original Message-----
From: Justin Bertram <jbertram@apache.org> 
Sent: Tuesday, June 26, 2018 11:57 AM
To: users@activemq.apache.org
Subject: Re: Info required for MessageCounterInfo class

> The response just indicates the counters as -1, -1, -1,
...............and it is very hard to interpret this output, given that it does not reflect
what each counter signifies. Can someone point towards the description or syntax of this output
JSON?

You'll notice that there are 24 entries in the "counters" array.  Each entry represents the
number of messages added to the queue during that hour of the day where the day is specified
by the "date".  You can use the org.apache.activemq.artemis.api.core.management.DayCounterInfo
object to deserialize the JSON to Java.

> The example makes use of 
> org.apache.activemq.artemis.api.core.management.MessageCounterInfo
class that I do not see available in artemis-jms-client-all-2.4.0.jar.

That class is currently in the org.apache.activemq:artemis-server Maven module (lib/artemis-server-2.4.0.jar).
 I'll get it moved to org.apache.activemq:artemis-core-client so it will be included in the
"all"
client jar in future releases.

> How can we run or test out the example against our broker set up to 
> see
the result of Queue Message counter related APIs as we need these for our development work
further.

I'm not exactly sure what you're asking here.  If you want to run the example against your
broker simply run 'mvn verify -PnoServer' and ensure the connection factory URL in jndi.properties
as well as the JMX URL in MessageCounterExample.java both point to your broker.  If that's
not what you want please clarify.


Justin


On Mon, Jun 25, 2018 at 6:24 PM, Neha Sareen <neha.sareen@oracle.com> wrote:

> Hi,
>
>
>
> We are working with Apache Artemis 2.4.0 and trying to determine the 
> Queue Message Counters.
>
>
>
> 1.       Invoking the Jolokia API to display MessageCounterHistory:
>
> $ curl -u artemis:artemis -H "Content-Type: application/json" -X POST 
> -d '{"type":"exec", "mbean":"o
>
>
> rg.apache.activemq.artemis:broker=\"RI_BRKR\",component=
> addresses,address=\"BulkSend0.001.01.01\",su
>
>
> bcomponent=queues,routing-type=\"anycast\",queue=\"
> BulkSend0.001.01.01\"","operation":"listMessageCo
>
>
> unterHistory"}' 
> 'https://urldefense.proofpoint.com/v2/url?u=http-3A__127.0.0.1-3A8128_
> console_jolokia&d=DwIBaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE
> &r=a9YS1Z_IlHjjwrEIkK3pngi5xaGRZ0QdCmbyVuaLSBU&m=k3dXw8UeMdYrYXrR0tA-_
> ftx96vUxDKoj27AJZ3QqXE&s=STzKr8-O-ohzJh0DdxCn0BmQauOjJ9bhoycBGds21c4&e
> =' && echo
>
>
>
> {"request":{"mbean":"org.apache.activemq.artemis:
> address=\"BulkSend0.001.01.01\",broker=\"RI_BRKR\",
>
>
> component=addresses,queue=\"BulkSend0.001.01.01\",routing-
> type=\"anycast\",subcomponent=queues","typ
>
>
> e":"exec","operation":"listMessageCounterHistory"},"
> value":"{\"dayCounters\":[{\"date\":\"6\/25\/18\
>
>
> ",\"counters\":[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,-
> 1,-1,-1,-1,-1,-1,-1,-1,-1,-1]}]}","timesta
>
>
> mp":1529960031,"status":200}
>
>
>
> The response just indicates the counters as -1, -1, -1, 
> ...............and it is very hard to interpret this output, given 
> that it does not reflect what each counter signifies. Can someone 
> point towards the description or syntax of this output JSON?
>
> All I see in the the API doc for 
> QueueControl.listMessageCounterHostory()
> is that it lists the message counter history for this queue.
>
>
>
> 2.       Also tried to interpret and run the message-counters example that
> comes with Artemis 2.4.0 (/apache-artemis-2.4.0/ 
> examples/features/standard/message-counters/src/main/
> java/org/apache/activemq/artemis/jms/example/MessageCounterExample.java).
> The example makes use of 
> org.apache.activemq.artemis.api.core.management.MessageCounterInfo
> class that I do not see available in artemis-jms-client-all-2.4.0.jar.
> How can we run or test out the example against our broker set up to 
> see the result of Queue Message counter related APIs as we need these 
> for our development work further.
>
>
>
> Thanks
>
> Neha
>
> Oracle Marketing Cloud
>
>
>

Mime
View raw message