$TkStat: Difference between revisions

From m204wiki
Jump to navigation Jump to search
(Created page with "{{DISPLAYTITLE:$TkStat}} <span class="pageSubtitle"><section begin="desc" />Retrieve task's statistics into string<section end="desc" /></span> <p class="warning">Most Sirius $f...")
 
m (→‎Syntax: add "unsigned")
 
(24 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:$TkStat}}
{{DISPLAYTITLE:$TkStat}}
<span class="pageSubtitle"><section begin="desc" />Retrieve task's statistics into string<section end="desc" /></span>
<span class="pageSubtitle">Retrieve task's statistics into string</span>


<p class="warning">Most Sirius $functions have been deprecated in favor of Object Oriented methods. The OO equivalent for the $TkStat function is [[to be entered]].</p>
<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.  


The $TkStat 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">$TkStat</span>(<span class="term">stat_list</span>, <span class="term">task_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 ''"SirMon User's Guide"''.
===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 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>


The second argument is 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.
<tr><th>stat_list</th>
==Syntax==
<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 class="syntax"><section begin="syntax" /> %STRING = $TkStat(stat_list, task_num)
<p>
<section end="syntax" /></p>
For more information about available statistics, see the <var class="book">[[SirMon]]</var> M204wiki pages.</p> </td></tr>
<p class="caption">$TkStat Function
</p>
<p class="caption">%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>


<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>
</table>


The data returned by $TkStat 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 since the online region was brought up. This provides a convenient number for calculating rates for the statistics. When a positive error code is returned the next 10 bytes contain blanks followed by 2 bytes of binary 0. This means that the actual data starts at offset 16 (byte number 17) in the result string.<p>
===Return codes===
-5 - Required parameter not specified
<p class="code"> -5   Required parameter not specified
-12 - Invalid parameter (argument 2 > NMPSUBS)
-12   Invalid parameter (argument 2 > NMPSUBS)
-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
</p>
<p class="caption">$TkStat return codes
</p>
</p>


==Example==
The following program displays some totals for subtask 1:


 
<p class="code">Begin
The following program displays some totals for subtask 1.
%data IS STRING LEN 255
<p class="code"> B
%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) )
%data = $TkStat('CPU STDEQ LKWAIT', 1)
PRINT 'STDEQ = ' WITH $UNBIN( $SUBSTR(%DATA, 21, 4) )
IF $LEN(%data) = 4 THEN
PRINT 'LKWAIT = ' WITH $UNBIN( $SUBSTR(%DATA, 25, 4) )
  PRINT '$TKSTAT ERROR... RC = ' WITH $Unbin(%data)
  STOP
END IF
   
   
END
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
</p>
</p>
<p class="code">
<ul>
<li>&SFUNC


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


[[Category:$Functions|$TkStat]]
[[Category:$Functions|$TkStat]]

Latest revision as of 14:55, 4 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.

Syntax

%string = $TkStat(stat_list, task_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 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

Products authorizing $TkStat