$UsStat: Difference between revisions

From m204wiki
Jump to navigation Jump to search
(Automatically generated page update)
mNo edit summary
Line 6: Line 6:
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.
The <var>$UsStat</var> 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 <var class="product">[http://sirius-software.com/maint/download/monr.pdf SirMon User's Guide]</var>.
 
The second argument is the user number of the user for which data is to be returned.


==Syntax==
==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 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>
</p>
===Syntax terms===
<table>
<tr><th>%string</th>
<td>A string containing binary data, the first 4 bytes of which is an [[#Return codes|error code]].
<p>
<p>
<var class="term">%string</var> is made up of binary data, the first 4 bytes of which is an [[#Return codes|error code]]. </p>
If the error code is negative, <var class="term">%string</var> will only be 4 bytes long. 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. </p>
<p>
If 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></td></tr>


If the error code is negative, <var class="term">%string</var> will only be 4 bytes long. 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.  
<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.
<p>
For more information about available statistics, see the <var class="book">[http://sirius-software.com/maint/download/monr.pdf SirMon User's Guide]</var>. </p></td></tr>


If 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>


===Return codes===
===Return codes===
<p class="code"> -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)
-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>


==Example==
==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 PNAME 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 'PNAME = ' WITH SUBSTR(%DATA, 25, 16) )
PRINT 'PNAME = ' WITH SUBSTR(%DATA, 25, 16) )
PRINT 'DKIO = ' WITH $UNBIN( $SUBSTR(%DATA, 41, 4) )
PRINT 'DKIO = ' WITH $UNBIN( $SUBSTR(%DATA, 41, 4) )
   
   
END
END
</p>
</p>


Line 56: Line 64:
<li>[[Sirius $Functions]]
<li>[[Sirius $Functions]]
</ul>
</ul>
<p>
</p>


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

Revision as of 00:34, 25 July 2013

Retrieve user's statistics into string

Note: Most Sirius $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.

The $UsStat function accepts two argument and returns a string made up of an error code and returned statistics.

Syntax

%string = $UsStat(stat_list, user_num)

Syntax terms

%string A string containing 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. 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.

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

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 the SirMon User's Guide.

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) -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