$SsStatL: Difference between revisions
(Automatically generated page update) |
(→Syntax) |
||
Line 34: | Line 34: | ||
==Syntax== | ==Syntax== | ||
<p class="syntax"><span class="term">%result</span> = <span class="literal">$SsStatL</span>(<span class="term">list_identifier, stat_list, criterion) | <p class="syntax"><span class="term">%result</span> = <span class="literal">$SsStatL</span>(<span class="term">list_identifier</span>, <span class="term">stat_list</span>, <span class="term">criterion</span>) | ||
</p> | </p> | ||
<p>%result is either a positive number (milliseconds since the online was brought up) or a negative error code.</p> | <p> | ||
<var class="term">%result</var> is either a positive number (milliseconds since the online was brought up) or a negative error code.</p> | |||
<p class="code"> | ===Return codes=== | ||
<p class="code"> -3 - No room to create $list items | |||
(if LISTFC <var>$SirParm</var> parameter not set) | |||
-5 - Required parameter not specified | |||
-6 - Invalid $list identifier | |||
-12 - Invalid name in stat_list | |||
-13 - STAT not linked in | |||
-16 - Invalid selection criterion | |||
</p> | </p> | ||
==Example== | |||
The following program displays some statistics for all subsystems. | The following program displays some statistics for all subsystems. | ||
<p class="code"> b | <p class="code">b | ||
%data is string len 255 | |||
%list1 = $ListNew | |||
%list2 = $ListNew | |||
%list3 = $ListNew | |||
%time1 = $UsStatL(%list1, 'IODEV CPU') | |||
Pause 1 | |||
%time2 = $UsStatL(%list2, 'IODEV CPU','SUBSYS=SIRMON') | |||
%rc = $StatLD(%list1, %list2, %list3, 'N N', %time2 - %time1) | |||
For %i from 1 to $ListCnt(%list3) | |||
%data = $ListInf(%list3, %i) | |||
Text | |||
userid = { $substr(%data,1,10) } - | |||
usernum = { $unbin($substr(%data,11,2)) } - | |||
iodev = { $unbin($substr(%data,13,4)) } - | |||
cpu total = { $unbin($substr(%data,17,4)) } | |||
End Text | |||
End For | |||
End | |||
</p> | </p> | ||
Revision as of 21:45, 11 April 2013
Retrieve statistics for set of subsystems into $list
Most Sirius $functions have been deprecated in favor of Object Oriented methods. There is currently no OO equivalent for the $SsStatL function.
This function allows retrieval of statistics for a set of subsystems into a $list.
The $SsStatL function accepts three arguments and returns a numeric error code.
The first argument is the identifier of the $list that is to receive the results. The current contents of the $list are deleted and replaced with the requested statistics. The format of each $list item is:
Byte 1-10 | Blank padded subsystem name |
---|---|
Byte 11-12 | Always 0 |
Byte 13- | Returned statistics |
The second 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 $StatLD with the returned $list. For more information about available statistics, see the SirMon User's Guide.
The third argument is a selection criterion that indicates which files are to be included in the output $list. The following criteria are allowed:
FILE=filename | include only subsystems that have opened file filename. |
---|---|
SUBSYS=subsysid | include only subsystems with names matching subsysid (wildcards allowed). |
In actual fact, all files are always included in the output list, but the excluded subsystems have the high order bit of byte 11 turned on. This tells $StatLD to exclude the subsystems from the difference $list.
Syntax
%result = $SsStatL(list_identifier, stat_list, criterion)
%result is either a positive number (milliseconds since the online was brought up) or a negative error code.
Return codes
-3 - No room to create $list items (if LISTFC $SirParm parameter not set) -5 - Required parameter not specified -6 - Invalid $list identifier -12 - Invalid name in stat_list -13 - STAT not linked in -16 - Invalid selection criterion
Example
The following program displays some statistics for all subsystems.
b %data is string len 255 %list1 = $ListNew %list2 = $ListNew %list3 = $ListNew %time1 = $UsStatL(%list1, 'IODEV CPU') Pause 1 %time2 = $UsStatL(%list2, 'IODEV CPU','SUBSYS=SIRMON') %rc = $StatLD(%list1, %list2, %list3, 'N N', %time2 - %time1) For %i from 1 to $ListCnt(%list3) %data = $ListInf(%list3, %i) Text userid = { $substr(%data,1,10) } - usernum = { $unbin($substr(%data,11,2)) } - iodev = { $unbin($substr(%data,13,4)) } - cpu total = { $unbin($substr(%data,17,4)) } End Text End For End
Products authorizing $SsStatL