$SyStat: Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (clarify return value)
m (clarify return value)
Line 5: Line 5:


This function allows retrieval of system statistics into a string.  
This function allows retrieval of system statistics into a string.  
The <var>$SyStat</var> function accepts one argument and returns a string made up of an error code and returned statistics.


==Syntax==
==Syntax==
Line 13: Line 11:
<table>
<table>
<tr><th>%string</th>
<tr><th>%string</th>
<td>If the length of the returned value is four, <var class="term">%string</var> is a binary number indicating an error code. Otherwise, the first four bytes of <var class="term">%string</var>  
<td>If the length of the returned value is exactly four, <var class="term">%string</var> is a binary number indicating an error code. <p>
is a binary number indicating the number of milliseconds the Online has been up. </td></tr>
Otherwise, the first four bytes of <var class="term">%string</var> is a binary number indicating the number of milliseconds the Online has been up. This provides a convenient number for calculating rates for the statistics. </p>
<p>
The next ten bytes contain the blank-padded word <code>SYSTEM</code> followed by two bytes of binary 0. This means that the actual data starts at offset 16 (byte number 17) in the result string. </p></td></tr>


<tr><th>stat_list</th>
<tr><th>stat_list</th>
Line 26: Line 26:
-14  Result string would be longer than 255 bytes
-14  Result string would be longer than 255 bytes
</p>
</p>
==Usage notes==
<ul>
<li>The data returned by <var>$SyStat</var> is binary. If only four bytes are returned, they are an error code. Otherwise, the first four bytes  are the number of milliseconds since the Online region was brought up. This provides a convenient number for calculating rates for the statistics. </li>
<li>If more than four bytes are returned, the next ten bytes contain the blank-padded word <code>SYSTEM</code> followed by two bytes of binary 0. This means that the actual data starts at offset 16 (byte number 17) in the result string. </li>
</ul>


==Example==
==Example==

Revision as of 22:00, 3 October 2016

Retrieve system statistics into string

Note: Many $functions have been deprecated in favor of Object Oriented methods. There is no OO equivalent for the $SyStat function.

This function allows retrieval of system statistics into a string.

Syntax

%string = $SyStat(stat_list)

%string If the length of the returned value is exactly four, %string is a binary number indicating an error code.

Otherwise, the first four bytes of %string is a binary number indicating the number of milliseconds the Online has been up. This provides a convenient number for calculating rates for the statistics.

The next ten bytes contain the blank-padded word SYSTEM followed by two bytes of binary 0. 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 a multiple of 4 bytes. This facilitates the use of $StatD with the returned string. For more information about available statistics, see System statistics displayed in SirMon.

Return codes

-5 Required parameter not specified -12 Invalid name in stat_list -13 STAT not linked in -14 Result string would be longer than 255 bytes

Example

The following program displays some totals for system statistics.

B %DATA IS STRING LEN 255 %DATA = $SyStat('CPU DKIO SVIO') IF $LEN(%DATA) = 4 THEN PRINT '$SYSTAT ERROR... RC = ' WITH $UNBIN(%DATA) STOP END IF PRINT 'CPU = ' WITH $UNBIN( $SUBSTR(%DATA, 17, 4) ) PRINT 'DKIO = ' WITH $UNBIN( $SUBSTR(%DATA, 21, 4) ) PRINT 'SVIO = ' WITH $UNBIN( $SUBSTR(%DATA, 25, 4) ) END