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 » General Discussion » New Release of MH06 Supportpac

Post new topic  Reply to topic
 New Release of MH06 Supportpac « View previous topic :: View next topic » 
Author Message
tczielke
PostPosted: Thu Aug 07, 2014 4:52 am    Post subject: New Release of MH06 Supportpac Reply with quote

Guardian

Joined: 08 Jul 2010
Posts: 939
Location: Illinois, USA

Hello,

There is a new release of the MH06 supportpac -> http://www-01.ibm.com/support/docview.wss?uid=swg24036430

It has the following enhancements:

A) mqtrcfrmt tool:
1. Very significant performance improvements, especially for large traces with numerous threads.
2. More data structures are expanded, and z/OS user parameter trace control block formatting has been added.
3. Formatting and alignment has been changed to support a user customizable API summary trace (for more details, see extra details section below)
4. Windows executable is now provided for all tools.

B) mqapitrcstats tool:
- New tool to produce a performance statistics report from the trace

C) amqsactz.c – C source code for enhancements to Application Activity Trace amqsact0.c program (for more details, see extra details section below)


NOTE: While testing the MH06 supportpac against MQ v8 for a future release of the MH06 supportpac, I have become aware that it does not correctly handle traces generated from a 64 bit Windows application. A future release of MH06 will correct this. No release of software would be complete, unless it had some sort of bugs/defects .

Also, I wanted to give a special thanks to Jason Edmeades from IBM for enhancement suggestions (API summary trace) and help with how to improve the performance of the mqtrcfrmt tool.

Thanks,
Tim Zielke
CICS/MQ Systems Programmer
Aon


Extra Details:

mqtrcfrmt tool API summary trace:

Here is an example of the API summary trace that can be extracted from an MQ trace that has been formatted by mqtrcfrmt.

First, use mqtrcfrmt to format the trace:

mqtrcfrmt.linux AMQ12345.0.FMT AMQ12345.0.FMT2

Now you can grep out the certain pieces of the trace to build a 5-10 line summary for each API call. The grep can be adjusted to pull out other pieces of the trace (i.e. BackoutCount), if desired.

egrep '( >>$| <<$|Hconn=|Hobj=|Compcode=|Reason=|Hmsg=|Actual Name=|Value=|Options=|Type=|ObjectName |ResolvedQName |Persistence )' AMQ12345.0.FMT2
08:42:06.940210 24830.1 CONN:1400006 MQCONN <<
24830.1 Hconn=06004001
24830.1 MQCNO.Options= (MQLONG) : 256
24830.1 Options=MQCNO_SHARED_BINDING
24830.1 Compcode=0
24830.1 Reason=0
08:42:06.940268 24830.1 CONN:1400006 MQOPEN >>
24830.1 Hconn=06004001
24830.1 ObjectName (MQCHAR48) : 'TCZ.TEST1.......................................'
24830.1 MQOO.Options= (MQLONG) : 8208
24830.1 Options=MQOO_OUTPUT
24830.1 Options=MQOO_FAIL_IF_QUIESCING
08:42:06.940509 24830.1 CONN:1400006 MQOPEN <<
24830.1 ObjectName (MQCHAR48) : 'TCZ.TEST1.......................................'
24830.1 Hobj=02000000
24830.1 Compcode=0
24830.1 Reason=0
08:42:06.940570 24830.1 CONN:1400006 MQI:MQOPEN HConn=01400006 HObj=00000002 rc=00000000 ObjType=00000001 ObjName=TCZ.TEST1
08:42:08.293415 24830.1 CONN:1400006 MQPUT >>
24830.1 Hconn=06004001
24830.1 Hobj=02000000
24830.1 Persistence (MQLONG) : 2
24830.1 Persistence MQPER_PERSISTENCE_AS_Q_DEF
24830.1 Persistence MQPER_PERSISTENCE_AS_TOPIC_DEF
24830.1 MQPMO.Options= (MQLONG) : 8196
24830.1 Options=MQPMO_NO_SYNCPOINT
24830.1 Options=MQPMO_FAIL_IF_QUIESCING
24830.1 ResolvedQName (MQCHAR48) : '................................................'
08:42:08.293676 24830.1 CONN:1400006 MQPUT <<
24830.1 Hconn=06004001
24830.1 Hobj=02000000
24830.1 Persistence (MQLONG) : 2
24830.1 Persistence MQPER_PERSISTENCE_AS_Q_DEF
24830.1 Persistence MQPER_PERSISTENCE_AS_TOPIC_DEF
24830.1 MQPMO.Options= (MQLONG) : 8196
24830.1 Options=MQPMO_NO_SYNCPOINT
24830.1 Options=MQPMO_FAIL_IF_QUIESCING
24830.1 ResolvedQName (MQCHAR48) : 'TCZ.TEST1 '
24830.1 Compcode=0
24830.1 Reason=0
08:42:08.709371 24830.1 CONN:1400006 MQCLOSE >>
24830.1 Hconn=06004001
24830.1 Hobj=02000000
24830.1 MQCO.Options= (MQLONG) : 0
24830.1 Options=MQCO_NONE
24830.1 Options=MQCO_IMMEDIATE
08:42:08.709522 24830.1 CONN:1400006 MQCLOSE <<
24830.1 Hobj=ffffffff
24830.1 Compcode=0
24830.1 Reason=0
08:42:08.709545 24830.1 CONN:1400006 MQDISC >>
24830.1 Hconn=06004001



