$UsStatL: Difference between revisions
mNo edit summary |
m (1 revision) |
(No difference)
|
Revision as of 01:28, 19 October 2012
Retrieve statistics for set of users into $list
Most Sirius $functions have been deprecated in favor of Object Oriented methods. There is no OO equivalent for the $UsStatL function.
This function allows retrieval of statistics for a set of users into a $list.
The $UsStatL function accepts three arguments and returns a numeric error code.
The first argument is the identifier of the $list 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 userid |
---|---|
Byte 11-12 | Binary user number |
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 users are to be included in the output $list. The following criteria are allowed:
ACCOUNT=acctid | include only users with account ids matching acctid (wildcards allowed). |
---|---|
CFR=fid | include only users holding or requesting critical file resources in files with filename matching fid (wildcards allowed). |
CHKP | include only users preventing checkpoints |
FILE=filename | include only users with filename open. |
IODEV=iodevnum | include only users on IODEV iodevnum. |
PNAME=pname | include only users running procedures with names matching termid (wildcards allowed). |
SUBSYS=subsysid | include only users in subsystem subsysid (wildcards allowed). |
TERMID=termid | include only users logged on terminals with ids matching termid (wildcards allowed). |
USER=userid | include only users with userids matching userid (wildcards allowed). |
WHAT=activity | include only users with current activity matching activity (wildcards allowed). |
In actual fact, all users are always included in the output list, but the excluded users have the high order bit of their user numbers turned on. This tells $StatLD to exclude the users from the difference $list.
Syntax
<section begin="syntax" /> %RESULT = $UsStatL(list_identifier, stat_list, criterion) <section end="syntax" />
-3 - No room to create $list items (if LISTFC $SirParm parameter not set) -5 - Required parameter not specified -6 - Invalid $list identifier -13 - STAT not linked in -16 - Invalid selection criterion
The following program displays some statistics for all users in subsystem SIRMON.
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