Storage occupancy counts

An occupancy count measures the area under the curve of user-task storage in use against elapsed time.

The unit of measure is the “byte-unit”, where the “unit” is equal to 1024 microseconds, or 1.024 milliseconds. Where ms is milliseconds, a user task occupying, for example, 256 bytes for 125 milliseconds, is measured as follows:

   125  / 1.024 ms = 122 units  * 256 = 31 232 byte-units.

Note: All references to “Start time” and “Stop time” in the following calculations refer to the middle 4 bytes of each 8 byte start/stop time field. Bit 47 of Start time or Stop time represents a unit of 16 microseconds.

To calculate response time and convert into microsecond units:
      Response = ((Stop time - Start time) * 16)
To calculate number of 1024 microsecond “units”:
      Units = (Response / 1024)
         or
      Units = ((Stop time - Start time) / 64)
To calculate the average user-task storage used from the storage
occupancy count:

      Average user-task storage used = (Storage Occupancy / Units)

To calculate units per second:
     Units Per Second = (1 000 000 / 1024) = 976.5625
To calculate the response time in seconds:
     Response time = (((Stop time - Start time) * 16) / 1 000 000)

During the life of a user task, CICS® measures, calculates, and accumulates the storage occupancy at the following points:
  • Before GETMAIN increases current user-storage values
  • Before FREEMAIN reduces current user-storage values
  • Just before the performance record is moved to the buffer.
Figure 1. Storage occupancy
Over the response time of this transaction (the period from the transaction start time to the transaction stop time), the storage occupancy varies when a GETMAIN or FREEMAIN occurs. Storage occupancy rises with a GETMAIN, and falls with a FREEMAIN. On a graph, the storage occupancy appears as a series of rising and falling steps, and an average storage occupancy can be calculated.