amqsactz.c source code:

amqsactz.c are enhancements to the amqsact0.c source that produces reports from the Application Activity Trace.

The enhancements provide the following:

1. Include RecordNum in MQI Operation title line.
2. Enhance TerseTraceLine to include 1LS= eye catcher, RecordNum, pid, conname, and channel name.
3. Include ObjName in TerseTraceLine when PUT1
4. Correct printf of char in printMonByteString where unsigned char with high bit of 1 had a FFFFFFxx sign extended format.

I have also included in the source comments some build examples on how you could build a Windows or Linux executable.

Here is an example of how amqsactz can be used:

First collect your AAT messages on the SYSTEM.ADMIN.TRACE.ACTIVITY.QUEUE.

Then you can build the following reports:

amqsactz –b –v > amqsact_v.out (verbose report)
amqsactz –b > amqsact.out (summary report)
grep 1LS= amqsact.out > amqsact_1LS.out (1 line summary report)

The amqsact_1LS.out will have one line API records like the following:

EYEC RecordNum Pid Tid Conn Channel Name Date Time Operation MQRC HObj (ObjName)
1LS= 0 25178 1 4EEEDB53033D1320 2014-08-06 08:54:06 MQXF_CONNX 0000 -
1LS= 1 25178 1 4EEEDB53033D1320 2014-08-06 08:54:06 MQXF_OPEN 0000 2 (TCZ.TEST1)
1LS= 1 25178 1 4EEEDB53033D1320 2014-08-06 08:54:07 MQXF_PUT 0000 2
1LS= 2 25178 1 4EEEDB53033D1320 2014-08-06 08:54:07 MQXF_CLOSE 0000 2
1LS= 2 25178 1 4EEEDB53033D1320 2014-08-06 08:54:07 MQXF_DISC 0000 -


You can then further grep out lines by pid, tid, conn, channel name, or ObjName, if needed. Also, you can take the RecordNum for a certain record and search back into the verbose report for more details on that API call, if desired.
Back to top
View user's profile Send private message
tczielke
PostPosted: Thu Aug 07, 2014 4:58 am    Post subject: Reply with quote

Guardian

Joined: 08 Jul 2010
Posts: 939
Location: Illinois, USA

NOTE: The formatting in Extra Details did not come out very well. I guess you can try the tools out to see what they provide.
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 » General Discussion » New Release of MH06 Supportpac
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.