Distribution-Appendix report
Use a Distribution-Appendix report when you suspect some unusual combination of events has occurred, and the times or totals on the Program-I/O or DL/I-Call-Summary report do not give you enough information to highlight the problem.
The Distribution-Appendix report takes specific events for which a time or a total has been generated and distributes the events across ranges. It does this for specific events from the Program-I/O report and the DL/I-Call-Summary report.
To get an idea of when the Distribution-Appendix report is useful, see the following example. Suppose in a DL/I-Call-Summary report, the row of information in the example appears:
(C)
PCB CALL LEV NO. DL/I IWAITS DISTRIB.
NAME FUNC SEGMENT CALLS CALL ... NUMBER
---- ---- ------- ----- ------ ---- --------
DHVBT203 DLET (01)A1111111 11 8.63 11C
The (C) over the IWAITS/CALL field means that this event is detailed on the Distribution-Appendix report. The DISTRIB. NUMBER field says this event is broken down on the Distribution-Appendix report specifically on line 11 C. In this example, the IWAITS/CALL field value of 8.63 is a very high number relative to the other IWAITS/CALL numbers on the DL/I-Call-Summary report. For more information, check line 11 C in the Distribution-Appendix report. It looks like this:
11 C ....0....0....1....2....3....4....5....6....7....8....INF
0 0 0 0 0 2 4 1 3 1
The numbers next to line 11 C (0 to INF) are predefined ranges. The numbers beneath line 11 C are the distribution of the event. Look for more information about why the IWAITS/CALL total is high (for DLET calls issued under PCB DHVBT203 against segment A1111111). The distribution of numbers beneath line 11 C says that of the 11 DLET calls issued:
- Two calls caused 5 IWAITs
- Four caused 6 IWAITs
- One caused 7 IWAITs
- Three caused 8 IWAITs
- One caused more than 8 IWAITs
Because one call caused more than 8 IWAITs, this call might be distorting the average in the IWAITS/CALL field in the report. Tune your database to eliminate relatively high IWAITs per DL/I call, investigate the call that required more than 8 IWAITS. In this example, the interval between distributions is 1. For other entries (for example, line 4B in the report in the following example), the intervals are much larger than 1. In these cases, interpret the data as (using line 4B): 1 call fell in the range of 16000 to 32000.
The example is of a Distribution-Appendix report. To read it, remember:
- The lines in the Distribution-Appendix report are always identified by a number (55, 56, and so on) or a number and a character (3A, 3B, and so on). The numbers are the numbers used in the DISTRIBUTION NUMBER fields in the Program-I/O or DL/I-Call-Summary report. The characters are used in the DL/I-Call-Summary report to identify which event is being distributed.
- The numbers next to the line are predefined ranges across which an event can be distributed. These ranges are made appropriate to the event. For example, ranges 0, 1, 2, 3, and so on are appropriate for distributing IWAIT totals for DL/I calls. (In the example used, we wanted to know how many calls required 0, 1, 2, 3, and so on IWAITs.) Ranges such as 0, 1000, 2000, and so on are appropriate for all other events in the Program-I/O and DL/I-Call Summary reports because all other events are times, not totals. These 0, 1000, 2000, and so on numbers are in microseconds. A microsecond is one millionth of a second (in other words, 2000 microseconds equals 0.002000 second). The ranges have default values, but you can redefine the ranges. See Redefining the default ranges for more information.
- The number below the line is always the number for the event being distributed.
IMS MONITOR ****DISTRIBUTION APPENDIX**** RACE START 1989 076 12:42:54 TRACE STOP 1989 076 12:43:07 PAGE 0014
# 1A..........0.......1000.......2000.......4000.......8000......16000......32000......64000.....128000.....256000....INF
0 0 0 0 0 0 0 0 0 1
1B..........0.......1000.......2000.......4000.......8000......16000......32000......64000.....128000.....256000....INF
0 0 0 0 0 0 0 0 0 1
1C..........0..........0..........1..........2..........3..........4..........5..........6..........7..........8....INF
0 1 0 0 0 0 0 0 0 0
# 4A..........0.......1000.......2000.......4000.......8000......16000......32000......64000.....128000.....256000....INF
5 0 0 1 0 1 0 0 0 0
4B..........0.......1000.......2000.......4000.......8000......16000......32000......64000.....128000.....256000....INF
5 0 0 1 0 1 0 0 0 0
4C..........0..........0..........1..........2..........3..........4..........5..........6..........7..........8....INF
7 0 0 0 0 0 0 0 0 0
# 5A..........0.......1000.......2000.......4000.......8000......16000......32000......64000.....128000.....256000....INF
6 0 0 0 0 0 0 0 0 0
5B..........0.......1000.......2000.......4000.......8000......16000......32000......64000.....128000.....256000....INF
6 0 0 0 0 0 0 0 0 0
5C..........0..........0..........1..........2..........3..........4..........5..........6..........7..........8....INF
6 0 0 0 0 0 0 0 0 0
# 6A..........0.......1000.......2000.......4000.......8000......16000......32000......64000.....128000.....256000....INF
8 0 0 0 0 0 0 0 0 0
6B..........0.......1000.......2000.......4000.......8000......16000......32000......64000.....128000.....256000....INF
8 0 0 0 0 0 0 0 0 0
6C..........0..........0..........1..........2..........3..........4..........5..........6..........7..........8....INF
8 0 0 0 0 0 0 0 0 0
# 7A..........0.......1000.......2000.......4000.......8000......16000......32000......64000.....128000.....256000....INF
2 0 0 0 0 1 0 0 0 0
7B..........0.......1000.......2000.......4000.......8000......16000......32000......64000.....128000.....256000....INF
2 0 0 0 0 1 0 0 0 0
7C..........0..........0..........1..........2..........3..........4..........5..........6..........7..........8....INF
3 0 0 0 0 0 0 0 0 0
# 8A..........0.......1000.......2000.......4000.......8000......16000......32000......64000.....128000.....256000....INF
3 0 0 0 0 0 0 0 0 0
⋮
# 131...........0.......2000.......8000......24000......50000.....100000.....150000.....200000.....250000.....300000....INF
0 1 5 2 0 0 0 0 0 0
# 132...........0.......2000.......8000......24000......50000.....100000.....150000.....200000.....250000.....300000....INF
0 0 5 1 0 0 0 0 0 0
# 133...........0.......2000.......8000......24000......50000.....100000.....150000.....200000.....250000.....300000....INF
0 0 3 0 0 0 0 0 0 0
The TRACE START and TRACE STOP fields at the top of the report tell you the time when the DB Monitor was last started and stopped. The time is generated by the time-of-day clock. Clock times are read as follows:
Clock time = hh.mm.ss
Where:
- hh
- Hours 0 through 23
- mm
- Minutes
- ss
- Seconds
If the DB Monitor was on during an entire batch run, the trace start and trace stop times are the times at which the batch run started and stopped. If the DB Monitor was turned on and off more than once in the same batch run, the trace start and trace stop times are the times at which the monitor was last started and stopped.