ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Calculate Node Processing Time with WMB Events

Post new topic  Reply to topic
 Calculate Node Processing Time with WMB Events « View previous topic :: View next topic » 
Author Message
naio
PostPosted: Wed Jan 23, 2013 8:57 am    Post subject: Calculate Node Processing Time with WMB Events Reply with quote

Voyager

Joined: 08 Nov 2012
Posts: 82

Hi to All,

In the company we already have a Self Monitoring Tool, with an easy interface to monitor SOA services, it is a general Toll for any ESB that is able to enqueue a message.

We have a Principal WMB 7.0 FLOW that dispatch invocations and we want to monitor it, and specilly some nodes.
One of the things that we want is to get the time that particular nodes takes, and we need to include tome Payload info on the message (we want node processing time for some specific servicces).

Thats why WMB monitoring seems ok to me, but the problem that I am facing it the followin:


I have an event message al the start and end of a NODE, and I need to correlate those messages in order to get the Complete Time of the Node. I see no way of doing this, since there is no common identifier that belongs to the same node. And I will have more than one node with this scenario in the same Flow.


Mi idea was to have a FLOW that read from an Event QUEUE, where all Event Messages are Store, and that make Time Calculation and other asserts on the Event Messages, the Flow could follow the idea of:

MQInputp - Compute - MQGet - Compute - MQOutput

In order to read the InPut Node Message Event from the queue with the MQInput and then read the OutPut Node Message Event from the queue with the MQGet node.



Any pice of advice?


Thanks In Advace!
_________________
"God is in his heaven all's right with the world"
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Jan 23, 2013 9:24 am    Post subject: Re: Calculate Node Processing Time with WMB Events Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

naio wrote:
I see no way of doing this, since there is no common identifier that belongs to the same node.


Aside from the Event Name, which defaults to <Node Name>.<Terminal Name>

naio wrote:
Mi idea was to have a FLOW that read from an Event QUEUE, where all Event Messages are Store, and that make Time Calculation and other asserts on the Event Messages, the Flow could follow the idea of:

MQInputp - Compute - MQGet - Compute - MQOutput


Or read all the messages with the MQInput node (always a good idea), assemble all the events for a given transaction by correlation id then, having got all the events for the transaction work out your times by Event Name.

naio wrote:
In order to read the InPut Node Message Event from the queue with the MQInput and then read the OutPut Node Message Event from the queue with the MQGet node.


What?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
kimbert
PostPosted: Wed Jan 23, 2013 9:27 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Quote:
I need to correlate those messages in order to get the Complete Time of the Node. I see no way of doing this, since there is no common identifier that belongs to the same node. And I will have more than one node with this scenario in the same Flow.
The monitoring event contains the 'event source name' which is a fully-qualified name that includes the flow name and node name. So you should be OK - as long as you don't give two nodes in the same message flow the same name.
Back to top
View user's profile Send private message
naio
PostPosted: Wed Jan 23, 2013 9:53 am    Post subject: Reply with quote

Voyager

Joined: 08 Nov 2012
Posts: 82

in the Event Queue I have
<Node Name>.<Terminal Name> from all the Nodes and all the test, I will have <Node Name>.<Terminal Name> for all the test, and I want the time of a NODE not average, but for every test asolated.

Thats why <Node Name>.<Terminal Name> is not enoguth.
I am trying to find a way to generate a single identifier for every node everytime the node is use.
So I will discriminate the time of the node, in the run numer 1, from the time in the run number 87.



naio wrote:
In order to read the InPut Node Message Event from the queue with the MQInput and then read the OutPut Node Message Event from the queue with the MQGet node.


What?

I mean correlate the Event message that was sent at the start of the node, with the Event message sent at the end of the node.


Thanks!
_________________
"God is in his heaven all's right with the world"
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Jan 23, 2013 10:13 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

naio wrote:
Thats why <Node Name>.<Terminal Name> is not enoguth.
I am trying to find a way to generate a single identifier for every node everytime the node is use.
So I will discriminate the time of the node, in the run numer 1, from the time in the run number 87.


Yes, got that, I suggested the transaction by correlation id which WMB will generate for you by default.

naio wrote:
I mean correlate the Event message that was sent at the start of the node, with the Event message sent at the end of the node.


Ok. I find the Collector node easier.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
naio
PostPosted: Wed Jan 23, 2013 10:30 am    Post subject: Reply with quote

Voyager

Joined: 08 Nov 2012
Posts: 82

Vitor,

OK, I will give a look at the Collector Node, I know it exist but never tried it.

Concerning:

"Yes, got that, I suggested the transaction by correlation id which WMB will generate for you by default. "


