$TkStat: Difference between revisions
m (clarify return value) |
|||
Line 2: | Line 2: | ||
<span class="pageSubtitle">Retrieve task's statistics into string</span> | <span class="pageSubtitle">Retrieve task's statistics into string</span> | ||
<p class="warn"><b>Note: </b> | <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>$TkStat</var> function.</p> | ||
This function allows retrieval of a specific task's statistics into a string. | This function allows retrieval of a specific task's statistics into a string. | ||
Line 15: | Line 15: | ||
<table> | <table> | ||
<tr><th>%string</th> | <tr><th>%string</th> | ||
<td> | <td>A string containing binary data. If the string is exactly four bytes, it contains an [[#Return codes|error code]]. | ||
<p> | |||
Otherwise, the first four bytes contain the 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 blanks, then follows 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> | ||
<td>A string of blank-delimited words indicating the statistics to be returned. The length of each returned statistic is always a multiple of | <td>A string of blank-delimited words indicating the statistics to be returned. The length of each returned statistic is always a multiple of four bytes. This facilitates the use of <var>$StatD</var> with the returned string. | ||
<p> | <p> | ||
For more information about available statistics, see the <var class="book">[ | For more information about available statistics, see the <var class="book">[[SirMon]]</var> M204wiki pages.</p> </td></tr> | ||
<tr><th>task_num</th> | <tr><th>task_num</th> | ||
<td>The task number of the task for which data is to be returned. The maintask is always task number 0. Other tasks are only available for Onlines running the MP/204 feature.</td></tr> | <td>The task number of the task for which data is to be returned. The maintask is always task number 0. Other tasks are only available for Onlines running the [[MP/204]] feature.</td></tr> | ||
</table> | </table> | ||
===Return codes=== | ===Return codes=== | ||
<p class="code"> -5 | <p class="code"> -5 Required parameter not specified | ||
-12 | -12 Invalid parameter (argument 2 > NMPSUBS) | ||
-13 | -13 STAT not linked in | ||
-14 | -14 Result string would be longer than 255 bytes | ||
</p> | </p> | ||
==Example== | ==Example== | ||
The following program displays some totals for subtask 1: | The following program displays some totals for subtask 1: | ||
<p class="code"> | <p class="code">Begin | ||
%data IS STRING LEN 255 | |||
% | %data = $TkStat('CPU STDEQ LKWAIT', 1) | ||
IF $LEN(%data) = 4 THEN | |||
PRINT '$TKSTAT ERROR... RC = ' WITH $Unbin(%data) | |||
IF $LEN(% | |||
PRINT '$TKSTAT ERROR... RC = ' WITH $ | |||
STOP | STOP | ||
END IF | END IF | ||
PRINT 'CPU = ' WITH $ | PRINT 'CPU = ' WITH $Unbin( $Substr(%data, 17, 4) ) | ||
PRINT 'STDEQ = ' WITH $ | PRINT 'STDEQ = ' WITH $Unbin( $Substr(%data, 21, 4) ) | ||
PRINT 'LKWAIT = ' WITH $ | PRINT 'LKWAIT = ' WITH $Unbin( $Substr(%data, 25, 4) ) | ||
End | |||
</p> | </p> | ||
Revision as of 21:11, 3 October 2016
Retrieve task's statistics into string
Note: Many $functions have been deprecated in favor of Object Oriented methods. There is no OO equivalent for the $TkStat function.
This function allows retrieval of a specific task's statistics into a string.
The $TkStat function accepts two argument and returns a string made up of an error code and returned statistics.
Syntax
%string = $TkStat(stat_list, task_num)
Syntax terms
%string | A string containing binary data. If the string is exactly four bytes, it contains an error code.
Otherwise, the first four bytes contain the 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 blanks, then follows 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 always a multiple of four bytes. This facilitates the use of $StatD with the returned string.
For more information about available statistics, see the SirMon M204wiki pages. |
task_num | The task number of the task for which data is to be returned. The maintask is always task number 0. Other tasks are only available for Onlines running the MP/204 feature. |
Return codes
-5 Required parameter not specified -12 Invalid parameter (argument 2 > NMPSUBS) -13 STAT not linked in -14 Result string would be longer than 255 bytes
Example
The following program displays some totals for subtask 1:
Begin %data IS STRING LEN 255 %data = $TkStat('CPU STDEQ LKWAIT', 1) IF $LEN(%data) = 4 THEN PRINT '$TKSTAT ERROR... RC = ' WITH $Unbin(%data) STOP END IF PRINT 'CPU = ' WITH $Unbin( $Substr(%data, 17, 4) ) PRINT 'STDEQ = ' WITH $Unbin( $Substr(%data, 21, 4) ) PRINT 'LKWAIT = ' WITH $Unbin( $Substr(%data, 25, 4) ) End