Level 1 and level 2 trace from CICS event capture 'EC' component
You can determine entry and exit points from the event capture process using level 1 trace. You can determine all the stages of event point filter evaluation and event capture using a level 2 trace.
Event capture level 1 trace
Level 1 trace records entry to and exit from the event capture process at an event point as follows:AP 3530 ECEC ENTRY - FUNCTION(EVENT_CAPTURE) PARM_LIST(2AD09BA0) EVP_ADDRESS(294C214A) :CMD-POST(SIGNAL_EVENT)
TASK-00057 KE_NUM-0076 TCB-QR /009BAA68 RET-80083AA4 TIME-11:02:29.6997843842 INTERVAL-00.0000007187 =000585=
1-0000 00300000 0000026B 00000000 00000000 AB000000 00000000 01000100 2AD09BA0 *.......,.....................}..*
0020 00000000 00000000 294C214A 00000000 *.........<.$.... *
2-0000 28020000 02280200 02010020 00000000 2B9A3420 000CE2C9 C7D5C1D3 6DC5E5C5 *......................SIGNAL_EVE*
0020 D5E30000 00000000 00000000 00000000 05C5E5C5 D5E30000 00000000 00 *NT...............EVENT....... *
…
AP 3531 ECEC EXIT - FUNCTION(EVENT_CAPTURE) RESPONSE(OK) EVENTS(1)
TASK-00057 KE_NUM-0076 TCB-QR /009BAA68 RET-80083AA4 TIME-11:02:29.7011492756 INTERVAL-00.0000005937 =000655=
1-0000 00300000 0000026B 00000000 00000000 AB000000 00000000 01000100 2AD09BA0 *.......,.....................}..*
0020 00000000 00000000 294C214A 00000001 *.........<.$.... *
The
parts of most use in problem determination are the event point on entry
CMD-POST(SIGNAL_EVENT) and the number of events captured on exit
EVENTS(1). Event capture level 2 trace
Level 2 trace records all the stages of event point filter evaluation and event capture. It is particularly useful to see why a filter evaluated to true or false, and to see the data that was captured. When the event point has filters on the primary predicate, a match or non match is traced:AP 353C ECEC EVENT - PRIMARY_PREDICATE MATCHED
TASK-00057 KE_NUM-0076 TCB-QR /009BAA68 RET-A99F44AA TIME-11:02:29.6961430400 INTERVAL-00.0000003593 =000444=
1-0000 03000000 E3C5E2E3 F1404040 00000000 00000000 00000000 00000000 00000000 *....TEST1 ....................*
0020 00000000 *.... *
When
evaluation of the filter of a CAPTURESPEC
starts:AP 353B ECEC EVENT - FILTERING CAPTURESPEC(Prog_Init_capturespec)
TASK-00057 KE_NUM-0076 TCB-QR /009BAA68 RET-A99F44AA TIME-11:02:29.6961442431 INTERVAL-00.0000012031 =000445=
1-0000 00A86EC4 C6C8C5C3 C3E24040 40404040 D7999687 6DC99589 A36D8381 97A3A499 *.y>DFHECCS Prog_Init_captur*
0020 85A29785 83404040 40404040 40404040 *espec *
For
each filter predicate, the result (true or false) is traced. Here, an EVENT
parameter is
tested:AP 3534 ECEC EVENT - PREDICATE_TRUE - TESTING PARAMETER(EVENT) EQUAL
TASK-00057 KE_NUM-0076 TCB-QR /009BAA68 RET-80083AA4 TIME-11:02:29.6997860092 INTERVAL-00.0000003437 =000587=
1-0000 006D6EC4 C6C8C5C3 C6D74040 40404040 00000000 00010402 80058000 00000000 *._>DFHECFP ................*
0020 00007780 00000000 00000005 C5E5C5D5 E3404040 40404040 *............EVENT *
2-0000 C5A58595 A3 *Event *
3-0000 C5A58595 A3 *Event *
Here,
data in a FROM parameter is tested. The result is TRUE because the
test was NOT_EQUAL, the FROM parameter (trace item 2) field was
blanks, and the tested for value (trace item 3) was
SOMEVALUE:AP 3534 ECEC EVENT - PREDICATE_TRUE - TESTING BYTES IN PARAMETER(FROM) NOT_EQUAL
TASK-00057 KE_NUM-0076 TCB-QR /009BAA68 RET-80083AA4 TIME-11:02:29.7020589155 INTERVAL-00.0000004375 =000697=
1-0000 00916EC4 C6C8C5C3 C6D74040 40404040 00000000 00180802 40050080 0C022005 *.j>DFHECFP ........ .......*
0020 00808780 0000001B 00000009 C6D9D6D4 40404040 40404040 *..g.........FROM *
2-0000 40404040 40404040 40 * *
3-0000 E2D6D4C5 E5C1D3E4 C5 *SOMEVALUE *
Here,
the result is FALSE because the field offset (trace item 2) and the field length
(trace item 3) take it beyond the length of the FROM parameter:
AP 3536 ECEC EVENT - PREDICATE_FALSE - NO FIELD FOR BYTES IN PARAMETER(FROM)
TASK-00057 KE_NUM-0076 TCB-QR /009BAA68 RET-80083AA4 TIME-11:02:30.9828421982 INTERVAL-00.0000003593 =001713=
1-0000 00916EC4 C6C8C5C3 C6D74040 40404040 00000000 00180802 40050080 0C022005 *.j>DFHECFP ........ .......*
0020 00807780 00000064 00000009 C6D9D6D4 40404040 40404040 *............FROM *
2-0000 00000064 *.... *
3-0000 00000009 *.... *
Here,
the result is FALSE because zoned decimal data (trace item 2) is
invalid:AP 3538 ECEC EVENT - PREDICATE_FALSE - BAD DATA IN ZONED IN PARAMETER(INTO-SET)
TASK-00057 KE_NUM-0076 TCB-QR /009BAA68 RET-80083AA4 TIME-11:02:30.9827011962 INTERVAL-00.0000059218 =001689=
1-0000 00C76EC4 C6C8C5C3 C6D74040 40404040 2B9A4140 001E0802 40050180 00000000 *.G>DFHECFP ... .... .......*
0020 00008780 00000005 0000001F C9D5E3D6 60E2C5E3 40404040 *..g.........INTO-SET *
2-0000 40404000 57404040 40404040 40404040 40404040 40404040 40404040 404040 * .. *
3-0000 F1F2F3F4 F5F6F7F8 F9F0F1F2 F3F4F5F6 F7F8F9F0 F1F2F3F4 F5F6F7F8 F9F0D1 *123456789012345678901234567890J *
If
all the filter predicates for a CAPTURESPEC are TRUE, event capture starts:
AP 353E ECEC EVENT - CAPTURING_EVENT CAPTURESPEC(EXEC_DELETEQ_TS)
TASK-00057 KE_NUM-0076 TCB-QR /009BAA68 RET-80083AA4 TIME-11:02:30.9857027761 INTERVAL-00.0000005781 =001741=
1-0000 00A86EC4 C6C8C5C3 C3E24040 40404040 C5E7C5C3 6DC4C5D3 C5E3C5D8 6DE3E240 *.y>DFHECCS EXEC_DELETEQ_TS *
0020 40404040 40404040 40404040 40404040 * *
The
capture data containers are traced so that the data (trace item 2) can be
checked:AP 3533 ECEC EVENT - CAPTURE_CONTAINER CONTAINER(DFHEP.DATA.00001)
TASK-00057 KE_NUM-0076 TCB-QR /009BAA68 RET-80083AA4 TIME-11:02:30.9868634948 INTERVAL-00.0000003750 =001771=
1-0000 C4C6C8C5 D74BC4C1 E3C14BF0 F0F0F0F1 *DFHEP.DATA.00001 *
2-0000 D4E8D8E4 C5E4C5F1 F2404040 40404040 *MYQUEUE12 *
If
capture data is not available, that fact is traced
too:AP 353A ECEC EVENT - UNAVAILABLE_DATA IN(CHANNEL)
TASK-00057 KE_NUM-0076 TCB-QR /009BAA68 RET-80082918 TIME-11:02:35.2281765703 INTERVAL-00.0000006562 =002288=
1-0000 C3C8C1D5 D5C5D340 40404040 *CHANNEL *
For information about using CICS® debugging tools, trace, and dump, see Troubleshooting and support.