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 » Monitoring Messages

Post new topic  Reply to topic
 Monitoring Messages « View previous topic :: View next topic » 
Author Message
smdavies99
PostPosted: Sat Jun 12, 2010 10:22 pm    Post subject: Monitoring Messages Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

I'm having a go at understanding the data in both FlowStats & Monitoring messages.

I've written a flow to process the start/end messages and calc the elapsed times.(runs in a different EG to the flows being monitored)

One thing has puzzled me is that in about 10% of the cases and when the elapsed time of the flow being monitored in very short (1-2mSecs) then I'm seeing the 'transactionEnd' message on the queue before the 'transactionStart' message

Environment

Windows Server 2003 SP2.
Broker : 6.1.0.5

Has anyone got an explanation for this? (before I raise a PMR... )
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Sun Jun 13, 2010 1:36 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

I am a tad puzzled... What is your statistics publication/collection interval? Is your broker flow also raising events?
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
smdavies99
PostPosted: Sun Jun 13, 2010 4:37 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

Sorry FJB, I might have confused you.
These are not the FlowStat but the Monitoring events.

mqsireportflowmonitoring etc

There are TWO EG's on my test broker.
The first EG has the flow I'm using to generate the events.
The second EG has the flow that consumes the events.
Flow Monitoring is only enabled for the first EG.

Monitoring event are produced immediately the event occurs.
Then when the MQInput Node picks up the message, the 'transactionStart' event is generated.
When the thread dies either a 'transactionEnd' or 'transactionRollback' event is generated.

If I coulds guarantee that the 'Start' was always put onto the subscription Queue before the 'end', the logic in the consumer flow would be a lot simpler.
As they do appear 'out of order' when the elapsed time is very small, I have to do all sorts of 'stuff' in the flow to match the event_id's up properly and calculare the elapsed time.

Does this further explanation help?
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Sun Jun 13, 2010 7:06 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

If my memory serves, events are being published.
It seems that somewhere in the pub/sub manual there was something about being able to sequence publishes and how to do it (can't quite remember where I saw it, just that I saw it...). I fear you might have to look into this. Don't know however if this is possible using the event generation interface on the flow...

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
mqjeff
PostPosted: Sun Jun 13, 2010 9:09 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

If you know that you will receive six discrete events that you need to match up based on a unique id and you need to process them in order, you might look at Collector.
Back to top
View user's profile Send private message
smdavies99
PostPosted: Sun Jun 13, 2010 10:20 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

mqjeff wrote:
If you know that you will receive six discrete events that you need to match up based on a unique id and you need to process them in order, you might look at Collector.


Six events eh?

I've only ever seen Three with the FlowMonitoring events. (start, end, rollback).
That said, the collector node should help with what I'm trying to acheive in the flow. I'd forgotten that one.(Sigh)
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Sun Jun 13, 2010 3:28 pm    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

smdavies99 wrote:
mqjeff wrote:
If you know that you will receive six discrete events that you need to match up based on a unique id and you need to process them in order, you might look at Collector.


Six events eh?


That was an entirely random number based on absolutely nothing. Do not take it as anything other than that.
Back to top
View user's profile Send private message
Mandeep
PostPosted: Mon Jun 14, 2010 3:00 am    Post subject: Reply with quote

Apprentice

Joined: 03 May 2004
Posts: 33

There are in and out terminal level events apart from the Start, End and Rollback ones.

I tried to use events as an alternative for logging (log4j), but had to give up coz of order of events published could not be gauranteed.

Though there is a sequence assigned to them, but it became more complex as I had more than 1 number of threads deployed for the same message flow and then the events published to a Queue had to be identified based on thread's unique id as well.
Back to top
View user's profile Send private message
kimbert
PostPosted: Mon Jun 14, 2010 4:13 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Quote:
I tried to use events as an alternative for logging
That's not really what they are meant for.
Back to top
View user's profile Send private message
smdavies99
PostPosted: Mon Jun 14, 2010 4:28 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

The Terminal Events are optional.

I'm looking at using the Flow Start/Stops times to track overall elapsed times in a multi-tiered SOA.
More detailed analysis can be made using FlowStats on individual services (aka Flows) when required.

We want to rip out all the legacy stuff (from 2.1/5.0 days) that relied on Developers following the guidelines and adding code to their flows/subflows to record the times. This obviously slows down the execution of the services by at least 10% due mainly to the start/end flow overheads.

I've used the collector node and so far it is working fine. I'll be giving it a really hammering later today with a set of automated tests (some 100K) messages.

My only criticism of the FlowMonitoring is that you have to remember to enable it after the deployment of a new flow. So our deployment scripts will need modifying to do this as a matter of course.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
ghoshly
PostPosted: Tue Jun 15, 2010 6:54 am    Post subject: I also wanted it to be the other way around Reply with quote

Partisan

Joined: 10 Jan 2008
Posts: 333

Thats right. It could have been the other way round, i.e we are adding events only because we need them (Terminal levels), so by default the monitoring should have been active.

If anyone does not wants for better performance or so can disable them, as a part of tuning.
Back to top
View user's profile Send private message
prasad.edlabadkar
PostPosted: Wed Jun 16, 2010 5:17 am    Post subject: Re: Monitoring Messages Reply with quote

Novice

Joined: 10 Feb 2006
Posts: 21
Location: Pune, India

smdavies99 wrote:
I'm having a go at understanding the data in both FlowStats & Monitoring messages.

I've written a flow to process the start/end messages and calc the elapsed times.(runs in a different EG to the flows being monitored)

One thing has puzzled me is that in about 10% of the cases and when the elapsed time of the flow being monitored in very short (1-2mSecs) then I'm seeing the 'transactionEnd' message on the queue before the 'transactionStart' message

Environment

Windows Server 2003 SP2.
Broker : 6.1.0.5

Has anyone got an explanation for this? (before I raise a PMR... )


Hi,

If you want to measure the performance of a message flow, try using Support pack IS02 (http://www-01.ibm.com/support/docview.wss?rs=171&uid=swg24012457). It uses accounting and statistics to measure the performance and presents them in a nice graphical format.

If you want to achieve the same thing using monitoring events, I suggest you simply write the events to DB as they arrive and use the timestamp from the event message to sort them.
_________________
Thanks and Regards
Prasad Edlabadkar
Tech Lead - Websphere Business Integration
Back to top
View user's profile Send private message Yahoo Messenger
smdavies99
PostPosted: Wed Jun 16, 2010 6:42 am    Post subject: Re: Monitoring Messages Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

prasad.edlabadkar wrote:

If you want to achieve the same thing using monitoring events, I suggest you simply write the events to DB as they arrive and use the timestamp from the event message to sort them.


This is exactly what I have done. I use a Collector Node to separate the start/end messages and then use the COLLECTION... output to populate a DB table with the start & stop time plus the elapsed time as a FLOAT.

It has processed over 1M messages so far without issue.

I've also built in a Timer driven bit that will delete Old events from the file.
This will stop the table from becoming humungous.

I'm doing the same sort of thing with Flow Stats.
Yesm IS02 could be the answer but mere mortals like me don't have WMQExplorer access to our Production Systems.
The DB tables are not on the PRoduction System so acceess is not an issue.
The processing of the data will only happen during the night so the only overhead during the working day is the writing of the data to the Publication Queue.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
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 » Monitoring Messages
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.