$UsStat: Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (1 revision)
 
(20 intermediate revisions by 4 users not shown)
Line 2: Line 2:
<span class="pageSubtitle">Retrieve user's statistics into string</span>
<span class="pageSubtitle">Retrieve user's statistics into string</span>


<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>
<p class="warn"><b>Note: </b>Many $functions have been deprecated in favor of Object Oriented methods. The OO equivalent for the $UsStat function is the [[UserStatistics class]].</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.  


The $UsStat function accepts two argument and returns a string made up of an error code and returned statistics.
==Syntax==
<p class="syntax"><span class="term">%string</span> = <span class="literal">$UsStat</span>(<span class="term">stat_list</span>, <span class="term">user_num</span>)
</p>


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 <var class="product">[http://sirius-software.com/maint/download/monr.pdf SirMon User's Guide]</var>.
===Syntax terms===
<table>
<tr><th>%string</th>
<td>A string of data. If the string is exactly four bytes, it contains a binary [[#Return codes|error code]].
<p>
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. </p>
<p>
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.</p></td></tr>


The second argument is the user number of the user for which data is to be returned.
<tr><th>stat_list</th>
 
<td>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 <var>[[$StatD]]</var> with the returned string.
==Syntax==
<p>
<p class="syntax"><section begin="syntax" />%STRING = $UsStat(stat_list, user_num)
For more information about available statistics, see [[User statistics displayed in SirMon]]. </p></td></tr>
<section end="syntax" /></p>
<p>%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.
<tr><th>user_num</th>
<td>The user number of the user for which data is to be returned. </td></tr>
</table>


<p class="code">
===Return codes===
  -5 - Required parameter not specified
<p class="code"> -5   Required parameter not specified
-12 - Invalid parameter (argument 2 > NUSERS)
-12   Invalid parameter (argument 2 > NUSERS, or invalid name in stat list)
-13 - STAT not linked in
-13   STAT not linked in
-14 - Result string would be longer than 255 bytes
-14   Result string would be longer than 255 bytes
-15 - User not logged on any more
-15   User not logged on any more
</p>
<p class="caption">$UsStat return codes
</p>
</p>


==Example==
The following program displays some totals for user 0.
The following program displays some totals for user 0.
<p class="code"> B
<p class="code">B
   
   
%DATA IS STRING LEN 255
%DATA IS STRING LEN 255
   
   
%DATA = $UsStat('CPU SVIO DKIO', 0)
%DATA = $UsStat('CPU SVIO PNAME DKIO', 0)
IF $LEN(%DATA) = 4 THEN
IF $LEN(%DATA) = 4 THEN
    PRINT '$USSTAT ERROR... RC = ' WITH -
  PRINT '$USSTAT ERROR... RC = ' WITH -
    $UNBIN(%DATA)
  $UNBIN(%DATA)
    STOP
  STOP
END IF
END IF
   
   
PRINT 'USERID = ' WITH $SUBSTR(%DATA, 5, 10)
PRINT 'USERID = ' WITH $SUBSTR(%DATA, 5, 10)
PRINT 'CPU = ' WITH $UNBIN( $SUBSTR(%DATA, 17, 4) )
PRINT 'CPU = ' WITH $UNBIN( $SUBSTR(%DATA, 17, 4) )
PRINT 'SVIO = ' WITH $UNBIN( $SUBSTR(%DATA, 21, 4) )
PRINT 'SVIO = ' WITH $UNBIN( $SUBSTR(%DATA, 21, 4) )
PRINT 'DKIO = ' WITH $UNBIN( $SUBSTR(%DATA, 25, 4) )
PRINT 'PNAME = ' WITH SUBSTR(%DATA, 25, 16) )
PRINT 'DKIO = ' WITH $UNBIN( $SUBSTR(%DATA, 41, 4) )
   
   
END
END
</p>
</p>


<h2>Products authorizing {{PAGENAMEE}}</h2><ul class="smallAndTightList">
==Products authorizing {{PAGENAMEE}}==
<li>[[Sirius $Functions]]
<ul class="smallAndTightList">
<li>[[List of $functions|Sirius functions]]</li>
</ul>
</ul>
<p>
</p>


[[Category:$Functions|$UsStat]]
[[Category:$Functions|$UsStat]]

Latest revision as of 11:00, 28 February 2018

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.

Syntax

%string = $UsStat(stat_list, user_num)

Syntax terms

%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.

Return codes

-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

Example

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

Products authorizing $UsStat