Author |
Message
|
Bharat |
Posted: Wed May 22, 2002 8:39 am Post subject: Time Logging in MQSI |
|
|
 Acolyte
Joined: 14 May 2002 Posts: 61 Location: Reston, VA, USA
|
I have broker on Solaris. I'm logging the time at which request message is being picked up by the request flow using 'CURRENT_TIME'.
Again I'm logging the time in the reply flow when it gets a reply message from backend application.
Obviously, the difference of time shouldn't be a negative value. But it is sometimes. How is it possible?
Does 'CURRENT_TIME' represents the local time of Soaris box or something else?
Could any of you please clarify this?
Thanks in advance,
Bharat |
|
Back to top |
|
 |
Bharat |
Posted: Wed May 22, 2002 12:32 pm Post subject: |
|
|
 Acolyte
Joined: 14 May 2002 Posts: 61 Location: Reston, VA, USA
|
Hi,
Now, I'm using the following code for logging timestamp.
Retrieved request message ${Root.MQMD.MsgId} at ${SUBSTRING(CAST(CURRENT_TIME AS CHAR)FROM 7 FOR 15)}
It seems it is grabbing the time from MQMD. Actually we need to log the System Time.
Is there anyway to log the system time of the solaris box in MQSI trace node? Broker is on Solaris.
Thanks in advance,
Bharat |
|
Back to top |
|
 |
kirani |
Posted: Wed May 22, 2002 12:50 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Bharat,
What version of WMQI are you using? Do you have latest CSD applied?
I have seen one person getting incorrect time in his Trace node.
Try using CURRENT_TIMESTAMP and see if you are getting the same results. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
Bharat |
Posted: Wed May 22, 2002 1:06 pm Post subject: |
|
|
 Acolyte
Joined: 14 May 2002 Posts: 61 Location: Reston, VA, USA
|
Kiran,
Thanks for your reply. Yes first I tried with 'CURRENT_TIMESTAMP' only.
Retrieved request message ${Root.MQMD.MsgId} at ${EXTRACT (HOUR FROM CURRENT_TIMESTAMP)}:${EXTRACT (MINUTE FROM CURRENT_TIMESTAMP)}:${EXTRACT (SECOND FROM CURRENT_TIMESTAMP)}
But I was getting scientific time with that. So after that I'm using 'CURRENT_TIME' code which was suggested by you.
While testing we got incorrect times with 'CURRENT_TIMESTAMP'.
I'm using MQSI V2.0.1
What I think is this is getting timestamp from MQMD. Request Message is put on MQSI by a diffent application and Reply messsage by another application. Hence might be the problem.
Is there any way to get the System time in trace node?
Thanks and Regards,
Bharat |
|
Back to top |
|
 |
kirani |
Posted: Wed May 22, 2002 2:31 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Your substring length is not correct. It should have been 12 (not 15). Try using following in Trace node,
Retrieved request message ${Root.MQMD.MsgId} at ${SUBSTRING(CAST(CURRENT_TIME AS CHAR)FROM 7 FOR 12)} _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
Bharat |
Posted: Wed May 22, 2002 2:57 pm Post subject: |
|
|
 Acolyte
Joined: 14 May 2002 Posts: 61 Location: Reston, VA, USA
|
Kiran
But we are not yet testing with this new substring code.
We are testing with the old code i.e.
Retrieved request message ${Root.MQMD.MsgId} at ${EXTRACT (HOUR FROM CURRENT_TIMESTAMP)}:${EXTRACT (MINUTE FROM CURRENT_TIMESTAMP)}:${EXTRACT (SECOND FROM CURRENT_TIMESTAMP)}
This is giving the problem. I think it is taking the system time of the application that puts message on MQSI queue.
Is there anyway to grab the system timeof Solaris box on which the Broker is running?
Thanks and Regards,
Bharat |
|
Back to top |
|
 |
kirani |
Posted: Wed May 22, 2002 4:16 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Bharat,
I don't see any reason why it should give you timestamp from MQMD header. CURRENT_TIMESTAMP and CURRENT_TIME gives you system time. To get time in normal format without using EXTRACT functions you can use following in your trace node.
Log data is : ${Root.MQMD.MsgId} at ${SUBSTRING(CAST(CURRENT_TIMESTAMP AS CHAR) FROM 23 FOR 12)}
WMQI gurantees that you will get same value for all calls to CURRENT_TIME or CURRENT_TIMESTAMP function within one node.
Please check if you have latest CSD applied on your broker server. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
Bharat |
Posted: Thu May 23, 2002 4:44 am Post subject: |
|
|
 Acolyte
Joined: 14 May 2002 Posts: 61 Location: Reston, VA, USA
|
Kiran,
Thanks a lot for your suggestions. Well, if 'CURRENT_TIME'/'CURRENT_TIMESTAMP' gives the system time, then it would be perfect.
But I have a question here. I have my Configuration manager on NT and Broker on Solaris. While executing the flows, which time does it log? I guess it is logging system time of NT box instead of Solaris.
Regards,
Bharat |
|
Back to top |
|
 |
kirani |
Posted: Thu May 23, 2002 6:28 am Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Hi Bharat,
It should log system time of Solaris box.
If this is happening even after applying the latest CSD, I would recommend you to report this problem to IBM. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
Bharat |
Posted: Thu May 23, 2002 1:30 pm Post subject: |
|
|
 Acolyte
Joined: 14 May 2002 Posts: 61 Location: Reston, VA, USA
|
Hi Kiran,
Thanks a lot for your analysis. I would go ahead and apply the latest CSD.
Once again Thank you,
Bharat |
|
Back to top |
|
 |
|