I have created several WMB Event Messages, all have different MsgId but the same and Default CorrelId. It would be interesting to enqueue all the Envent Messages from the same transaction with the same CorrelId so I will be able to read them as a BLOCK.
But I am not being able to set CorrelId or other identifier in the Events Messages.


Thanks You in Advance!
_________________
"God is in his heaven all's right with the world"
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Jan 23, 2013 11:56 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

naio wrote:
I have created several WMB Event Messages, all have different MsgId but the same and Default CorrelId. It would be interesting to enqueue all the Envent Messages from the same transaction with the same CorrelId so I will be able to read them as a BLOCK.
But I am not being able to set CorrelId or other identifier in the Events Messages.


Wrong correlation id. You're correct in saying the WMQ properties have individual message ids and blank correlation ids. If you look in the payload of the event message, you'll see that the eventSource tag has a child called eventCorrelation which contains the 3 possible correlation values you can set in the node monitoring properties, and all 3 default to automatically generated. You'll find one or more of these (depending on your flow construction) will be what you need.

And to pre-empt your next question, the Collector node can interogate the payload of a message and hence can group these messages directly from these values. There's no requirement to copy anything into the WMQ CorrelId in this context.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
kash3338
PostPosted: Thu Jan 24, 2013 1:25 am    Post subject: Re: Calculate Node Processing Time with WMB Events Reply with quote

Shaman

Joined: 08 Feb 2009
Posts: 709
Location: Chennai, India

naio wrote:

I have an event message al the start and end of a NODE, and I need to correlate those messages in order to get the Complete Time of the Node. I see no way of doing this, since there is no common identifier that belongs to the same node. And I will have more than one node with this scenario in the same Flow.


Cant you do this by having some UniqueID from your actual payload captured in your event message along with the Event name (<Node Name>.<Terminal Name>)?
Back to top
View user's profile Send private message Send e-mail
naio
PostPosted: Thu Jan 24, 2013 5:38 am    Post subject: Reply with quote

Voyager

Joined: 08 Nov 2012
Posts: 82

Ok, I have the unique identifier in the Payload of the Event Message, an many messages in the same Queue that correspond to different Nodes, and diferente instances of the nodes.

I have to collect the PAIRs INITNODE and ENDNODE message events from the Queue.

I will give it a try with the Collector Node.


Thanks To All!
_________________
"God is in his heaven all's right with the world"
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Jan 24, 2013 5:46 am    Post subject: Re: Calculate Node Processing Time with WMB Events Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

kash3338 wrote:
naio wrote:

I have an event message al the start and end of a NODE, and I need to correlate those messages in order to get the Complete Time of the Node. I see no way of doing this, since there is no common identifier that belongs to the same node. And I will have more than one node with this scenario in the same Flow.


Cant you do this by having some UniqueID from your actual payload captured in your event message along with the Event name (<Node Name>.<Terminal Name>)?


Why bother, when the event already contains a unique generated value?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
naio
PostPosted: Thu Jan 24, 2013 6:04 am    Post subject: Reply with quote

Voyager

Joined: 08 Nov 2012
Posts: 82

True what VITOR explains.
Yo can inherit the Message ID or even any other ID that is in the Root Message and place it in the Event Id.
_________________
"God is in his heaven all's right with the world"
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Jan 24, 2013 6:17 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

naio wrote:
Yo can inherit the Message ID or even any other ID that is in the Root Message and place it in the Event Id.


Or better still use the generated ids already in the event message. Which is what I actually attempted to explain.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
naio
PostPosted: Thu Feb 07, 2013 9:59 am    Post subject: Reply with quote

Voyager

Joined: 08 Nov 2012
Posts: 82

Vitor,

I have faced againt this Topic, and I was trying to figure the Collector Node Out, but I had no luck so far.
Can you give me some piece of advice concerning this?

I have in a Queue several event messages, and I need the PAIRs NODE1_IN and NODE1_OUT messages with the same identifies (witch is in the payload) to create finale messages with the time of the node.

Thanks In Advance!
_________________
"God is in his heaven all's right with the world"
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Feb 07, 2013 12:31 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

naio wrote:
Can you give me some piece of advice concerning this?


Follow the instructions & examples in the InfoCenter? It's one of the more complex constructs in WMB but it's not that bad.

naio wrote:
I have in a Queue several event messages, and I need the PAIRs NODE1_IN and NODE1_OUT messages with the same identifies (witch is in the payload) to create finale messages with the time of the node.


As you explained previously. So you want the collector node to assemble all of the associated messages, which is fine. As you're using an identifier in the payload (rather than the id I suggested) you'll need to identify that to the collector so it can use it. You'd also better hope that identifier is unique enough long enough or you'll hit problems.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Calculate Node Processing Time with WMB Events
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.