$SsStatL
Retrieve statistics for set of subsystems into $list
Most Sirius $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.
The first argument is 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 |
The second argument is 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 the SirMon User's Guide.
The third argument is 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.
Syntax
%result = $SsStatL(list_identifier, stat_list, criterion)
%result is either a positive number (milliseconds since the online was brought up) or a negative error code.
-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