UserStatistics class: Difference between revisions
mNo edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
Intended for performance work, the UserStatistics class | Intended for performance work, the <var>UserStatistics</var> class | ||
is designed to replace $STAT and similar tools that return the | is designed to replace $STAT and similar tools that return the | ||
values for selected | values for selected <var class="product">Model 204</var> User statistics. | ||
The methods in this class are listed in [[:Category:UserStatistics methods|UserStatistics methods]]. | The methods in this class are listed in [[:Category:UserStatistics methods|UserStatistics methods]]. | ||
The UserStatistics constructor takes a snapshot of the user stat block at the | The <var>[[New (UserStatistics constructor|New]]</var> constructor takes a snapshot of the user stat block at the | ||
time the constructor is invoked. | time the constructor is invoked. | ||
You then use the UserStatistics methods to extract | You then use the <var>UserStatistics</var> methods | ||
to extract | |||
the statistical data from the instantiated object. | the statistical data from the instantiated object. | ||
Line 13: | Line 14: | ||
'''Login''' and '''Request'''. | '''Login''' and '''Request'''. | ||
<ul> | <ul> | ||
<li><div id="login"></div>Login statistics (also called “Final”) are those that keep data per user since the user's most recent login. The statistics available to the | <li><div id="login"></div>Login statistics (also called “Final”) are those that keep data per user since the user's most recent login. The statistics available to the <var class="product">Model 204</var> <var>$Stat</var> function, as well as the OBJSWAP statistic for [[Janus SOAP]] objects, are valid. | ||
<li><div id="request"></div>Request statistics are a combination of: | <li><div id="request"></div>Request statistics are a combination of: | ||
<ul> | <ul> | ||
<li>Statistics that keep the | <li>Statistics that keep the | ||
current high-water marks for some work tables per user. | current high-water marks for some work tables per user. | ||
<var class="product">Model 204</var> documentation includes these with “since last” statistics. | |||
<li>Since last statistics, which keep data per user comprising | <li>Since last statistics, which keep data per user comprising | ||
only the user's most recent work unit (like compilation or evaluation); | only the user's most recent work unit (like compilation or evaluation); | ||
Line 30: | Line 31: | ||
that are restricted to one type or the other. | that are restricted to one type or the other. | ||
The [[Model 204 System Manager's Guide]] and the [[SirMon]] documentation are good sources of information about the | The [[Model 204 System Manager's Guide]] and the <var class="product">[[SirMon]]</var> documentation are good sources of information about the | ||
available statistics; note that not all | available statistics; note that not all <var class="product">SirMon</var> statistics | ||
are included in a UserStatistics object. | are included in a <var>UserStatistics</var> object. | ||
Where they occasionally differ in spelling the name of a statistic, | Where they occasionally differ in spelling the name of a statistic, | ||
the ''Model 204 System Manager's Guide'' is more likely to have what the UserStatistics | the ''Model 204 System Manager's Guide'' is more likely to have what the <var>UserStatistics</var> | ||
methods require. | methods require. | ||
You can also view all the individual statistics contained in a UserStatistics | You can also view all the individual statistics contained in a <var>UserStatistics</var> | ||
object by applying the ToString method to it, as follows: | object by applying the <var>[[ToString (UserStastics function)|ToString]]</var> method to it, as follows: | ||
<pre> | <pre> | ||
% | Print %statObject:ToString(Zeros=true) | ||
</pre> | </pre> | ||
This displays all of | |||
the Login statistics followed by all the Request statistics. | the Login statistics followed by all the Request statistics. | ||
'''Note:''' | '''Note:''' | ||
The ToString method shown above can be applied implicitly: | The <var>ToString</var> method shown above can be applied implicitly: | ||
simply print or audit an object variable, and | simply print or audit an object variable, and | ||
the ToString method is automatically applied to the object. | the <var>ToString</var> method is automatically applied to the object. | ||
< | <code>Print %statObject</code> is equivalent to <code>Print %statObject:ToString</code>. | ||
The following is a simple example that | The following is a simple example that | ||
Line 60: | Line 61: | ||
... processing | ... processing | ||
%statEnd = new | %statEnd = new | ||
printText CPU: {%statEnd:difference(%statStart, 'CPU')} | printText CPU: {%statEnd:[[Difference(UserStatistics function)|difference]](%statStart, 'CPU')} | ||
printText DKRDs: {%statEnd:difference(%statStart, 'DKRD')} | printText DKRDs: {%statEnd:difference(%statStart, 'DKRD')} | ||
end | end | ||
Line 67: | Line 68: | ||
Specifying a statistic that is not a User statistic, or that is not the type | Specifying a statistic that is not a User statistic, or that is not the type | ||
of statistic (Login or Request) that a method calls for, | of statistic (Login or Request) that a method calls for, | ||
triggers an <var>[[UnknownStatistic class|UnknownStatistic]]</var> | triggers an <var>[[UnknownStatistic class|UnknownStatistic]]</var> exception. | ||
The UserStatistics class methods are | The <var>UserStatistics</var> class methods are | ||
described in the following subsections. | described in the following subsections. | ||
See also the [[Notation conventions for methods]]. | |||
The UserStatistics class is new as of Sirius Mods version 7.3. | The <var>UserStatistics</var> class is new as of Sirius Mods version 7.3. | ||
[[Category:System classes]] | [[Category:System classes]] |
Revision as of 14:26, 30 March 2011
Intended for performance work, the UserStatistics class is designed to replace $STAT and similar tools that return the values for selected Model 204 User statistics.
The methods in this class are listed in UserStatistics methods.
The New constructor takes a snapshot of the user stat block at the time the constructor is invoked. You then use the UserStatistics methods to extract the statistical data from the instantiated object.
The object holds two types of user statistics: Login and Request.
- Login statistics (also called “Final”) are those that keep data per user since the user's most recent login. The statistics available to the Model 204 $Stat function, as well as the OBJSWAP statistic for Janus SOAP objects, are valid.
- Request statistics are a combination of:
- Statistics that keep the current high-water marks for some work tables per user. Model 204 documentation includes these with “since last” statistics.
- Since last statistics, which keep data per user comprising only the user's most recent work unit (like compilation or evaluation); they are not accumulated.
Login and Request statistics are not mutually exclusive. Both Login and Request data are kept for some activities, so many statistics appear in lists of both types and are valid in all methods that are restricted to one type or the other.
The Model 204 System Manager's Guide and the SirMon documentation are good sources of information about the available statistics; note that not all SirMon statistics are included in a UserStatistics object. Where they occasionally differ in spelling the name of a statistic, the Model 204 System Manager's Guide is more likely to have what the UserStatistics methods require.
You can also view all the individual statistics contained in a UserStatistics object by applying the ToString method to it, as follows:
Print %statObject:ToString(Zeros=true)
This displays all of
the Login statistics followed by all the Request statistics.
Note:
The ToString method shown above can be applied implicitly:
simply print or audit an object variable, and
the ToString method is automatically applied to the object.
Print %statObject
is equivalent to Print %statObject:ToString
.
The following is a simple example that shows how much CPU a request uses and how many DKRDs it did:
b %statStart is object userStatistics %statEnd is object userStatistics %statStart = new ... processing %statEnd = new printText CPU: {%statEnd:[[Difference(UserStatistics function)|difference]](%statStart, 'CPU')} printText DKRDs: {%statEnd:difference(%statStart, 'DKRD')} end
Specifying a statistic that is not a User statistic, or that is not the type of statistic (Login or Request) that a method calls for, triggers an UnknownStatistic exception.
The UserStatistics class methods are described in the following subsections. See also the Notation conventions for methods.
The UserStatistics class is new as of Sirius Mods version 7.3.