CONTROL BLOCK NAME = DFHDSGDS
NAME OF MATCHING PLS CONTROL BLOCK = DFHDSGPS
DESCRIPTIVE NAME = CICS TS Dispatcher Statistics
Licensed Materials - Property of IBM
Restricted Materials of IBM
5655-Y04
(C) Copyright IBM Corp. 1986, 2014
CICS level at which this module was last updated
FUNCTION =
This data area contains global statistics provided by the
Dispatcher Domain
It is provided for use in users monitoring applications
to map the statistics returned via the APi or the statistics
exit.
There is a single instance of this data block.
LIFETIME =
This data block is created by the Dispatcher to store
statistics to be passed to the user in response to a request
to a request for statistics. The storage is released when
the user task is detached.
The DSECT also maps the contents of part of the SMF buffer
created by the statistics domain and is used in the
statistics exit.
STORAGE CLASS =
LOCATION =
The user is passed a pointer to the head of the storage
block.
INNER CONTROL BLOCKS = none
NOTES :
DEPENDENCIES = S/370
RESTRICTIONS = none
MODULE TYPE = Domain call buffer
---------------------------------------------------------------------
EXTERNAL REFERENCES = none
DATA AREAS = none
CONTROL BLOCKS = from dispatcher domain
GLOBAL VARIABLES (Macro pass) = none
---------------------------------------------------------------------
ALTHOUGH PROVIDED IN A GENERAL INTERFACE LIBRARY DFHDSGDS IS
NOT TO BE USED AS A GENERAL PROGRAMMING INTERFACE. REFER TO
PRODUCT DOCUMENTATION TO DETERMINE INTENDED USAGE.
Table 1.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
0 |
DFHDSGDS |
Dispatcher Domain DSECT |
(0) |
FULLWORD |
4 |
(0) |
Fullword alignment |
(0) |
HALFWORD |
2 |
DSGLEN |
Length of data area |
(0) |
..11 111. |
|
DSGIDE |
"0062" Dispatcher domain id mask |
(2) |
ADDRESS |
2 |
DSGID |
Dispatcher domain id |
(2) |
.... ...1 |
|
DSGVERS |
"X'01'" Stats version number id mask |
(4) |
CHARACTER |
1 |
DSGDVERS |
Stats version number |
(5) |
CHARACTER |
3 |
|
Filler |
DSGGLEN includes the length of the (standard statistics record hdr
of 8 bytes + DSGHDR + DSGSTATS) effectively giving the offset to
the first entry in the TCB_MODE_STATS array.
DSGASIZE gives the number of entries in the TCB_MODE_STATS array.
DSGPSIZE gives the number of entries in the TCB_POOL_STATS array.
|
(8) |
FULLWORD |
4 |
DSGHDR (0) |
Dispatcher Global Stats Header |
(8) |
HALFWORD |
2 |
DSGGLEN |
Global stats length |
(A) |
HALFWORD |
2 |
DSGASIZE |
No. of DSGTCBM dsects supplied |
(C) |
HALFWORD |
2 |
DSGPSIZE |
No. of DSGTCBP dsects supplied |
(E) |
HALFWORD |
2 |
|
Reserved |
Dispatcher Stats fields begin here.
|
(10) |
FULLWORD |
4 |
DSGSTATS (0) |
Dispatcher Global Stats |
(10) |
FULLWORD |
4 |
DSGICVT |
Current ICV time |
(14) |
FULLWORD |
4 |
DSGICVRT |
Current ICVR Time |
(18) |
HALFWORD |
2 |
DSGICVSD |
Current ICVTSD time |
(1A) |
HALFWORD |
2 |
DSGPRIAG |
Priority aging |
(1C) |
HALFWORD |
2 |
DSGSTSKS |
Subtasks value |
(1E) |
HALFWORD |
2 |
DSGMBTCH |
QR Batching (MRO) value |
(20) |
BITSTRING |
4 |
|
Reserved |
(24) |
HALFWORD |
2 |
DSGCNT |
Current number of tasks |
(26) |
HALFWORD |
2 |
DSGPNT |
Peak number of tasks |
(28) |
BITSTRING |
8 |
|
Reserved |
(30) |
BITSTRING |
8 |
|
Reserved |
The following 2 fields contain the sub-dispatcher start time
expressed in GMT and Local STCK formats respectively.
|
(38) |
BITSTRING |
8 |
DSGSTART |
GMT STCK Sub-Disp start time |
(40) |
BITSTRING |
8 |
DSGLSTRT |
Local STCK Sub-Disp start time |
(48) |
BITSTRING |
8 |
DSGEJST |
Elapsed Job Step timing |
(50) |
BITSTRING |
8 |
DSGSRBT |
Accumulated SRB time |
(58) |
BITSTRING |
8 |
|
Reserved |
(60) |
FULLWORD |
4 |
|
Reserved |
(64) |
FULLWORD |
4 |
|
Reserved |
Excess TCB Management Global Statistics.
|
(68) |
FULLWORD |
4 |
DSGXSCNS |
No. of excess TCB scans |
(6C) |
FULLWORD |
4 |
DSGXSCNN |
No. of scans - no TCB detached |
(70) |
FULLWORD |
4 |
DSGXTCBD |
Total no. excess TCBs detached |
(74) |
FULLWORD |
4 |
|
Reserved |
(78) |
BITSTRING |
8 |
DSGGXSCN |
Time of last excess TCB scan (GMT) |
(80) |
BITSTRING |
8 |
DSGLXSCN |
Time of last excess TCB scan (local) |
(88) |
BITSTRING |
8 |
DSGGXSND |
Time of last excess TCB scan (GMT) - no TCB detached |
(90) |
BITSTRING |
8 |
DSGLXSND |
Time of last excess TCB scan (local) - no TCB detected |
(98) |
BITSTRING |
8 |
|
Reserved |
(98) |
1.1. .... |
|
DSGMEND |
"*" |
(98) |
1.1. .... |
|
DSGMCLEN |
"*-DSGLEN" Length of Global Stats |
TCB Mode Statistics
The stats for the Dispatcher TCB Modes are kept in a fixed length
array. The number of entries in the array is in field DSGASIZE
located at the begining of the DSGHDR.
The TCB number to dispatcher mode map is as follows:
TCB1 = Quasi Reentrant mode
TCB2 = Resource owning mode
TCB3 = Concurrent mode
TCB4 = Secondary LU mode
TCB5 = ONC/RPC mode
TCB6 = File Owning mode
TCB7 = Sockets Owning mode (SL)
TCB8 = Sockets Owning mode (SO)
TCB9 = Sockets Pthread Owning mode (SP)
TCB10 = EP - Event Processing mode
TCB11 = TP - Threaded TCB Owning mode
TCB12 = D2 - DB2 mode
TCB13 = S8 - Sockets (SSL) mode
TCB14 = L8 - Open mode
TCB15 = L9 - Open mode
TCB16 = X8 - Open mode
TCB17 = X9 - Open mode
TCB18 = T8 - Open mode
Table 2.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
0 |
DSGTCBM |
TCB Mode Stats |
(0) |
CHARACTER |
2 |
DSGTCBNM |
TCB Mode Name |
(2) |
BITSTRING |
1 |
DSGTCBMD |
TCB Mode |
(2) |
.... .... |
|
DSGTCBMU |
"X'00'" X'00' = Unknown Mode |
(2) |
.... ...1 |
|
DSGTCBMN |
"X'01'" X'01' = Not Open Mode |
(2) |
.... ..1. |
|
DSGTCBMO |
"X'02'" X'02' = Open Mode |
(3) |
BITSTRING |
1 |
|
Reserved |
(4) |
HALFWORD |
2 |
DSGTCBMP |
TCB Mode Pool number |
(4) |
.... .... |
|
DSGTCBP0 |
"0" 0 = TCB Pool Not Applicable |
(4) |
.... ...1 |
|
DSGTCBPO |
"1" 1 = TCB Pool Open |
(4) |
.... ..1. |
|
DSGTCBPX |
"2" 2 = TCB Pool XPLink |
(4) |
.... ..11 |
|
DSGTCBPS |
"3" 3 = TCB Pool SSL |
(4) |
.... .1.. |
|
DSGTCBPT |
"4" 4 = TCB Pool Threaded |
(6) |
BITSTRING |
2 |
|
Reserved |
(8) |
FULLWORD |
4 |
DSGNTCBA |
No. of TCB attaches |
(C) |
FULLWORD |
4 |
DSGTCBAF |
No. of TCB attach failures |
(10) |
FULLWORD |
4 |
DSGTCBCA |
Current No. of TCBs attached |
(14) |
FULLWORD |
4 |
DSGTCBPA |
Peak No. of TCBs attached |
(18) |
FULLWORD |
4 |
|
Reserved |
(1C) |
FULLWORD |
4 |
DSGTCBCU |
Current No. TCBs used by mode |
(20) |
FULLWORD |
4 |
DSGTCBPU |
Peak No. TCBs used by mode |
(24) |
FULLWORD |
4 |
|
Reserved |
(28) |
FULLWORD |
4 |
|
Reserved |
(2C) |
FULLWORD |
4 |
DSGTCBAL |
No. TCB Allocates to task |
(30) |
FULLWORD |
4 |
|
Reserved |
(34) |
FULLWORD |
4 |
DSGTCBDU |
No. of TCB detaches - unclean |
(38) |
FULLWORD |
4 |
DSGTCBDS |
No. of TCB detaches - stolen |
(3C) |
FULLWORD |
4 |
DSGTCBDX |
No. of TCB detaches - excess |
(40) |
FULLWORD |
4 |
DSGTCBDO |
No. of TCB detaches - other |
(44) |
FULLWORD |
4 |
|
Reserved |
(48) |
FULLWORD |
4 |
DSGTCBST |
No. of TCB steals |
(4C) |
FULLWORD |
4 |
DSGTCBMM |
No. of TCB mismatches |
(50) |
FULLWORD |
4 |
DSGSYSW |
No. of partition exits |
(54) |
FULLWORD |
4 |
(3) |
Reserved |
(60) |
FULLWORD |
4 |
DSGTMCDQ |
Current tasks on dispatchable queue |
(64) |
FULLWORD |
4 |
DSGTMPDQ |
Peak tasks on dispatchable queue |
(68) |
FULLWORD |
4 |
DSGTMADQ |
Average tasks on dispatchable queue (2 decimal places) |
(6C) |
FULLWORD |
4 |
|
Reserved |
The following CL8 definitions are really "Store Clock" format
|
(70) |
BITSTRING |
8 |
DSGTWT |
Cum real time CICS in OS wait |
(78) |
BITSTRING |
8 |
DSGTDT |
Cum real time TCB disp by MVS |
(80) |
BITSTRING |
8 |
DSGTCT |
Cum CPU time for DS task |
(88) |
BITSTRING |
8 |
DSGACT |
Cum CPU time for TCB |
(90) |
BITSTRING |
8 |
|
Reserved |
(98) |
BITSTRING |
8 |
|
Reserved |
(98) |
1.1. .... |
|
DSGMDEND |
"*" |
(98) |
1.1. .... |
|
DSGMDLEN |
"*-DSGTCBM" Length of a TCB Mode stats |
TCB Pool Statistics
The stats for the Dispatcher TCB Pools are kept in a fixed length
array. The number of entries in the array is in field DSGPSIZE
located at the begining of the DSGHDR.
The TCB pool number to dispatcher pool map is as follows:
TCB POOL(1) = MAXOPENTCBS
TCB POOL(2) = MAXXPTCBS
TCB POOL(3) = MAXSSLTCBS
TCB POOL(4) = MAXTHRDTCBS
Table 3.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
0 |
DSGTCBP |
TCB Pool Stats |
(0) |
HALFWORD |
2 |
DSGTCBPN |
TCB Pool Number |
(2) |
BITSTRING |
2 |
|
Reserved |
(4) |
FULLWORD |
4 |
DSGMXTCB |
Max number of TCBs |
(8) |
FULLWORD |
4 |
DSGCNUAT |
Current TCBs attached |
(C) |
FULLWORD |
4 |
DSGPNUAT |
Peak TCBs attached |
(10) |
FULLWORD |
4 |
DSGCNUUS |
Current TCBs in use |
(14) |
FULLWORD |
4 |
DSGPNUUS |
Peak TCBs in use |
(18) |
BITSTRING |
8 |
|
Reserved |
(20) |
FULLWORD |
4 |
DSGNTCBL |
No. times at TCB Pool Limit |
(24) |
FULLWORD |
4 |
|
Reserved |
(28) |
BITSTRING |
8 |
DSGTOTWL |
Total Wait Time at TCB limit |
(30) |
BITSTRING |
8 |
DSGCURWT |
Current waiting time |
(38) |
BITSTRING |
8 |
DSGTOTMT |
Total MVS storage constraint delay time |
(40) |
FULLWORD |
4 |
DSGTOTNW |
Total number of waits |
(44) |
FULLWORD |
4 |
DSGTOTMW |
Requests delayed by MVS storage constraint |
(48) |
FULLWORD |
4 |
DSGCURNW |
Current No. of tasks waiting for a TCB |
(4C) |
FULLWORD |
4 |
DSGPEANW |
Peak No. of tasks waiting for a TCB |
(50) |
BITSTRING |
8 |
|
Reserved |
(58) |
FULLWORD |
4 |
|
Reserved |
(5C) |
FULLWORD |
4 |
DSGMMWTS |
Total No. of TCB Mismatch waits |
(60) |
BITSTRING |
8 |
DSGMMWTM |
Total TCB Mismatch wait time |
(68) |
BITSTRING |
8 |
|
Reserved |
(70) |
FULLWORD |
4 |
DSGCMMWS |
Current TCB Mismatch waits |
(74) |
FULLWORD |
4 |
DSGPMMWS |
Peak TCB Mismatch waits |
(78) |
BITSTRING |
8 |
DSGCMMWT |
Current TCB Mismatch Waiting time |
(80) |
BITSTRING |
8 |
DSGGTCBL |
Time (GMT) pool limit reached |
(88) |
BITSTRING |
8 |
DSGLTCBL |
Time (local) pool limit reached |
(90) |
BITSTRING |
8 |
|
Reserved |
(98) |
BITSTRING |
8 |
|
Reserved |
(98) |
1.1. .... |
|
DSGPLEND |
"*" |
(98) |
1.1. .... |
|
DSGPLEN |
"*-DSGTCBP" Length of a TCB Pool stats |
(98) |
1.1. .... |
|
DSGEND |
"*" |
Equates for the maximum array sizes.
|
(98) |
...1 ..1. |
|
DSGMAXNUMMODES |
"18" Number of TCB Modes |
(98) |
.... .1.. |
|
DSGMAXNUMPOOLS |
"4" Number of TCB Pools |