From m204wiki
Jump to navigation Jump to search

Retrieve statistics for set of subsystems into $list

Note: Many $functions have been deprecated in favor of Object Oriented methods. There is currently no OO equivalent for the $SsStatL function.

This function allows retrieval of statistics for a set of subsystems into a $list.

The $SsStatL function accepts three arguments and returns a numeric error code.


%result = $SsStatL(list_identifier, stat_list, criterion)

Syntax terms

%result Either a positive number (milliseconds since the online was brought up) or a negative error code.
list_identifier The identifier of the $list that is to receive the results. The current contents of the $list are deleted and replaced with the requested statistics. The format of each $list item is:
Byte 1-10 Blank padded subsystem name
Byte 11-12 Always 0
Byte 13- Returned statistics
stat_list A string of blank delimited words indicating the statistics to be returned. The length of each returned statistic is always a multiple of 4 bytes. This facilitates the use of $StatLD with the returned $list. For more information about available statistics, see Subsystem statistics displayed in SirMon.
criterion A selection criterion that indicates which files are to be included in the output $list. The following criteria are allowed:
FILE=filename Include only subsystems that have opened file filename.
SUBSYS=subsysid Include only subsystems with names matching subsysid (wildcards allowed).

In actual fact, all files are always included in the output list, but the excluded subsystems have the high order bit of byte 11 turned on. This tells $StatLD to exclude the subsystems from the difference $list.

Return codes

-3 - No room to create $list items (if LISTFC $SirParm parameter not set) -5 - Required parameter not specified -6 - Invalid $list identifier -12 - Invalid name in stat_list -13 - STAT not linked in -16 - Invalid selection criterion


The following program displays some statistics for all subsystems.

b %data is string len 255 %list1 = $ListNew %list2 = $ListNew %list3 = $ListNew %time1 = $UsStatL(%list1, 'IODEV CPU') Pause 1 %time2 = $UsStatL(%list2, 'IODEV CPU','SUBSYS=SIRMON') %rc = $StatLD(%list1, %list2, %list3, 'N N', %time2 - %time1) For %i from 1 to $ListCnt(%list3) %data = $ListInf(%list3, %i) Text userid = { $substr(%data,1,10) } - usernum = { $unbin($substr(%data,11,2)) } - iodev = { $unbin($substr(%data,13,4)) } - cpu total = { $unbin($substr(%data,17,4)) } End Text End For End

Products authorizing $SsStatL