Retrieve user's statistics into string
Note: Many $functions have been deprecated in favor of Object Oriented methods. The OO equivalent for the $UsStat function is the UserStatistics class.
This function allows retrieval of a specific user's statistics into a string.
%string = $UsStat(stat_list, user_num)
|%string||A string of data. If the string is exactly four bytes, it contains a binary error code.
Otherwise, the first four bytes contain the unsigned binary number of milliseconds that the Online has been up. This provides a convenient number for calculating rates for the statistics.
The next ten bytes contain the user ID, then follows two bytes containing the binary user number. This means that the actual data starts at offset 16 (byte number 17) in the result string.
|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 $StatD with the returned string.
For more information about available statistics, see User statistics displayed in SirMon.
|user_num||The user number of the user for which data is to be returned.|
-5 Required parameter not specified -12 Invalid parameter (argument 2 > NUSERS, or invalid name in stat list) -13 STAT not linked in -14 Result string would be longer than 255 bytes -15 User not logged on any more
The following program displays some totals for user 0.
B %DATA IS STRING LEN 255 %DATA = $UsStat('CPU SVIO PNAME DKIO', 0) IF $LEN(%DATA) = 4 THEN PRINT '$USSTAT ERROR... RC = ' WITH - $UNBIN(%DATA) STOP END IF PRINT 'USERID = ' WITH $SUBSTR(%DATA, 5, 10) PRINT 'CPU = ' WITH $UNBIN( $SUBSTR(%DATA, 17, 4) ) PRINT 'SVIO = ' WITH $UNBIN( $SUBSTR(%DATA, 21, 4) ) PRINT 'PNAME = ' WITH SUBSTR(%DATA, 25, 16) ) PRINT 'DKIO = ' WITH $UNBIN( $SUBSTR(%DATA, 41, 4) ) END