Tracing with the AIX system trace

In addition to the WebSphere MQ trace, WebSphere MQ for AIX users can use the standard AIX system trace. AIX system tracing is a two-step process:

  1. Gathering the data
  2. Formatting the results

WebSphere MQ uses two trace hook identifiers:

X'30D'
This event is recorded by WebSphere MQ on entry to or exit from a subroutine.
X'30E'
This event is recorded by WebSphere MQ to trace data such as that being sent or received across a communications network.

Trace provides detailed execution tracing to help you to analyze problems. IBM(R) service support personnel might ask for a problem to be re-created with trace enabled. The files produced by trace can be very large so it is important to qualify a trace, where possible. For example, you can optionally qualify a trace by time and by component.

There are two ways to run trace:

  1. Interactively.

    The following sequence of commands runs an interactive trace on the program myprog and ends the trace.

    trace -j30D,30E -o trace.file
    ->!myprog
    ->q
  2. Asynchronously.

    The following sequence of commands runs an asynchronous trace on the program myprog and ends the trace.

    trace -a -j30D,30E -o trace.file
    myprog
    trcstop

You can format the trace file with the command:

trcrpt -t /usr/mqm/lib/amqtrc.fmt trace.file > report.file

report.file is the name of the file where you want to put the formatted trace output.

Note:
All WebSphere MQ activity on the machine is traced while the trace is active.

Selective component tracing on WebSphere MQ for AIX

Use the environment variable MQS_TRACE_OPTIONS to activate the high detail and parameter tracing functions individually. Because it enables tracing to be active without these functions, you can use it to reduce the overhead on execution speed when you are trying to reproduce a problem with tracing switched on.

Only set the environment variable MQS_TRACE_OPTIONS if you have been instructed to do so by your service personnel.

Typically MQS_TRACE_OPTIONS must be set in the process that starts the queue manager, and before the queue manager is started, or it is not recognized. Set MQS_TRACE_OPTIONS before tracing starts. If it is set after tracing starts it is not recognized.

SSL trace

If you request SSL trace, note the following:

An example of WebSphere MQ for AIX trace data

The following example is an extract of an AIX(R) trace:

Figure 29. Sample WebSphere MQ for AIX trace
ID     ELAPSED_SEC    DELTA_MSEC   APPL    SYSCALL KERNEL  INTERRUPT

30D    0.000000000      0.000000   MQS FNC Exit!..... 23298.1 ziiSendReceiveAgent
                                                                     rc=00000814
30D    0.000009512      0.009512   MQS FNC Entry...... 23298.1 zcpDeleteMessage 
30D    0.000011869      0.002357   MQS FNC Exit....... 23298.1 zcpDeleteMessage 
                                                                     rc=00000000
30D    0.000014196      0.002327   MQS FNC Exit!..... 23298.1 ziiSPIInq1 
                                                                     rc=00000814
30D    0.000016727      0.002531   MQS FNC Exit!.... 23298.1 lpiSPIInq1 
                                                                     rc=00000814
30D    0.000019847      0.003120   MQS FNC Entry.... 23298.1 lpiSPIInq1 
30D    0.000022465      0.002618   MQS FNC Entry..... 23298.1 zstVerifyPCD 
30D    0.000024792      0.002327   MQS FNC Exit...... 23298.1 zstVerifyPCD 
                                                                     rc=00000000
30D    0.000027505      0.002713   MQS FNC Entry..... 23298.1 xcsCheckPointer 
30D    0.000032436      0.004931   MQS FNC Exit...... 23298.1 xcsCheckPointer 
                                                                     rc=00000000
30D    0.000034923      0.002487   MQS FNC Entry..... 23298.1 xcsCheckPointer 
30D    0.000039716      0.004793   MQS FNC Exit...... 23298.1 xcsCheckPointer 
                                                                     rc=00000000
30D    0.000042218      0.002502   MQS FNC Entry..... 23298.1 xcsCheckPointer 
30D    0.000046982      0.004764   MQS FNC Exit...... 23298.1 xcsCheckPointer 
                                                                     rc=00000000
30D    0.000049593      0.002611   MQS FNC Entry..... 23298.1 ziiSPIInq1 
30D    0.000052116      0.002523   MQS FNC Entry.... 23298.1 ziiCreateIPCCMessage
30D    0.000054611      0.002495   MQS FNC Entry....... 23298.1 zcpCreateMessage 
30E    0.000059062      0.004451   Terminus(0) RequestedSize(236) 
30D    0.000061549      0.002487   MQS FNC Exit........ 23298.1 zcpCreateMessage 
                                                                     rc=00000000
30D    0.000063884      0.002335   MQS FNC Exit..... 23298.1 ziiCreateIPCCMessage
                                                                     rc=00000000