$SyStat

From m204wiki
Revision as of 23:40, 12 April 2013 by JALWiccan (talk | contribs) (Automatically generated page update)
Jump to navigation Jump to search

Retrieve system statistics into string

Most Sirius $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.

The $SyStat function accepts one 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.

Syntax

%STRING = $SyStat(stat_list)

%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.

The data returned by $SyStat 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 the blank padded word 'SYSTEM' 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 name in stat_list -13 - STAT not linked in -14 - Result string would be longer than 255 bytes

$SyStat return codes

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

Products authorizing $SyStat