$TkStat: Difference between revisions
m (1 revision) |
m (1 revision) |
||
Line 47: | Line 47: | ||
</p> | </p> | ||
<ul class="smallAndTightList"> | <h2>Products authorizing {{PAGENAMEE}}</h2><ul class="smallAndTightList"> | ||
<li>[[Sirius $Functions]] | <li>[[Sirius $Functions]] | ||
</ul> | </ul> |
Revision as of 18:32, 25 October 2012
Retrieve task's statistics into string
Most Sirius $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.
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.
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.
Syntax
<section begin="syntax" />%STRING = $TkStat(stat_list, task_num) <section end="syntax" />
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.
-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
The following program displays some totals for subtask 1.
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) ) PRINT 'STDEQ = ' WITH $UNBIN( $SUBSTR(%DATA, 21, 4) ) PRINT 'LKWAIT = ' WITH $UNBIN( $SUBSTR(%DATA, 25, 4) ) END