$UsStat: Difference between revisions
m (1 revision) |
mNo edit summary |
||
Line 2: | Line 2: | ||
<span class="pageSubtitle"><section begin="desc" />Retrieve user's statistics into string<section end="desc" /></span> | <span class="pageSubtitle"><section begin="desc" />Retrieve user's statistics into string<section end="desc" /></span> | ||
<p class="warning">Most Sirius $functions have been deprecated in favor of Object Oriented methods. | <p class="warning">Most Sirius $functions have been deprecated in favor of Object Oriented methods. There is no OO equivalent for the $UsStat function.</p> | ||
This function allows retrieval of a specific user's statistics into a string. | This function allows retrieval of a specific user's statistics into a string. | ||
Line 11: | Line 11: | ||
The second argument is the user number of the user for which data is to be returned. | The second argument is the user number of the user for which data is to be returned. | ||
==Syntax== | ==Syntax== | ||
<p class="syntax"><section begin="syntax" /> %STRING = $UsStat(stat_list, user_num) | <p class="syntax"><section begin="syntax" /> %STRING = $UsStat(stat_list, user_num) | ||
Line 18: | Line 19: | ||
<p class="caption">%STRING is made up of binary data, the first 4 bytes of which is an error code. If the error code is negative %STRING will only be 4 bytes long.</p> | <p class="caption">%STRING is made up of binary data, the first 4 bytes of which is an error code. If the error code is negative %STRING will only be 4 bytes long.</p> | ||
The data returned by $UsStat is binary with the first 4 bytes containing an error code. If the error code is negative, only 4 bytes are returned. If the error code is positive, it contains a number of milliseconds that the online has been up. This provides a convenient number for calculating rates for the statistics. When a positive error code is returned the next 10 bytes contain the userid followed by 2 bytes containing the binary user number. This means that the actual data starts at offset 16 (byte number 17) in the result string. | |||
<p class="code"> | |||
-5 - Required parameter not specified | |||
-12 - Invalid parameter (argument 2 > NUSERS) | -12 - Invalid parameter (argument 2 > NUSERS) | ||
-13 - STAT not linked in | -13 - STAT not linked in | ||
Line 28: | Line 30: | ||
<p class="caption">$UsStat return codes | <p class="caption">$UsStat return codes | ||
</p> | </p> | ||
The following program displays some totals for user 0. | The following program displays some totals for user 0. | ||
Line 37: | Line 38: | ||
%DATA = $UsStat('CPU SVIO DKIO', 0) | %DATA = $UsStat('CPU SVIO DKIO', 0) | ||
IF $LEN(%DATA) = 4 THEN | IF $LEN(%DATA) = 4 THEN | ||
PRINT '$USSTAT ERROR... RC = ' WITH - | |||
$UNBIN(%DATA) | |||
STOP | |||
END IF | END IF | ||
Line 49: | Line 50: | ||
END | END | ||
</p> | </p> | ||
<ul class="smallAndTightList"> | |||
<li>[[Sirius $Functions]] | |||
</ul> | </ul> | ||
<p class="caption">Products authorizing $UsStat | <p class="caption">Products authorizing $UsStat | ||
</p> | </p> | ||
[[Category:$Functions|$UsStat]] | [[Category:$Functions|$UsStat]] |
Revision as of 21:01, 8 February 2011
<section begin="desc" />Retrieve user's statistics into string<section end="desc" />
Most Sirius $functions have been deprecated in favor of Object Oriented methods. There is no OO equivalent for the $UsStat function.
This function allows retrieval of a specific user's statistics into a string.
The $UsStat function accepts two argument and returns a string made up of an error code and returned statistics.
The first 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 $StatD with the returned string. For more information about available statistics, see the "SirMon User's Guide".
The second argument is the user number of the user for which data is to be returned.
Syntax
<section begin="syntax" /> %STRING = $UsStat(stat_list, user_num) <section end="syntax" />
The data returned by $UsStat is binary with the first 4 bytes containing an error code. If the error code is negative, only 4 bytes are returned. If the error code is positive, it contains a number of milliseconds that the online has been up. This provides a convenient number for calculating rates for the statistics. When a positive error code is returned the next 10 bytes contain the userid followed by 2 bytes containing the binary user number. This means that the actual data starts at offset 16 (byte number 17) in the result string.
-5 - Required parameter not specified -12 - Invalid parameter (argument 2 > NUSERS) -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 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 'DKIO = ' WITH $UNBIN( $SUBSTR(%DATA, 25, 4) ) END