$SyStat: Difference between revisions
m (1 revision) |
(Corrected the contents of %string) |
||
(17 intermediate revisions by 6 users not shown) | |||
Line 2: | Line 2: | ||
<span class="pageSubtitle">Retrieve system statistics into string</span> | <span class="pageSubtitle">Retrieve system statistics into string</span> | ||
<p class=" | <p class="warn"><b>Note: </b>Many $functions have been deprecated in favor of Object Oriented methods. There is no OO equivalent for the <var>$SyStat</var> function.</p> | ||
This function allows retrieval of system statistics into a string. | This function allows retrieval of system statistics into a string. | ||
==Syntax== | |||
<p class="syntax"><span class="term">%string</span> = <span class="literal">$SyStat</span>(<span class="term">stat_list</span>, [<span class="term">stat8</span>]) | |||
</p> | |||
<table> | |||
<tr><th>%string</th> | |||
<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> | |||
If <var>stat8</var> is <i>not</i> set to <code>8</code>), the first four bytes of <var class="term">%string</var> is an unsigned 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 <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. | |||
If <var>stat8</var> is set to <code>8</code>, the first eight bytes of <var class="term">%string</var> is an unsigned binary number indicating the number of milliseconds the Online has been up. The next ten bytes contain the blank-padded word <code>SYSTEM8</code> followed by two bytes of binary 0. The actual data, in this case, then starts at offset 20 (byte number 21) in the result string. | |||
</p></td></tr> | |||
<tr><th>stat_list</th> | |||
< | <td>A string of blank-delimited words indicating the statistics to be returned. Each returned statistic is a 4 (or eight if <var>stat8</var> set to <code>8</code>) byte, unsigned, binary number; the offset of each statistic is 4 or 8 from the previous statistic, with the first statistic starting at offset 16 or byte number 17. This facilitates the use of <var>$StatD</var> with the returned string. For more information about available statistics, see [[System statistics displayed in SirMon]].</td></tr> | ||
< | |||
< | <tr><th>stat8</th> | ||
<td>A integer that, if set, can only have a value of <code>8</code>. If set to 8, the returned value starts with an 8-byte timestamp and each statistic occupies 8 bytes. | |||
</table> | |||
<p class="code"> | ===Return codes=== | ||
<p class="code"> -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 | |||
</p> | </p> | ||
==Example== | |||
The following program displays some totals for system statistics. | The following program displays some totals for system statistics. | ||
<p class="code"> B | <p class="code">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 | |||
</p> | </p> | ||
[[Category:$Functions|$SyStat]] | [[Category:$Functions|$SyStat]] |
Latest revision as of 22:38, 10 August 2021
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, [stat8])
%string | If the length of the returned value is exactly four, %string is a binary number indicating an error code.
If stat8 is not set to If stat8 is set to |
---|---|
stat_list | A string of blank-delimited words indicating the statistics to be returned. Each returned statistic is a 4 (or eight if stat8 set to 8 ) byte, unsigned, binary number; the offset of each statistic is 4 or 8 from the previous statistic, with the first statistic starting at offset 16 or byte number 17. This facilitates the use of $StatD with the returned string. For more information about available statistics, see System statistics displayed in SirMon. |
stat8 | A integer that, if set, can only have a value of 8 . If set to 8, the returned value starts with an 8-byte timestamp and each statistic occupies 8 bytes.
|
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