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 » Expiry time and PutTime in MD

Post new topic  Reply to topic
 Expiry time and PutTime in MD « View previous topic :: View next topic » 
Author Message
WBI_user
PostPosted: Wed Dec 05, 2001 1:23 pm    Post subject: Reply with quote

Partisan

Joined: 07 Aug 2001
Posts: 386

MY customer is doing performance testing for MQSI.A message is sent with an initial expiry value through a 'request' message flow, it will then go through multiple hops in their MQ network with some processing and the final reply message will go a 'reply' message flow and end up in the reply queue.They want to find out where the time are spent end to end by inserting time stamps where possible.
One way to find the approximate end to end time is to look at the remaining expiry time when the message finally arrived on the reply queue. However because the message will expire, they have to check it on the reply queue before the message expire. This is not always possible.
They want to store the remaining expiry time in the database so that they can check it when they have time.
So the bottom line requirement is store the
Puttime and the expiry value of the MD in the first compute node after the message is picked up by the Input node in the "request' flow and to store the PutTime and Expiry in the first compute node after the message is picked up by the Input node of the "reply' message flow.
Before we do the database call, we want to see the output by just sending it to a queue.
Our output message flow is very simple with a single compute node which obtain the current time and the PutTime and the expiry time from the MD of the reply message.
Set OutputRoot.msg.pt=InputRoot.MQMD.PutTime; Set OutputRoot.msg.Et=InputRoot.MQMD.Expiry;
The output looks like
<msg><pt>..Timestamp</pt><Et>..Timestamp</Et></msg>
But we have 2 problems with the output
1. The expiry time is a timestamp instead of the actual expiry value. This is documented in the manual after we read the book.
2. The time stamp for the PutTime inside the output XML message is not accurrate. It is after the putTime of the output message when I use MQ EXplorer to look at the message on the Output queue. I know that they should be different because the final MQPUT to the output queue is after the compute node. So it should be before the PutTime of the Output message, not after.
Can some one help me to understand this and provide some suggestion on how I can get the right Expiry time (most important) and the PutTime (secondary important) so that I can store them in the database for analysis.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Thu Dec 06, 2001 10:20 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

I can't answer your questions specifically, but I will give you this.
Expiry values are only decremented when the message is actually on a queue. In other words if you put a request message with an Expiry of 10 seconds, and that messages sits a total of 2 seconds in the varios queues, but the Replying app takes 3 seconds to respond, you actually took around 5 seconds to complete the transaction, but your expiry will still show 8 seconds.

Also,you mention that the Put times don't make sense. Are all the system clocks in sync with each other?


_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
WBI_user
PostPosted: Thu Dec 06, 2001 1:35 pm    Post subject: Reply with quote

Partisan

Joined: 07 Aug 2001
Posts: 386

You are right, the clock are not in sync between systems. So the PutTime is not a concern anymore. But we still want to store the remaining Expiry in the database.
According to the book, MQSI converts expiry into time stamp. Not sure why they are doing it ? Is the unconverted expiry time available anywhere inside MQSI so that I can store it in the database ?
Back to top
View user's profile Send private message
EddieA
PostPosted: Fri Dec 07, 2001 7:11 am    Post subject: Reply with quote

Jedi

Joined: 28 Jun 2001
Posts: 2453
Location: Los Angeles

Unconverted Expiry = Expiry time - Put time.

Cheers,

_________________
Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0
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 » Expiry time and PutTime in MD
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.