z/OS MVS Programming: Writing Transaction Programs for APPC/MVS
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Collecting Trace Data for Concurrent Conversations

z/OS MVS Programming: Writing Transaction Programs for APPC/MVS
SA23-1397-00

If you want to collect trace data for multiple outbound conversations allocated by a single program, you might be able to do so with only one ATBTRACE START request, even if the LU/TP pairs for the conversations do not match the pair specified on that START request. APPC/MVS automatically collects trace data for a program's additional outbound conversations, as long as both of the following are true:
  1. An ATBTRACE START request, specifying an LU/TP pair for which the program allocates a conversation, was issued on the system on which the program runs
  2. APPC/MVS has already started collecting trace data for the LU/TP pair specified on the START request (that is, the program allocates the conversation with the LU/TP pair), before the program allocates the additional outbound conversations.

For example, in Figure 1, suppose that you have already entered a START request for LUA and TPA (1). Later, TPB allocates a conversation with TPA, and tracing begins (2). While still conversing with TPA, TPB allocates a conversation with TPC (3).

Figure 1. Collecting API Trace Data for Concurrent Conversations

APPC/MVS collects trace data for TPB's calls for its conversation with TPA, because of the START request already entered; APPC/MVS automatically includes TPB's calls for its conversation with TPC, because tracing has already begun for the LUA/TPA pair.

If, however, TPB allocated the conversation with LUF/TPC before the conversation with LUA/TPA, APPC/MVS does not trace the calls issued for the LUF/TPC conversation. Unless you can guarantee that the program first allocates the conversation for the LU/TP pair specified on the START request, you need to enter additional START requests, such as:
ATBTRACE START DSN(TRACE.DS01) LU(LUF) TP(TPC)

Note that, in this case, you can use the same trace data set for a START request with a different LU/TP combination. This capability allows you to collect, in one place, the trace data for an application program that holds concurrent conversations with different TPs running on different LUs.

If you want to trace the calls made on both sides of a conversation that spans z/OS systems, such as the conversation between TPB and TPC shown in Figure 2, enter:
  • A START request for the LU/TP combination on one system, specifying one trace data set; for example, LUF/TPC (1a).
  • A START request for the LU/TP combination on the other system, specifying a different trace data set, because a trace data set may be in use by only one system at a time; for example, LUF/TPC (1b).
When the conversation between TPB and TPC takes place:
  • TRACE.DS01 will contain entries for the calls that TPB issues, and FMH-5 entries for calls received from TPC.
  • TRACE.DS02 will contain entries for the calls that TPC issues, and FMH-5 entries for calls received from TPB.
Figure 2. Collecting API Trace Data for Concurrent Conversations

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014