SirTune Report Generator configuration: Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (1 revision: SirTune doc)
m (misc cleanup)
Line 3: Line 3:
You've been warned.  ..  (Page built by JAL at the SIRIUS VM; file: FUNPGNEW SYSUT2) -->
You've been warned.  ..  (Page built by JAL at the SIRIUS VM; file: FUNPGNEW SYSUT2) -->
<!-- Page name: Sirtune Report Generator configuration -->
<!-- Page name: Sirtune Report Generator configuration -->
<p></p>
An optional DD card allows the reporting run to be customized.
An optional DD card allows the reporting run to be customized.
For <var class="product">SirTune</var> 7.2, using the SIRTUNEREPORT &ul. program to generate
For <var class="product">SirTune</var> 7.2, using the [[SirTune report generation|SIRTUNEREPORT]] SOUL program to generate
reports, this DD card is named <code>TUNERPTI</code>.
reports, this DD card is named <code>TUNERPTI</code>.
For <var class="product">SirTune</var> versions 6.9 and older, using the SIRTUNER module,
For <var class="product">SirTune</var> versions 6.9 and older, using the SIRTUNER module, the DD card is named <code>SIRTUNEI</code>.
the DD card is named <code>SIRTUNEI</code>.
 
<p></p>
This input card must have fixed format, and it must
This input card must have fixed format, and it must
use report configuration parameters specified in
use report configuration parameters specified in
either of the
either of the following types of input format to define the
following types of input format to define the
characteristics of the reporting run:
characteristics of the reporting run:
<ul>
<ul>
<li>Control-card statements
<li>Control-card statements
<p></p>
<p>
Report configuration parameters are specified in a set of statements
Report configuration parameters are specified in a set of statements
(only one per line).
(only one per line).
There are no line continuations, and a line beginning
There are no line continuations, and a line beginning
with an asterisk character (<code>*</code>) is treated as a comment (that is,
with an asterisk character (<code>*</code>) is treated as a comment (that is, ignored). </p>
ignored).
<p>
<p></p>
The individual statements are described in [[#cardcfg|Configuration parameters]].
The individual statements are described in [[#cardcfg|Configuration parameters]].
<p></p>
</p>
<p></p>
<p>
An example of control-card statement input follows:
An example of control-card statement input follows:</p>
<p class="code"><nowiki>  RANGE 9:30 12:30
<p class="code">RANGE 9:30 12:30
  RESOLUTION 50
RESOLUTION 50
  REPORT CFRROOT
REPORT CFRROOT
  REPORT STATE CFRBANY WHAT
REPORT STATE CFRBANY WHAT
  MAXD 10
MAXD 10
  REPORT STATE RUNG QUAD
REPORT STATE RUNG QUAD
  REPORT STATE RUNG EVALI EVAL CHUNK 32
REPORT STATE RUNG EVALI EVAL CHUNK 32
  REPORT STATE RUNG CHUNK 4 CHUNK 400 CHUNK 4000
REPORT STATE RUNG CHUNK 4 CHUNK 400 CHUNK 4000
  REPORT CSECT TOTAL CHUNK 512 CHUNK 64
REPORT CSECT TOTAL CHUNK 512 CHUNK 64
</nowiki></p>
</p>
<li>XML document format (must be <var class="product">SirTune</var> 7.2 or later)
<li>XML document format (must be <var class="product">SirTune</var> 7.2 or later)
<p></p>
<p></p>
Line 44: Line 40:
<p></p>
<p></p>
Most of the parameters represented as single control-card statements
Most of the parameters represented as single control-card statements
(as described above)
(as described above) are available in XML, but they are represented in lowercase or mixed-case,
are available in XML, but they are represented in lowercase or mixed-case,
and some are individual elements while others are attributes of elements.
and some are individual elements while others are attributes of elements.
The details about the coding location of each parameter are in [[#xmlrpti|Using XML input for report configuration]].
The details about the coding location of each parameter are in [[#xmlrpti|Using XML input for report configuration]].
Line 52: Line 47:
report can be specified on a single line, in XML format each
report can be specified on a single line, in XML format each
<code><report></code> element specifies exactly one report.
<code><report></code> element specifies exactly one report.
<p></p>
<p></p>
<p></p>
Here is an XML version of the control-card example above:
Here is an XML version of the control-card example above:
<p class="code"><nowiki>  <SirtuneInput maxDelay="10" top="100" title="ULSPFPRO">
<p class="code"><SirtuneInput maxDelay="10" top="100" title="ULSPFPRO">
    <range start="9:30" end="12:30"/>
  <range start="9:30" end="12:30"/>
    <resolution value="50"/>
  <resolution value="50"/>
    <reportFormat>
  <reportFormat>
      <title>Sirtune Reports for ULSPFPRO</title>
    <title>Sirtune Reports for ULSPFPRO</title>
      <charactersPerLine>78</charactersPerLine>
    <charactersPerLine>78</charactersPerLine>
      <linesPerPage>55</linesPerPage>
    <linesPerPage>55</linesPerPage>
      <tableOfContents>top</tableOfContents>
    <tableOfContents>top</tableOfContents>
    </reportFormat>
  </reportFormat>
    <report type="cfrroot"/>
  <report type="cfrroot"/>
    <report type="what" state="crfbany"/>
  <report type="what" state="crfbany"/>
    <report type="quad" state="rung"/>
  <report type="quad" state="rung"/>
    <report type="evali" state="rung"/>
  <report type="evali" state="rung"/>
    <report type="eval" state="rung"/>
  <report type="eval" state="rung"/>
    <report type="eval" state="rung" chunk="32"/>
  <report type="eval" state="rung" chunk="32"/>
    <report type="eval" state="rung" chunk="4">
  <report type="eval" state="rung" chunk="4">
    <report type="eval" state="rung" chunk="400">
  <report type="eval" state="rung" chunk="400">
    <report type="eval" state="rung" chunk="4000">
  <report type="eval" state="rung" chunk="4000">
    <report type="csect" chunk="total"/>
  <report type="csect" chunk="total"/>
    <report type="csect" chunk="512"/>
  <report type="csect" chunk="512"/>
    <report type="csect" chunk="64"/>
  <report type="csect" chunk="64"/>
  </SirtuneInput>
</SirtuneInput>
</nowiki></p>
</p>
</ul>
</ul>


Line 126: Line 120:


<div id="comp31"></div>
<div id="comp31"></div>
===comp31===
===COMP31===
<!--Caution: <div> above-->
<!--Caution: <div> above-->


<p></p>
<p class="note"><b>Note:</b> This parameter, added in Version 7.2, can only be specified when using XML input to TUNERPTI, and it is only valid for <var class="product">Model&nbsp;204</var> V6R3 and later.
Status: This parameter is new for Version 7.2.
It can only be specified
COMP31 indicates the maximum compilation-table size for a procedure that will be stored in 31-bit storage.
when using XML input to TUNERPTI, and it is only valid for <var class="product">Model 204</var> V6R3
and later.
<p></p>
comp31 indicates the maximum
size of compilation table for a procedure that will be stored in 31-bit storage.
Above this size, compilations are moved to 64-bit storage.
Above this size, compilations are moved to 64-bit storage.
The default value is x'1FFFF', or 131,071.
The default value is X'1FFFF', or 131,071.
<p></p>
comp31 is specified as an attribute on the <code>SirtuneInput</code> element
COMP31 is specified as an attribute on the <code>SirtuneInput</code> element (see [[#xmlrpti|Using XML input for report configuration]]). For example:
(see [[#xmlrpti|Using XML input for report configuration]]); for example:
<p class="code"><SirtuneInput maxDelay="10" comp31="200000">
<p class="code"><nowiki><SirtuneInput maxDelay="10" comp31="200000">
</p>
</nowiki></p>
 
<p></p>
<p></p>
The size of a saved compilation table for a procedure is the
The size of a saved compilation table for a procedure is the
size of the procedure in QTBL bytes divided by the minimum QTBL chunk size,
size of the procedure in [[QTBL]] bytes, divided by the minimum QTBL chunk size, times 20:
times 20:
<p class="code">(QTBLsize/QTBLchunk)*20
<p class="code"><nowiki>(QTBLsize/QTBLchunk)*20
</p>
</nowiki></p>
<p>
<p>
If a procedure's QTBL is 20,000 bytes and the smallest chunk size
If a procedure's QTBL is 20,000 bytes and the smallest chunk size
requested in a report is 200, this procedure will require (20,000/200)*20,
requested in a report is 200, this procedure will require <code>(20,000/200)*20</code>,
or 2,000 bytes. More common are procedure sizes of around 800,000 bytes, with a
or 2,000 bytes. More common are procedure sizes of around 800,000 bytes, with a chunk size of 4, theoretically requiring <code>(800,000/4)*20</code>, or 4,000,000 bytes.
chunk size of 4, theoretically requiring (800,000/4)*20, or 4,000,000 bytes.
This is actually an upper bound, as you never get more than one chunk per line, and few lines of code generate only 4 bytes of QTBL. More typical is about 40 bytes per chunk (even with a chunk size of 4), which produces a compiled table of 200,000.</p>
This is actually an upper bound, as you never get more than one chunk per line, and few lines of code generate only 4 bytes of QTBL. More typical is about 40 bytes per chunk (even with a chunk size of 4), which produces a compiled table of 200,000.</p>
<p>
<p>
There is no reason to set comp31 unless your site is running out of
There is no reason to set COMP31 unless your site is running out of
31-bit storage under <var class="product">Model 204</var> V6R3 or later.
31-bit storage under <var class="product">Model&nbsp;204</var> V6R3 or later.
Prior to V6R3, <var class="product">Model 204</var> did not support 64-bit storage, so comp31
Prior to V6R3, <var class="product">Model&nbsp;204</var> did not support 64-bit storage, so comp31 has no effect.</p>
has no effect.</p>
<p class="note"><b>Note:</b> The <var>[[CURREP31 parameter|CURREP31]]</var>, <var>[[CURREP64 parameter|CURREP64]]</var>, <var>[[HGHREP31 parameter|HGHREP31]]</var>, and <var>[[HGHREP64 parameter|HGHREP64]]</var>
<p class="note"><b>Note:</b> The CURREP31, CURREP64, HGHREP31, and HGHREP64
system parameters indicate the current and greatest amounts of
system parameters indicate the current and greatest amounts of
31-bit and 64-bit virtual storage used for a report.
31-bit and 64-bit virtual storage used for a report.
The MAXREP31 and MAXREP64 parameters indicate the maximum amount allowed.
The <var>[[MAXREP31 parameter|MAXREP31]]</var> and <var>[[MAXREP64 parameter|MAXREP64]]</var> parameters indicate the maximum amount allowed.
For more information, see [[List of Model 204 parameters]].
</p>
</p>


Line 173: Line 156:
<!--Caution: <div> above-->
<!--Caution: <div> above-->


Status: This parameter is deprecated as of Version 7.2.
<p class="note"><b>Note:</b> This parameter is deprecated as of Version 7.2. If it is specified as an input parameter, it is ignored. </p>
If it is specified as an input parameter, it is ignored.
<p>
<p>
This statement indicates which sample datasets that make up SIRTUNED
The DATASET statement indicates which sample data sets that make up SIRTUNED are to be included in the report. A separate <code>INFO</code> report is produced for each data set selected, and all samples from the selected data sets are combined to produce composite
are to be included in the report. A separate <code>INFO</code> report is produced for each dataset selected, and all samples from the selected datasets are combined to produce composite
results for other reports. Data sets are processed in order: if a data set is selected and causes some TUNR error message, reporting ends without proceeding to other data sets.
results for other reports. Datasets are processed in order: if a dataset is selected and causes some TUNR error message, reporting ends without proceeding to other datasets.
</p>
</p>
<p>
<p>
If the DATASET statement is not specified,
If the DATASET statement is not specified,
only the first sample dataset is included in the report.
only the first sample data set is included in the report.
This is true even if multiple sample datasets were physically concatenated into a single
This is true even if multiple sample data sets were physically concatenated into a single
dataset with IEBGENER or COPYFILE before being passed to the reporting module.
data set with IEBGENER or COPYFILE before being passed to the reporting module.
</p>
</p>
<p>
<p>
The <i>list</i> value is a list of dataset numbers or ranges of numbers.
The <var class="term">list</var> value is a list of data set numbers or ranges of numbers.
For example, the following indicates that datasets 1 through 4 are to be used:</p>
For example, the following indicates that data sets 1 through 4 are to be used:</p>
<p class="code"><nowiki>DATASET 1-4
<p class="code">DATASET 1-4
</nowiki></p>
</p>
<p>
<p>
The following indicates that datasets 2, 4, and 5 through 6 are to be used:</p>
The following indicates that data sets 2, 4, and 5 through 6 are to be used:</p>
<p class="code"><nowiki>DATASET 2 5-6 4
<p class="code">DATASET 2 5-6 4
</nowiki></p>
</p>
<p>
<p>
More than one DATASET statement can appear in SIRTUNEI, and
More than one DATASET statement can appear in SIRTUNEI, and
their effect is cumulative, so:</p>
their effect is cumulative, so:</p>
<p class="code"><nowiki>DATASET 2
<p class="code">DATASET 2
DATASET 4-6
DATASET 4-6
</nowiki></p>
</p>
<p>
<p>
is the same as:</p>
Is the same as:</p>
<p class="code"><nowiki>DATASET 2 4-6
<p class="code">DATASET 2 4-6
</nowiki></p>
</p>
<p>
<p>
If an asterisk (<code>*</code>) character appears after a DATASET statement,
If an asterisk (<code>*</code>) character appears after a DATASET statement, all data sets are used in the report. Thus the following:</p>
all datasets are used in the report. Thus the following:</p>
<p class="code">DATASET 1 3-5 8 *
<p class="code"><nowiki>DATASET 1 3-5 8 *
</p>
</nowiki></p>
<p>
<p>
is the same as:</p>
is the same as:</p>
<p class="code"><nowiki>DATASET *
<p class="code">DATASET *
</nowiki></p>
</p>
<p>since in both cases, all datasets are used in the report.
<p>
since in both cases, all data sets are used in the report.
</p>
</p>
<p>
<p>
There is no harm in specifying dataset numbers greater than the number
There is no harm in specifying data set numbers greater than the number
of sample datasets in SIRTUNED, though of course, these dataset numbers
of sample data sets in SIRTUNED, though of course, these data set numbers
will not be included in the report.</p>
will not be included in the report.</p>
<p>
<p>
RANGE, SKIP, and FOR statements operate individually on each component
RANGE, SKIP, and FOR statements operate individually on each component
sample dataset in a concatenation. For example, suppose SIRTUNED
sample data set in a concatenation. For example, suppose SIRTUNED
consists of three concatenated sample datasets collected over the following
consists of three concatenated sample data sets collected over the following dates and times:</p>
dates and times:</p>
 
<table class="thJustBold">
<table class="thJustBold">
<tr><th>Dataset 1</th><td>January 5 at 5:30 AM through January 8 at 11:00 PM</td></tr>
<tr><th>Dataset 1</th><td>January 5 at 5:30 AM through January 8 at 11:00 PM</td></tr>
<tr><th>Dataset 2</th><td>January 10 at 1:00 PM through January 15 at 10:00 PM</td></tr>
<tr><th>Dataset 2</th><td>January 10 at 1:00 PM through January 15 at 10:00 PM</td></tr>
<tr><th>Dataset 3</th><td>January 11 at 5:00 AM through January 14 at 10:00 PM</td></tr>
<tr><th>Dataset 3</th><td>January 11 at 5:00 AM through January 14 at 10:00 PM</td></tr>
</table>
</table>


In this example, datasets <code>2</code> and <code>3</code> are
In this example, data sets <code>2</code> and <code>3</code> are
associated with two different Onlines that run concurrently.
associated with two different Onlines that run concurrently.
The SIRTUNEI statements:  
The SIRTUNEI statements:  
<p class="code"><nowiki>RANGE 11:00 12:00 SKIP 3 FOR 2
<p class="code">RANGE 11:00 12:00 SKIP 3 FOR 2
DATASET 1-3
DATASET 1-3
</nowiki></p>
</p>
would result in the range of 11:00 AM to 12:00 noon being used on the
result in the range of 11:00 AM to 12:00 noon being used on the
following days for each dataset:
following days for each data set:
<table class="thJustBold">
<table class="thJustBold">
<tr><th>Dataset 1</th><td>January 8</td></tr>
<tr><th>Dataset 1</th><td>January 8</td></tr>
Line 246: Line 229:
<p>
<p>
To determine the time ranges and characteristics of each individual
To determine the time ranges and characteristics of each individual
dataset in a concatenation, simply run a report against the concatenated
data set in a concatenation, simply run a report against the concatenated
SIRTUNED with the following commands in SIRTUNEI:</p>
SIRTUNED with the following commands in SIRTUNEI:</p>
<p class="code"><nowiki>REPORT NODEFAULT
<p class="code">REPORT NODEFAULT
REPORT INFO
REPORT INFO
</nowiki></p>
</p>
<p>
<p>
It should be possible to produce most <var class="product">SirTune</var> reports with any concatenation of data sets. There are certain reports, however, that require all sample data sets
It should be possible to produce most <var class="product">SirTune</var> reports with any concatenation of data sets. There are certain reports, however, that require all sample data sets
to have been produced with some consistency among the Onlines. These reports are:</p>
to have been produced with some consistency among the Onlines. These reports are:</p>
<table class="thJustBold">
<table class="thJustBold">
<tr><th>CSECT?</th><td>The <var class="product">Model 204</var> load modules must be identical among runs (except for ZAPs or Early Warnings).</td></tr>
<tr><th>CSECT?</th>
<td>The <var class="product">Model 204</var> load modules must be identical among runs (except for ZAPs or Early Warnings).</td></tr>


<tr><th>STATE ???? QUAD</th><td>The <var class="product">Model 204</var> load modules must be from the same release and must have run with identical $function tables.</td></tr>
<tr><th>STATE ???? QUAD</th>
<td>The <var class="product">Model&nbsp;204</var> load modules must be from the same release and must have run with identical $function tables.</td></tr>


<tr><th>SERVIO</th><td>The OnlineS must have run with identical numbers of server datasets (CCASERVR, CCASERV1, etc.).</td></tr>
<tr><th>SERVIO</th>
<td>The OnlineS must have run with identical numbers of server data sets (CCASERVR, CCASERV1, etc.).</td></tr>


<tr><th>STATE RUNGM/RUNGS</th><td>The OnlineS must have all run with NMPSUBS greater than 0 (the MP feature is turned on).</td></tr>
<tr><th>STATE RUNGM/RUNGS</th>
<td>The Onlines must have all run with <var>[[NMPSUBS parameter|NMPSUBS]]</var> greater than 0 (the [[MP/204]] feature is turned on).</td></tr>
</table>
</table>
<p>
<p>
Even though all other reports are allowed for concatenated sample data sets,
Even though all other reports are allowed for concatenated sample data sets, use caution when interpreting the results.
use caution when interpreting the results.
It is up to you interpret how changes between runs could affect the results.
It is up to you interpret how changes between runs could affect the results.
These changes might include:</p>
These changes might include:</p>
<ul>
<ul>
<li>User Language code changes
<li>SOUL code changes
<li>Changes in <var class="product">Model 204</var> parameters
<li>Changes in <var class="product">Model&nbsp;204</var> parameters
<li>Changes in the <var class="product">Model 204</var> load module
<li>Changes in the <var class="product">Model&nbsp;204</var> load module
<li>Changes in <var class="product">SirTune</var> parameters
<li>Changes in <var class="product">SirTune</var> parameters
<li>Number of samples collected in each sample data set
<li>Number of samples collected in each sample data set
Line 279: Line 266:
meaningful reports.
meaningful reports.
<p>
<p>
Suppose, under MVS, the SIRTUNER or SIRTUNEREPORT job logically concatenates
Suppose, under MVS, the SIRTUNER or SIRTUNEREPORT job logically concatenates five sample data sets associated with the five weekdays as follows:</p>
five sample datasets associated with the 5 weekdays as follows:</p>
<p class="code"><nowiki>//SIRTUNED DD  DSN=SIRTUNE.SAMPLE.MON,DISP=SHR
<p class="code"><nowiki>//SIRTUNED DD  DSN=SIRTUNE.SAMPLE.MON,DISP=SHR
//        DD  DSN=SIRTUNE.SAMPLE.TUE,DISP=SHR
//        DD  DSN=SIRTUNE.SAMPLE.TUE,DISP=SHR
Line 288: Line 274:
</nowiki></p>
</nowiki></p>
<p>
<p>
To produce a report for Tuesday and Wednesday simply code
To produce a report for Tuesday and Wednesday, specify the following input statements:</p>
the following input statements:</p>
<p class="code">DATASET 2 3
<p class="code"><nowiki>DATASET 2 3
</p>
</nowiki></p>


<div id="lineper"></div>
<div id="lineper"></div>
Line 321: Line 306:
<!--Caution: <div> above-->
<!--Caution: <div> above-->


Status: This parameter is deprecated as of Version 7.2.
<p class="note"><b>Note:</b> This parameter is deprecated as of Version 7.2. If it is specified as an input parameter, it is ignored. </p>
If it is specified as an input parameter, it is ignored.
<p>
<p>
When used in a CSECT breakdown report,
When used in a CSECT breakdown report, this statement allows analysis of instructions outside the loaded <var class="product">Model&nbsp;204</var> module.</p>
this statement allows analysis of instructions outside the loaded <var class="product">Model 204</var> module.</p>


===MAXDelay max_msec===
===MAXDelay max_msec===
<p>
<p>
This statement makes it possible to change the criterion used by the reporting
This statement makes it possible to change the criterion used by the reporting module to determine if a sample should be discarded.</p>
module to determine if a sample should be discarded.</p>
<p>
<p>
When the delay between the time a sample was supposed to be collected and the time
When the delay between the time a sample was supposed to be collected and the time it actually was collected is greater than <var class="term">max_msec</var> milliseconds,
it actually was collected is greater than <i>max_msec</i> milliseconds,
the sample is assumed to be biased and hence discarded.
the sample is assumed to be biased and hence discarded.
The default for <i>max_msec</i> is 10, which means that any sample
The default for <var class="term">max_msec</var> is 10, which means that any sample that is delayed by more than 10 milliseconds from its intended time is discarded.</p>
that was delayed by more than 10 milliseconds from its intended time
will be discarded.</p>
<p>
<p>
If it is felt that reports are biased, with I/O producing instructions
If it is felt that reports are biased, with I/O producing instructions
appearing unbelievably frequently in the RUNG state (obviously, this is very
appearing unbelievably frequently in the RUNG state (obviously, this is very subjective), it might be worth reducing <code>MAXDELAY</code> to 1 with the following statement:</p>
subjective), it might be worth reducing MAXDELAY to 1 with
<p class="code">MAXDELAY 1
the following statement:</p>
</p>
<p class="code"><nowiki>MAXDELAY 1
</nowiki></p>
If there was indeed a bias, one would expect after this change
If there was indeed a bias, one would expect after this change
to see more samples discarded and the percentages for the RUNG state to change for
to see more samples discarded and the percentages for the RUNG state to change for certain procedures and chunks of procedures.
certain procedures and chunks of procedures.
<p>
<p>
If, on the other hand, <var class="product">SirTune</var> was running in an environment where the Online was getting relatively slow service from the operating system, almost all
If, on the other hand, <var class="product">SirTune</var> was running in an environment where the Online was getting relatively slow service from the operating system, almost all samples might be discarded by the reporting module.
samples might be discarded by the reporting module.
In this situation, it might be worth
In this situation, it might be worth
increasing MAXDELAY to accept more samples, with the understanding that this might
increasing MAXDELAY to accept more samples, with the understanding that this might introduce biases in the reported data.</p>
introduce biases in the reported data.</p>
<p>
<p>
To increase MAXDELAY to 1000 milliseconds
To increase MAXDELAY to 1000 milliseconds (1 second), enter this statement:</p>
(1 second), enter this statement:</p>
<p class="code">MAXDELAY 1000
<p class="code">MAXDELAY 1000
</p>
</p>
Generally, setting MAXDELAY greater than 100 is likely to produce severe biases
Generally, setting MAXDELAY greater than 100 is likely to produce severe biases in Sirtune reports.
in Sirtune reports.


<div id="mixed"></div>
<div id="mixed"></div>
Line 366: Line 338:
<!--Caution: <div> above-->
<!--Caution: <div> above-->


Status: This parameter is deprecated as of Version 7.2.
<p class="note"><b>Note:</b> This parameter is deprecated as of Version 7.2. If it is specified as an input parameter, it is ignored. </p>
If it is specified as an input parameter, it is ignored.
<p>
<p>
This statement indicates that the reporting module should issue
This statement indicates that the reporting module should issue
all reports in mixed case. The default is to issue messages in mixed
all reports in mixed case. The default is to issue messages in mixed
case except on Japanese operating systems.
case, except on Japanese operating systems.
On these systems, the default is to issue all message in
On these systems, the default is to issue all messages in
uppercase only. This option should be used on Japanese operating systems when
uppercase only. This option should be used on Japanese operating systems when mixed case messages are desired.</p>
mixed case messages are desired.</p>


<div id="mpvirt"></div>
<div id="mpvirt"></div>
Line 380: Line 350:
<!--Caution: <div> above-->
<!--Caution: <div> above-->


Status: This parameter is deprecated as of Version 7.2.
<p class="note"><b>Note:</b> This parameter is deprecated as of Version 7.2. If it is specified as an input parameter, it is ignored. </p>
If it is specified as an input parameter, it is ignored.
<p>
<p>
This statement has meaning only if generating a report for
This statement has meaning only if generating a report for
data collected in an Online running MP/204.
data collected in an Online running [[MP/204]].
It indicates that a running user is considered to be running in parallel if it
It indicates that a running user is considered to be running in parallel if it is in virtual or logical parallel mode, whether or not it is
is in virtual or logical parallel mode, whether or not it is
actually running in an offload subtask.
actually running in an offload subtask.
By default, the <var class="product">SirTune</var> reports only
By default, the <var class="product">SirTune</var> reports only
Line 392: Line 360:
running on an offload subtask.</p>
running on an offload subtask.</p>
<p>
<p>
The MPVIRT statement is useful for estimating the "offloadability" of User Language code in systems
The MPVIRT statement is useful for estimating the "offloadability" of SOUL code in systems that are not busy enough to force all offloadable code into a subtask.</p>
that are not busy enough to force all offloadable code into
a subtask.</p>
<p class="note"><b>Note:</b> MPVIRT only has an effect on reports that are
<p class="note"><b>Note:</b> MPVIRT only has an effect on reports that are
specific to states RUNGM or RUNGS.
specific to states RUNGM or RUNGS.
</p>
</p>
<p>
<p>
It is not possible to
It is not possible to split the reports in a run of <var class="product">SirTune</var> so that some are generated
split the reports in a run of <var class="product">SirTune</var> so that some are generated
with MPVIRT set and others are not.
with MPVIRT set and others are not.
If MPVIRT appears anywhere in the input stream,
If MPVIRT appears anywhere in the input stream,
Line 410: Line 375:
<!--Caution: <div> above-->
<!--Caution: <div> above-->


Status: This parameter is deprecated as of Version 7.2.
<p class="note"><b>Note:</b> This parameter is deprecated as of Version 7.2. If it is specified as an input parameter, it is ignored.
If it is specified as an input parameter, it is ignored.
<p>
<p>
This statement indicates that reporting module should not consider
This statement indicates that the reporting module should not consider
characters in columns 73 through 80 of SIRTUNEI as part of
characters in columns 73 through 80 of SIRTUNEI as part of
its input. If the input file has RECFM=F and LRECL=80, the reporting module
its input. If the input file has <code>RECFM=F</code> and <code>LRECL=80</code>, the reporting module
ordinarily assumes that characters in columns 73 through 80 are
ordinarily assumes that characters in columns 73 through 80 are
sequence numbers and ignores them.
sequence numbers and ignores them.
Line 431: Line 395:
characteristics during different times of the day.
characteristics during different times of the day.
<p>
<p>
<i>start_time</i> and <i>end_time</i> can have the format
<var class="term">start_time</var> and <var class="term">end_time</var> can have the format HH, HH:MM, or HH:MM:SS, where HH represents an hour of the day, MM represents minutes, and SS represents seconds.
HH, HH:MM or HH:MM:SS, where HH represents an hour of the day, MM
The maximum allowable time is 24 or 24:00 or 24:00:00, which corresponds to midnight. </p>
represents minutes, and SS represents seconds.
<p>
The maximum allowable time is 24 or 24:00 or 24:00:00, which corresponds to midnight.
For example, the following statement indicates that only sample data collected in the first 1 PM to 3 PM range in the run should be used to generate the reports:</p>
For example, the following statement indicates that only sample data collected in the first 1 PM to 3 PM range in the run should be used to generate the reports:</p>
<p class="code">RANGE 13 15
<p class="code">RANGE 13 15
Line 446: Line 409:
</p>
</p>
<p>
<p>
If the run
If the run came up in the middle of the specified range, the time from the start of the run to the end of the range is considered the first range.
came up in the middle of the specified range, the time from the start of
In the preceding example, if the run came up at 2:30 PM, the first range would extend from 2:30 PM to 3 PM.
the run to the end of the range is considered the first range.
In the preceding example, if the run came up at 2:30 PM, the first range would
extend from 2:30 PM to 3 PM.
The following example indicates that only sample data collected in the first 11:30 AM to 1:30 PM
The following example indicates that only sample data collected in the first 11:30 AM to 1:30 PM
range in the run should be used to generate the reports:</p>
range in the run should be used to generate the reports:</p>
Line 462: Line 422:
</p>
</p>
<p>
<p>
If <i>start_time</i> is greater than <i>end_time</i>
If <var class="term">start_time</var> is greater than <var class="term">end_time</var>, the times are assumed to wrap.
the times are assumed to wrap.
For example. the following statement indicates that only sample data collected in the first 11:00 PM to 1:00 AM range in the run should be used to generate the reports:</p>
For example. the following statement indicates that only sample data collected in the first 11:00 PM to 1:00 AM range in the run should be used to generate the reports:</p>
<p class="code">RANGE 23:00 1:00
<p class="code">RANGE 23:00 1:00
Line 469: Line 428:
<p>
<p>
If sample data for a run was collected over more than 24 hours, a
If sample data for a run was collected over more than 24 hours, a
range might occur more than once in the sample dataset.
range might occur more than once in the sample data set.
Ordinarily, only the first range is included in the reports.
Ordinarily, only the first range is included in the reports.
To include a specific number of occurrences of the indicated range, the FOR clause should
To include a specific number of occurrences of the indicated range, the <code>FOR</code> clause should be included on the RANGE statement, followed by <var class="term">for_num</var>,
be included on the RANGE statement, followed by <i>for_num</i>,
where <var class="term">for_num</var> can be either a whole number or an asterisk (<code>*</code>).
where <i>for_num</i> can be either a whole number or an asterisk (<code>*</code>).
A whole number indicates the number of occurrences of the range are to be included in the report. An asterisk indicates that all occurrences of the range are to be included in the report.</p>
A whole number indicates the number of occurrences of the range are to be included
in the report. An asterisk indicates that all occurrences of the range
are to be included in the report.</p>
<p>
<p>
For example, the following statement indicates that the first 5 9:30 AM to 11:30 AM ranges are to be included in the reports:</p>
For example, the following statement indicates that the first 5 9:30 AM to 11:30 AM ranges are to be included in the reports:</p>
Line 490: Line 446:
To exclude the first occurrence or occurrences of the indicated range
To exclude the first occurrence or occurrences of the indicated range
from the reports, include the SKIP clause on the RANGE statement, followed
from the reports, include the SKIP clause on the RANGE statement, followed
by <i>skip_num</i> (where <i>skip_num</i> must be a non-negative integer
by <var class="term">skip_num</var> (where <var class="term">skip_num</var> must be a non-negative integer
indicating the number of occurrences of the indicated range to skip).
indicating the number of occurrences of the indicated range to skip).
For example, to indicate that the second 10 AM to 12 noon range is to be included in the reports:</p>
For example, to indicate that the second 10 AM to 12 noon range is to be included in the reports:</p>
Line 496: Line 452:
</p>
</p>
<p>
<p>
To indicate that the third, fourth, and fifth 1:30 PM to 3:30 PM ranges are
To indicate that the third, fourth, and fifth 1:30 PM to 3:30 PM ranges are to be included in the reports:</p>
to be included in the reports:</p>
<p class="code">RANGE 13:30 15:30 SKIP 2 FOR 3
<p class="code">RANGE 13:30 15:30 SKIP 2 FOR 3
</p>
</p>
Line 505: Line 460:
Conversely, only the first one is used when specified in XML input
Conversely, only the first one is used when specified in XML input
Thus:</p>
Thus:</p>
<p class="code"><nowiki>RANGE 9:30 11:30
<p class="code">RANGE 9:30 11:30
RANGE 13:30 15:30
RANGE 13:30 15:30
</nowiki></p>
</p>
<p>
<p>
is functionally equivalent to:</p>
is functionally equivalent to:</p>
<p class="code"><nowiki>RANGE 13:30 15:30
<p class="code">RANGE 13:30 15:30
</nowiki></p>
</p>


The position of RANGE statements relative to other statements is
The position of RANGE statements relative to other statements is
Line 521: Line 476:


This statement either requests a specified report or reports, or it
This statement either requests a specified report or reports, or it
indicates that the default reports are not to be generated (REPORT NODEFAULT).
indicates that the default reports are not to be generated (<code>REPORT NODEFAULT</code>). The actual reports that can be requested are listed in [[SirTune reports]].
The actual reports that can be requested are listed in [[SirTune reports]].
<p>
<p>
If REPORT NODEFAULT is specified, it must be the first REPORT statement
If <code>REPORT NODEFAULT</code> is specified, it must be the first REPORT statement in the input stream (if input is XML formatted, the position of <code>REPORT NODEFAULT</code> is not critical).</p>
in the input stream (if input is XML formatted, the position of REPORT
NODEFAULT is not critical).</p>
<p>
<p>
The default reports produced by SIRTUNEI are the ones
The default reports produced by SIRTUNEI are the ones
Line 537: Line 489:
<p>
<p>
In XML format, these default reports are specified like this:</p>
In XML format, these default reports are specified like this:</p>
<p class="code"><nowiki><SirtuneInput maxDelay="10" top="50">
<p class="code"><SirtuneInput maxDelay="10" top="50">
   <report type="info">
   <report type="info">
   <report type="state">
   <report type="state">
Line 547: Line 499:
   <report type="eval" state="rung" chunk="4">
   <report type="eval" state="rung" chunk="4">
</SirtuneInput>
</SirtuneInput>
</nowiki></p>
</p>
<p></p>
For more information about XML formatting for an individual report,
For more information about XML formatting for an individual report,
see [[#indrpt|<report>: Specifying individual reports]].
see [[#indrpt|<report>: Specifying individual reports]].


<div id="resolu"></div>
<div id="resolu"></div>
Line 561: Line 513:
This statement should be of interest only to users
This statement should be of interest only to users
for whom virtual and real storage use is a major concern.
for whom virtual and real storage use is a major concern.
<p class="note"><b>Note:</b> The CURREP31, CURREP64, HGHREP31, and HGHREP64
 
system parameters indicate the current and greatest amounts of
<p class="note"><b>Note:</b> The <var>CURREP31</var>, <var>CURREP64</var>, <var>HGHREP31</var>, and <var>HGHREP64</var>
31-bit and 64-bit virtual storage used for a report.
Model&nbsp;204 system parameters indicate the current and greatest amounts of 31-bit and 64-bit virtual storage used for a report.
The MAXREP31 and MAXREP64 parameters indicate the maximum amount allowed.
The <var>MAXREP31</var> and <var>MAXREP64</var> parameters indicate the maximum amount allowed.</p>
For more information, see [[List of Model 204 parameters]].
</p>
<p>
<p>
Storage use by the reporting module is directly
Storage use by the reporting module is directly
Line 573: Line 523:
The number of chunks required for each such procedure
The number of chunks required for each such procedure
is inversely related to its minimum resolution.
is inversely related to its minimum resolution.
Thus by increasing the minimum resolution for a procedure, it is possible to
Thus by increasing the minimum resolution for a procedure, it is possible to decrease the amount of virtual storage used for that procedure.
decrease the amount of virtual storage used for that procedure.
The default resolution for all procedures is 4.</p>
The default resolution for all procedures is 4.</p>
<p>
<p>
The <i>res_num</i> value specifies the minimum chunk resolution in QTBL
The <var class="term">res_num</var> value specifies the minimum chunk resolution in QTBL bytes for all or the indicated procedures.
bytes for all or the indicated procedures.
For a discussion of chunks and resolution, see [[SirTune reports#repst|REPORT STATE state_name activity]].</p>
For a discussion of chunks and resolution, see [[SirTune reports#repst|REPORT STATE state_name activity]].</p>
<p>
<p>
If not followed by any other keywords, this statement sets the default minimum resolution
If not followed by any other keywords, this statement sets the default minimum resolution for all procedures. For example, this sets the default minimum resolution for all procedures to 100:</p>
for all procedures. For example, this sets the default minimum resolution for all procedures to 100:</p>
<p class="code">RESOLUTION 100
<p class="code"><nowiki>RESOLUTION 100
</p>
</nowiki></p>
<p>
<p>
There can be an unlimited number of this kind of RESOLUTION
There can be an unlimited number of this kind of RESOLUTION
Line 601: Line 548:
<p>
<p>
Likewise, this XML input:</p>
Likewise, this XML input:</p>
<p class="code"><nowiki><resolution value="150">
<p class="code"><resolution value="150">
<resolution value="100">
<resolution value="100">
<resolution value="50">
<resolution value="50">
</nowiki></p>
</p>
<p>
<p>
is functionally equivalent to:</p>
is functionally equivalent to:</p>
<p class="code"><nowiki><resolution value="150">
<p class="code"><resolution value="150">
</nowiki></p>
</p>
<p>
<p>
<i>res_num</i> may optionally be followed by one or more
<var class="term">res_num</var> may optionally be followed by one or more
keywords (PROC, FILE, or SUBSYS), with each keyword followed by a
keywords (PROC, FILE, or SUBSYS), with each keyword followed by a
resolution that applies only to procedures that meet the keyword's criterion.
resolution that applies only to procedures that meet the keyword's criterion.
For example, this statement indicates that a resolution of 1000 should be used for all procedures
For example, this statement indicates that a resolution of 1000 should be used for all procedures in subsystem <code>HOHO</code>:</p>
in subsystem HOHO:</p>
<p class="code">RESOLUTION 1000 SUBSYS HOHO
<p class="code"><nowiki>RESOLUTION 1000 SUBSYS HOHO
</p>
</nowiki></p>
<p>
<p>
Using XML input, the keywords are the same except in lowercase:</p>
Using XML input, the keywords are the same except in lowercase:</p>
<p class="code"><nowiki><resolution value="1000" subsys="HOHO">
<p class="code"><resolution value="1000" subsys="HOHO">
</nowiki></p>
</p>
<p>
<p>
This statement indicates that a resolution of 500 should be used for all procedures
This statement indicates that a resolution of 500 should be used for all procedures in procedure file <code>PROCA</code>:</p>
in procedure file PROCA:</p>
<p class="code">RESOLUTION 500 FILE PROCA
<p class="code"><nowiki>RESOLUTION 500 FILE PROCA
</p>
</nowiki></p>
<p>
<p>
Or, in XML mode:</p>
Or, in XML mode:</p>
<p class="code"><nowiki><resolution value="500" file="PROCA">
<p class="code"><resolution value="500" file="PROCA">
</nowiki></p>
</p>
<p>
<p>
The following
The following indicates that a resolution of 700 should be used for the procedure named <code>PRE-PROC.A</code>:</p>
indicates that a resolution of 700 should be used for the procedure named
<p class="code">RESOLUTION 700 PROC PRE-PROC.A
PRE-PROC.A:</p>
</p>
<p class="code"><nowiki>RESOLUTION 700 PROC PRE-PROC.A
</nowiki></p>
<p>
<p>
Wildcards can also be used.
Wildcards can also be used.
To indicate that a resolution of 100 should be used for any procedure
To indicate that a resolution of 100 should be used for any procedure
whose name begins with <code>PRE-</code>, you can specify:</p>
whose name begins with <code>PRE-</code>, you can specify:</p>
<p class="code"><nowiki>RESOLUTION 100 PROC PRE-*
<p class="code">RESOLUTION 100 PROC PRE-*
</nowiki></p>
</p>
<p>
<p>
The following statement indicates that a resolution of 300 should be used for any procedure
The following statement indicates that a resolution of 300 should be used for any procedure in a subsystem whose name ends with <code>XREF</code>:</p>
in a subsystem whose name ends with XREF:</p>
<p class="code">RESOLUTION 300 SUBSYS *XREF
<p class="code"><nowiki>RESOLUTION 300 SUBSYS *XREF
</p>
</nowiki></p>
For more details on the use of wildcards, see [[SirTune statement wildcards]].
For more details on the use of wildcards, see [[Wildcard Strings in <var class="product">SirTune</var> and SIRTUNER Statements]].
<p>
<p>
More than one condition can be specified on a single RESOLUTION
More than one condition can be specified on a single RESOLUTION
Line 653: Line 595:
procedures that match all the keyword criteria.
procedures that match all the keyword criteria.
For example, the following statement sets a resolution of 1000 for any procedure whose name ends in <code>TEST</code> <i>and</i> is in a procedure file whose name begins with <code>SIR</code>:</p>
For example, the following statement sets a resolution of 1000 for any procedure whose name ends in <code>TEST</code> <i>and</i> is in a procedure file whose name begins with <code>SIR</code>:</p>
<p class="code"><nowiki>RESOLUTION 1000 FILE SIR* PROC *TEST
<p class="code">RESOLUTION 1000 FILE SIR* PROC *TEST
</nowiki></p>
</p>
In XML mode, the previous statement is:
In XML mode, the previous statement is:
<p class="code"><nowiki><resolution value="1000" file="SIR*" proc="*TEST">
<p class="code"><resolution value="1000" file="SIR*" proc="*TEST">
</nowiki></p>
</p>
<p>
<p>
An unlimited number of qualified RESOLUTION statements may
An unlimited number of qualified RESOLUTION statements may
Line 664: Line 606:
each procedure for which compilation data is encountered
each procedure for which compilation data is encountered
is compared against each RESOLUTION statement, in the order in which they appear.
is compared against each RESOLUTION statement, in the order in which they appear.
As soon as a match is found, the resolution is set for the procedure, and no more RESOLUTION
As soon as a match is found, the resolution is set for the procedure, and no more RESOLUTION statements are scanned.</p>
statements are scanned.</p>
<p>
<p>
Thus, if SIRTUNEI contains:</p>
Thus, if SIRTUNEI contains:</p>
<p class="code"><nowiki>RESOLUTION 1000 SUBSYS SIR*
<p class="code">RESOLUTION 1000 SUBSYS SIR*
RESOLUTION 500 FILE TEST*
RESOLUTION 500 FILE TEST*
RESOLUTION 200 PROC *TEMP*
RESOLUTION 200 PROC *TEMP*
</nowiki></p>
</p>
<p>
<p>
any procedure in a subsystem whose name begins with <code>SIR</code> would
any procedure in a subsystem whose name begins with <code>SIR</code> would
have a resolution of 1000, even if it ran out of a procedure
have a resolution of 1000, even if it ran out of a procedure
file whose name begins with <code>TEST</code>, or if the procedure name contains
file whose name begins with <code>TEST</code>, or if the procedure name contains the characters <code>T E M P</code>.</p>
the characters <code>T E M P</code>.</p>
<p>
<p>
The resolution used for specific procedures
The resolution used for specific procedures
Line 684: Line 624:


<tr><td>TOOLSYS</td><td>GENFILE</td><td>BOP.PROD.L</td><td>default</td></tr>
<tr><td>TOOLSYS</td><td>GENFILE</td><td>BOP.PROD.L</td><td>default</td></tr>
<tr><td>SIRJUNK</td><td>JUNKPROC</td><td>P.JUNK.PROC</td><td>1000</td></tr>
<tr><td>SIRJUNK</td><td>JUNKPROC</td><td>P.JUNK.PROC</td><td>1000</td></tr>
<tr><td>BIGSYS</td><td>TESTFILE</td><td>P.BARTLIST</td><td>500</td></tr>
<tr><td>BIGSYS</td><td>TESTFILE</td><td>P.BARTLIST</td><td>500</td></tr>
<tr><td>BIGSYS</td><td>PROCX</td><td>EXPER.TEMP.P</td><td>200</td></tr>
<tr><td>BIGSYS</td><td>PROCX</td><td>EXPER.TEMP.P</td><td>200</td></tr>
<tr><td>SIRJUNK</td><td>TESTFILE</td><td>P.BARTLIST</td><td>1000</td></tr>
<tr><td>SIRJUNK</td><td>TESTFILE</td><td>P.BARTLIST</td><td>1000</td></tr>
<tr><td>SIRJUNK</td><td>PROCX</td><td>EXPER.TEMP.P</td><td>1000</td></tr>
<tr><td>SIRJUNK</td><td>PROCX</td><td>EXPER.TEMP.P</td><td>1000</td></tr>
<tr><td>BIGSYS</td><td>TESTFILE</td><td>EXPER.TEMP.P</td><td>500</td></tr>
<tr><td>BIGSYS</td><td>TESTFILE</td><td>EXPER.TEMP.P</td><td>500</td></tr>
<tr><td>SIRJUNK</td><td>TESTFILE</td><td>EXPER.TEMP.P</td><td>1000</td></tr>
<tr><td>SIRJUNK</td><td>TESTFILE</td><td>EXPER.TEMP.P</td><td>1000</td></tr>
</table>
</table>
Line 699: Line 646:
If one or more of these procedures shows up on a CHUNK report
If one or more of these procedures shows up on a CHUNK report
at a resolution smaller than that set by the RESOLUTION
at a resolution smaller than that set by the RESOLUTION
commands for the procedures, do either of the following:
commands for the procedures, do either of the following to explicitly set the resolution at a lower value for the procedures that appear on the CHUNK report:
<ul>
<ul>
<li>Modify the RESOLUTION command.</li>
<li>Modify the RESOLUTION command.</li>
<li>Add extra RESOLUTION commands.</li>
<li>Add extra RESOLUTION commands.</li>
to explicitly set the resolution at a lower value for
the procedures that appear on the CHUNK report.</li>
</ul>
</ul>


<p>
<p>
For example, suppose the following statement
For example, suppose the following statement
is specified, and a procedure named PRE.JUNK.PROC in
is specified, and a procedure named <code>PRE.JUNK.PROC</code> in
subsystem TEST appears on a report for chunk size 100:</p>
subsystem <code>TEST</code> appears on a report for chunk size 100:</p>
<p class="code"><nowiki>RESOLUTION 400 SUBSYS TEST
<p class="code">RESOLUTION 400 SUBSYS TEST
</nowiki></p>
</p>
<p>
<p>
Since the minimum chunk size that SIRTUNER or SIRTUNEREPORT
Since the minimum chunk size that SIRTUNER or SIRTUNEREPORT
can use for procedures in subsystem TEST is 400 (because of the RESOLUTION statement), the report with chunk size 100 is comparing chunks of size approximately 100 with a
can use for procedures in subsystem <code>TEST</code> is 400 (because of the RESOLUTION statement), the report with chunk size 100 is comparing chunks of size approximately 100 with a
chunk of size 400 in PRE.JUNK.PROC. Thus, a much larger segment of
chunk of size 400 in <code>PRE.JUNK.PROC</code>. Thus, a much larger segment of
code is being totalled for PRE.JUNK.PROC than other procedures on
code is being totalled for <code>PRE.JUNK.PROC</code> than other procedures on this report, making this procedure look more important than it really is.</p>
this report, making this procedure look more important than it
<p>
really is.</p>
To correct this situation, you can do either of these:
<ul>
<li>Remove the RESOLUTION statement from SIRTUNEI or TUNERPTI and lose its virtual storage savings benefits. </li>
 
<li>Add another RESOLUTION statement to override the subsystem wide
RESOLUTION statement for the specific procedure in question. </li>
</ul>
<p>
<p>
To correct this situation, you can either remove the RESOLUTION
The following sequence would accomplish this:</p>
statement from SIRTUNEI or TUNERPTI and lose its virtual storage savings benefits,
<p class="code">RESOLUTION 4 SUBSYS TEST PROC PRE.JUNK.PROC
or you can add another RESOLUTION statement to override the subsystem wide
RESOLUTION statement for the specific procedure in question.
The following sequence would accomplish this.</p>
<p class="code"><nowiki>RESOLUTION 4 SUBSYS TEST PROC PRE.JUNK.PROC
RESOLUTION 400 SUBSYS TEST
RESOLUTION 400 SUBSYS TEST
</nowiki></p>
</p>


<div id="titlest"></div>
<div id="titlest"></div>
Line 736: Line 683:
This command makes it possible to specify a title to appear
This command makes it possible to specify a title to appear
on the top line of each page of the <var class="product">SirTune</var> report.
on the top line of each page of the <var class="product">SirTune</var> report.
The default for <i>title_string</i> is <code>SIRTUNE</code>.
The default for <var class="term">title_string</var> is <code>SIRTUNE</code>.
<p>
<p>
TITLE makes it easy to distinguish the output from multiple SIRTUNER reports.
TITLE makes it easy to distinguish the output from multiple SIRTUNER reports. The title string can be made up of an arbitrary number of characters, including blanks. Only the first 62 characters of
The title string can be made up of an arbitrary number of characters,
<var class="term">title_string</var> are used to generate the title.
including blanks. Only the first 62 characters of
<i>title_string</i> are used to generate the title.
</p>
</p>
<p>
<p>
An example of a valid TITLE statement follows:</p>
An example of a valid TITLE statement follows:</p>
<p class="code"><nowiki>TITLE Production run after first round of changes
<p class="code">TITLE Production run after first round of changes
</nowiki></p>
</p>
<p>
<p>
When using XML input in version 7.2 and later, you can specify
When using XML input in version 7.2 and later, you can specify
the title as either a child element of the document node, like this:</p>
the title as a child element of the document node, like this:</p>
<p class="code"><nowiki><SirtuneInput>
<p class="code"><SirtuneInput>
   <title>Sirtune June 16, 2010 for THX1138</title>
   <title>Sirtune June 16, 2010 for THX1138</title>
   ...
   ...
</nowiki></p>
</p>
<p>
<p>
Or you can specify it as a child element of the reportFormat node, like this:</p>
Or you can specify the title as a child element of the <code>reportFormat</code> node, like this:</p>
<p class="code"><nowiki><SirtuneInput>
<p class="code"><SirtuneInput>
   <reportFormat>
   <reportFormat>
     <title>Sirtune June 16, 2010 for THX1138</title>
     <title>Sirtune June 16, 2010 for THX1138</title>
   </reportFormat
   </reportFormat
   ...
   ...
</nowiki></p>
</p>


If specified in both places, the child element of reportFormat will
If specified in both places, the child element of <code>reportFormat</code> will
override the child element of the document node.
override the child element of the document node.
The reporting module only pays attention to the first title
The reporting module only pays attention to the first title
Line 773: Line 718:


This statement specifies the number of top entities to be displayed on any report that ranks
This statement specifies the number of top entities to be displayed on any report that ranks
multiple entities. The default for <i>num_top</i> is 50. This default can be overridden by a TOP keyword on a REPORT statement ([[SirTune reports#toparm|The TOP parameter]]).
multiple entities. The default for <var class="term">num_top</var> is 50. This default can be overridden by a [[SirTune reports#toparm|TOP]] keyword on a REPORT statement.
 
<p>
<p>
For example, if you want to report on the top 100 procedures
For example, if you want to report on the top 100 procedures
Line 782: Line 726:
</p>
</p>
<p>
<p>
Or, with XML input in 7.2 and later, enter <code>top</code> as an attribute
Or, with XML input in 7.2 and later, enter <code>top</code> as an attribute on the document node:</p>
on the document node:</p>
<p class="code"><SirtuneInput top="100">
<p class="code"><SirtuneInput top="100">
</p>
</p>
Line 798: Line 741:


This statement determines whether a table of contents is produced
This statement determines whether a table of contents is produced
and where it is placed in the report. Although TWOPASS can still
and where it is placed in the report. Although <code>TWOPASS</code> can still be used to specify the table of contents placement, the TABLEOFCONTENTS statement provides more control.
be used to specify the table of contents placement, the TABLEOFCONTENTS
statement provides more control.
<p>
<p>
Valid values for TABLEOFCONTENTS are <code>TOP</code>, <code>BOTTOM</code>
Valid values for TABLEOFCONTENTS are <code>TOP</code>, <code>BOTTOM</code>
Line 829: Line 770:
===UPper===
===UPper===
<p>
<p>
Status: This parameter is deprecated as of Version 7.2.
<p class="note"><b>Note:</b> This parameter is deprecated as of Version 7.2. If it is specified as an input parameter, it is ignored.
If it is specified as an input parameter, it is ignored.
</p>
</p>
This statement indicates that the reporting module should issue
This statement indicates that the reporting module should issue
Line 855: Line 795:
attributes as described in [[#report|REPort report_desc | NODEFAULT]].</li>
attributes as described in [[#report|REPort report_desc | NODEFAULT]].</li>
</ul>
</ul>
<p></p>
 
<p></p>
A sample TUNERPTI input document follows.
A sample TUNERPTI input document follows.
The entire set of TUNERPTI XML document element and attribute options
The entire set of TUNERPTI XML document element and attribute options
is shown in [[#templt|A template for the XML input]].
is shown in [[#templt|A template for the XML input]].
<p class="code"><nowiki><SirtuneInput maxDelay="10" top="100">
<p class="code"><SirtuneInput maxDelay="10" top="100">
   <title>ULSPFPRO on Sirius</title>
   <title>ULSPFPRO on Sirius</title>
   <reportFormat>
   <reportFormat>
Line 886: Line 825:
   <report type="servio"/>
   <report type="servio"/>
</SirtuneInput>
</SirtuneInput>
</nowiki></p>
</p>


<div id="genlfor"></div>
<div id="genlfor"></div>
Line 896: Line 835:
<ul>
<ul>
<li>As with all XML, the element and attribute names in a TUNERPTI XML
<li>As with all XML, the element and attribute names in a TUNERPTI XML
document are case sensitive. "SirtuneInput" is <b>not</b> validly entered as
document are case sensitive. "SirtuneInput" is <b>not</b> validly entered as "SirTuneInPut" or as any other combination of uppercase and lowercase
"SirTuneInPut" or as any other combination of uppercase and lowercase
letters except "SirtuneInput". Element and attribute <i>values</i> are case-insensitive.
letters except "SirtuneInput". Element and attribute <i>values</i> are case-insensitive.
<p>
<p>
Line 918: Line 856:
of <code><reportFormat></code>.</p></li>
of <code><reportFormat></code>.</p></li>


<li>Parameters affecting the report layout are specified as sub-elements of
<li>Parameters affecting the report layout are specified as sub-elements of the <code><reportFormat></code> element.</li>
the <code><reportFormat></code> element.</li>


<li>While the old-style card-image input format will continue to be
<li>While the old-style card-image input format will continue to be
supported after version 7.2, newer features are only available via XML input.
supported after version 7.2, newer features are only available via XML input. Features such as user-specified characters-per-line and lines-per-page are already available only when using XML input to TUNERPTI.</li>
Features such as user-specified characters-per-line and lines-per-page
are already available only when using XML input to TUNERPTI.</li>
</ul>
</ul>


Line 934: Line 869:
It shows the document format and its possible XML elements, attributes, and content.
It shows the document format and its possible XML elements, attributes, and content.


Square brackets (<code>[ ]</code>) enclose values you supply.
Square brackets (<tt>[ ]</tt>) enclose values you supply.
The type, format, or explicit set of valid options for these values is indicated
The type, format, or explicit set of valid options for these values is indicated within the brackets. [[#mainxml|Guidelines for the three main XML elements]] provides additional details.
within the brackets. [[#mainxml|Guidelines for the three main XML elements]] provides additional details.
<p class="code"><nowiki><SirtuneInput top="[integer]"
<p class="code"><nowiki><SirtuneInput top="[integer]"
               maxDelay="[integer]"
               maxDelay="[integer]"
Line 1,004: Line 938:
<!--Caution: <div> above-->
<!--Caution: <div> above-->


The root element (which is the outermost element) of the input XML document is
The root element (which is the outermost element) of the input XML document is <code><SirtuneInput></code>. The optional report parameters <code>maxDelay</code>, <code>top</code>, and <code>comp31</code> are entered as attributes of this element:
<code><SirtuneInput></code>. The optional report parameters <code>maxDelay</code>, <code>top</code>, and <code>comp31</code> are entered as attributes of this element:
<p class="code"><SirtuneInput maxDelay="10" top="100" comp31="200000">
<p class="code"><nowiki><SirtuneInput maxDelay="10" top="100" comp31="200000">
</p>
</nowiki></p>


<div id="repfmt"></div>
<div id="repfmt"></div>
Line 1,018: Line 951:
lines per page and characters per line, and the position of the table of contents.
lines per page and characters per line, and the position of the table of contents.
For example:
For example:
<p class="code"><nowiki><reportFormat>
<p class="code"><reportFormat>
   <linesPerPage>0</linesPerPage>
   <linesPerPage>0</linesPerPage>
   <charactersPerLine>72</charactersPerLine>
   <charactersPerLine>72</charactersPerLine>
   <tableOfContents>Bottom</tableOfContents>
   <tableOfContents>Bottom</tableOfContents>
</reportFormat>
</reportFormat>
</nowiki></p>
</p>
<ul>
<ul>
<li><code><linesPerPage></code> accepts integer values, 0 or greater.
<li><code><linesPerPage></code> accepts integer values, 0 or greater.
When the reporting module reaches linesPerPage output lines,
When the reporting module reaches <code>linesPerPage</code> output lines,
a new header is printed and a new page is begun.
a new header is printed and a new page is begun.
A 0 setting turns off paging; in that case, a header line is produced at the
A 0 setting turns off paging; in that case, a header line is produced at the beginning of the report only.</li>
beginning of the report only.</li>


<li><code><charactersPerLine></code> accepts integer values 40 or larger.
<li><code><charactersPerLine></code> accepts integer values 40 or larger.
Line 1,035: Line 967:
The default value is 78.
The default value is 78.
<p>
<p>
If the report needs to print a line longer than charactersPerLine,
If the report needs to print a line longer than <code>charactersPerLine</code>,
the line wraps at charactersPerLine+1.</p></li>
the line wraps at <code>charactersPerLine+1</code>.</p></li>


<li><code><tableOfContents></code> (or its synonym <code><toc></code>) can
<li><code><tableOfContents></code> (or its synonym <code><toc></code>) can
Line 1,050: Line 982:
Each report is specified as a single, self-terminating, child element
Each report is specified as a single, self-terminating, child element
of <code><SirtuneInput></code>. Report details are specified as attributes of the <code><report></code> element:
of <code><SirtuneInput></code>. Report details are specified as attributes of the <code><report></code> element:
<p class="code"><nowiki><SirtuneInput>
<p class="code"><SirtuneInput>
   <report type="csect" chunk="64" task="maintask" top="100"/>
   <report type="csect" chunk="64" task="maintask" top="100"/>
</SirtuneInput>
</SirtuneInput>
</nowiki></p>
</p>
All <code><report></code> elements are self-terminating.
All <code><report></code> elements are self-terminating.
All reports except STATE reports are formatted as in the above example:
All reports except STATE reports are formatted as in the above example:
Line 1,060: Line 992:
the <code><report></code> element. Report details and sub-parameters are described in [[SirTune reports]].  
the <code><report></code> element. Report details and sub-parameters are described in [[SirTune reports]].  
<p>
<p>
STATE reports ([[SirTune reports#repst|REPORT STATE state_name activity]]) are specified
STATE reports ([[SirTune reports#repst|REPORT STATE state_name activity]]) are specified with an activity as the <code>type</code> attribute and the user state as
with an activity as the <code>type</code> attribute and the user state as
the <code>state</code> attribute, as shown in the following example:</p>
the <code>state</code> attribute, as shown in the following example:</p>
<p class="code"><nowiki><SirtuneInput>
<p class="code"><SirtuneInput>
   <report type="quad" state="cfrbexs"/>
   <report type="quad" state="cfrbexs"/>
   <report type="eval" state="cfrbany"/>
   <report type="eval" state="cfrbany"/>
Line 1,071: Line 1,002:
   <report type="comp" state="rung"/>
   <report type="comp" state="rung"/>
</SirtuneInput>
</SirtuneInput>
</nowiki></p>
</p>
Valid <code>type</code> activity values and <code>state</code> values
Valid <code>type</code> activity values and <code>state</code> values
are discussed or referred to in [[SirTune reports#repst|REPORT STATE state_name activity]], and they are also summarized in [[#templt|A template for the XML input]].
are discussed or referred to in [[SirTune reports#repst|REPORT STATE state_name activity]], and they are also summarized in [[#templt|A template for the XML input]].
<p>
<p>
The order in which attributes are specified in the <report> element is
The order in which attributes are specified in the <code><report></code> element is not important.</p>
not important.</p>


==See also==
==See also==

Revision as of 23:05, 5 November 2015

An optional DD card allows the reporting run to be customized. For SirTune 7.2, using the SIRTUNEREPORT SOUL program to generate reports, this DD card is named TUNERPTI. For SirTune versions 6.9 and older, using the SIRTUNER module, the DD card is named SIRTUNEI.

This input card must have fixed format, and it must use report configuration parameters specified in either of the following types of input format to define the characteristics of the reporting run:

  • Control-card statements

    Report configuration parameters are specified in a set of statements (only one per line). There are no line continuations, and a line beginning with an asterisk character (*) is treated as a comment (that is, ignored).

    The individual statements are described in Configuration parameters.

    An example of control-card statement input follows:

    RANGE 9:30 12:30 RESOLUTION 50 REPORT CFRROOT REPORT STATE CFRBANY WHAT MAXD 10 REPORT STATE RUNG QUAD REPORT STATE RUNG EVALI EVAL CHUNK 32 REPORT STATE RUNG CHUNK 4 CHUNK 400 CHUNK 4000 REPORT CSECT TOTAL CHUNK 512 CHUNK 64

  • XML document format (must be SirTune 7.2 or later)

    Report parameters are case-sensitive XML elements or attributes contained in a SirtuneInput document node.

    Most of the parameters represented as single control-card statements (as described above) are available in XML, but they are represented in lowercase or mixed-case, and some are individual elements while others are attributes of elements. The details about the coding location of each parameter are in Using XML input for report configuration.

    Unlike the control-card input format, where multiple variations on a report can be specified on a single line, in XML format each <report> element specifies exactly one report.

    Here is an XML version of the control-card example above:

    <SirtuneInput maxDelay="10" top="100" title="ULSPFPRO"> <range start="9:30" end="12:30"/> <resolution value="50"/> <reportFormat> <title>Sirtune Reports for ULSPFPRO</title> <charactersPerLine>78</charactersPerLine> <linesPerPage>55</linesPerPage> <tableOfContents>top</tableOfContents> </reportFormat> <report type="cfrroot"/> <report type="what" state="crfbany"/> <report type="quad" state="rung"/> <report type="evali" state="rung"/> <report type="eval" state="rung"/> <report type="eval" state="rung" chunk="32"/> <report type="eval" state="rung" chunk="4"> <report type="eval" state="rung" chunk="400"> <report type="eval" state="rung" chunk="4000"> <report type="csect" chunk="total"/> <report type="csect" chunk="512"/> <report type="csect" chunk="64"/> </SirtuneInput>

Configuration parameters

The following subsections describe the individual parameters you can use to configure a SirTune report. Most of the parameter names and descriptions refer to the control-card statement format that was the only control-card option prior to SirTune version 7.2, although pertinent XML format information is also provided. For more information about using XML for the control-card input, see Using XML input for report configuration.

Where applicable, the titles of the following subsections also show how to specify the parameter in control-card statement form:

  • The minimum allowable abbreviation for each statement is indicated with uppercase characters, while optional characters are indicated with lowercase.

    Names are case-sensitive and these name abbreviations are not permitted in XML-formatted input.

  • Optional statement keywords are enclosed in brackets ([]), and alternatives are separated with a vertical line (|).

CHARACTERSPERLINE or CPL

This statement determines the width of an output report line. For example, either of the following statements sets the report output width to 80 characters:

CHARACTERSPERLINE 80 CPL 80

Valid line-width values are integers between 78 and 256. If a value outside this range is specified, CPL is set to 132.

If you are using XML input to TUNERPTI, the <cpl> or <charactersPerLine> element specifies the line width. For more information about this, see <reportFormat>: Controlling report format.

COMP31

Note: This parameter, added in Version 7.2, can only be specified when using XML input to TUNERPTI, and it is only valid for Model 204 V6R3 and later. COMP31 indicates the maximum compilation-table size for a procedure that will be stored in 31-bit storage. Above this size, compilations are moved to 64-bit storage. The default value is X'1FFFF', or 131,071. COMP31 is specified as an attribute on the SirtuneInput element (see Using XML input for report configuration). For example:

<SirtuneInput maxDelay="10" comp31="200000">

The size of a saved compilation table for a procedure is the size of the procedure in QTBL bytes, divided by the minimum QTBL chunk size, times 20:

(QTBLsize/QTBLchunk)*20

If a procedure's QTBL is 20,000 bytes and the smallest chunk size requested in a report is 200, this procedure will require (20,000/200)*20, or 2,000 bytes. More common are procedure sizes of around 800,000 bytes, with a chunk size of 4, theoretically requiring (800,000/4)*20, or 4,000,000 bytes. This is actually an upper bound, as you never get more than one chunk per line, and few lines of code generate only 4 bytes of QTBL. More typical is about 40 bytes per chunk (even with a chunk size of 4), which produces a compiled table of 200,000.

There is no reason to set COMP31 unless your site is running out of 31-bit storage under Model 204 V6R3 or later. Prior to V6R3, Model 204 did not support 64-bit storage, so comp31 has no effect.

Note: The CURREP31, CURREP64, HGHREP31, and HGHREP64 system parameters indicate the current and greatest amounts of 31-bit and 64-bit virtual storage used for a report. The MAXREP31 and MAXREP64 parameters indicate the maximum amount allowed.

DATaset list

Note: This parameter is deprecated as of Version 7.2. If it is specified as an input parameter, it is ignored.

The DATASET statement indicates which sample data sets that make up SIRTUNED are to be included in the report. A separate INFO report is produced for each data set selected, and all samples from the selected data sets are combined to produce composite results for other reports. Data sets are processed in order: if a data set is selected and causes some TUNR error message, reporting ends without proceeding to other data sets.

If the DATASET statement is not specified, only the first sample data set is included in the report. This is true even if multiple sample data sets were physically concatenated into a single data set with IEBGENER or COPYFILE before being passed to the reporting module.

The list value is a list of data set numbers or ranges of numbers. For example, the following indicates that data sets 1 through 4 are to be used:

DATASET 1-4

The following indicates that data sets 2, 4, and 5 through 6 are to be used:

DATASET 2 5-6 4

More than one DATASET statement can appear in SIRTUNEI, and their effect is cumulative, so:

DATASET 2 DATASET 4-6

Is the same as:

DATASET 2 4-6

If an asterisk (*) character appears after a DATASET statement, all data sets are used in the report. Thus the following:

DATASET 1 3-5 8 *

is the same as:

DATASET *

since in both cases, all data sets are used in the report.

There is no harm in specifying data set numbers greater than the number of sample data sets in SIRTUNED, though of course, these data set numbers will not be included in the report.

RANGE, SKIP, and FOR statements operate individually on each component sample data set in a concatenation. For example, suppose SIRTUNED consists of three concatenated sample data sets collected over the following dates and times:

Dataset 1January 5 at 5:30 AM through January 8 at 11:00 PM
Dataset 2January 10 at 1:00 PM through January 15 at 10:00 PM
Dataset 3January 11 at 5:00 AM through January 14 at 10:00 PM

In this example, data sets 2 and 3 are associated with two different Onlines that run concurrently. The SIRTUNEI statements:

RANGE 11:00 12:00 SKIP 3 FOR 2 DATASET 1-3

result in the range of 11:00 AM to 12:00 noon being used on the following days for each data set:

Dataset 1January 8
Dataset 2January 14-15
Dataset 3January 14-15

To determine the time ranges and characteristics of each individual data set in a concatenation, simply run a report against the concatenated SIRTUNED with the following commands in SIRTUNEI:

REPORT NODEFAULT REPORT INFO

It should be possible to produce most SirTune reports with any concatenation of data sets. There are certain reports, however, that require all sample data sets to have been produced with some consistency among the Onlines. These reports are:

CSECT? The Model 204 load modules must be identical among runs (except for ZAPs or Early Warnings).
STATE ???? QUAD The Model 204 load modules must be from the same release and must have run with identical $function tables.
SERVIO The OnlineS must have run with identical numbers of server data sets (CCASERVR, CCASERV1, etc.).
STATE RUNGM/RUNGS The Onlines must have all run with NMPSUBS greater than 0 (the MP/204 feature is turned on).

Even though all other reports are allowed for concatenated sample data sets, use caution when interpreting the results. It is up to you interpret how changes between runs could affect the results. These changes might include:

  • SOUL code changes
  • Changes in Model 204 parameters
  • Changes in the Model 204 load module
  • Changes in SirTune parameters
  • Number of samples collected in each sample data set

In general, it is unlikely that concatenating data sets collected in different environments or many months apart will produce meaningful reports.

Suppose, under MVS, the SIRTUNER or SIRTUNEREPORT job logically concatenates five sample data sets associated with the five weekdays as follows:

//SIRTUNED DD DSN=SIRTUNE.SAMPLE.MON,DISP=SHR // DD DSN=SIRTUNE.SAMPLE.TUE,DISP=SHR // DD DSN=SIRTUNE.SAMPLE.WED,DISP=SHR // DD DSN=SIRTUNE.SAMPLE.THU,DISP=SHR // DD DSN=SIRTUNE.SAMPLE.FRI,DISP=SHR

To produce a report for Tuesday and Wednesday, specify the following input statements:

DATASET 2 3

LINESPERPAGE or LPP

This statement determines the page length for report output. Any integer value is valid.

A header is printed at the top of each page. If 0, the default, is specified, no paging is performed, and headers are output at the beginning of each report.

For example, either of the following statements sets report page length to 55 lines:

LINESPERPAGE 55 LPP 55

When 55 lines have been printed, SIRTUNEREPORT prints a new header and resets the line counter to 0.

If you are using XML input to TUNERPTI, the <lpp> or <linesPerPage> element specifies the report page length. For more information about this, see <reportFormat>: Controlling report format.

MAPcore

Note: This parameter is deprecated as of Version 7.2. If it is specified as an input parameter, it is ignored.

When used in a CSECT breakdown report, this statement allows analysis of instructions outside the loaded Model 204 module.

MAXDelay max_msec

This statement makes it possible to change the criterion used by the reporting module to determine if a sample should be discarded.

When the delay between the time a sample was supposed to be collected and the time it actually was collected is greater than max_msec milliseconds, the sample is assumed to be biased and hence discarded. The default for max_msec is 10, which means that any sample that is delayed by more than 10 milliseconds from its intended time is discarded.

If it is felt that reports are biased, with I/O producing instructions appearing unbelievably frequently in the RUNG state (obviously, this is very subjective), it might be worth reducing MAXDELAY to 1 with the following statement:

MAXDELAY 1

If there was indeed a bias, one would expect after this change to see more samples discarded and the percentages for the RUNG state to change for certain procedures and chunks of procedures.

If, on the other hand, SirTune was running in an environment where the Online was getting relatively slow service from the operating system, almost all samples might be discarded by the reporting module. In this situation, it might be worth increasing MAXDELAY to accept more samples, with the understanding that this might introduce biases in the reported data.

To increase MAXDELAY to 1000 milliseconds (1 second), enter this statement:

MAXDELAY 1000

Generally, setting MAXDELAY greater than 100 is likely to produce severe biases in Sirtune reports.

MIXed

Note: This parameter is deprecated as of Version 7.2. If it is specified as an input parameter, it is ignored.

This statement indicates that the reporting module should issue all reports in mixed case. The default is to issue messages in mixed case, except on Japanese operating systems. On these systems, the default is to issue all messages in uppercase only. This option should be used on Japanese operating systems when mixed case messages are desired.

MPVirt

Note: This parameter is deprecated as of Version 7.2. If it is specified as an input parameter, it is ignored.

This statement has meaning only if generating a report for data collected in an Online running MP/204. It indicates that a running user is considered to be running in parallel if it is in virtual or logical parallel mode, whether or not it is actually running in an offload subtask. By default, the SirTune reports only consider a user to be running in parallel if it is actually running on an offload subtask.

The MPVIRT statement is useful for estimating the "offloadability" of SOUL code in systems that are not busy enough to force all offloadable code into a subtask.

Note: MPVIRT only has an effect on reports that are specific to states RUNGM or RUNGS.

It is not possible to split the reports in a run of SirTune so that some are generated with MPVIRT set and others are not. If MPVIRT appears anywhere in the input stream, all reports from that reporting run are generated using the MPVIRT option, whether the REPORT statements appear before or after the MPVIRT statement.

NOSeq

Note: This parameter is deprecated as of Version 7.2. If it is specified as an input parameter, it is ignored.

This statement indicates that the reporting module should not consider characters in columns 73 through 80 of SIRTUNEI as part of its input. If the input file has RECFM=F and LRECL=80, the reporting module ordinarily assumes that characters in columns 73 through 80 are sequence numbers and ignores them. If the input stream has any other format, the reporting module considers all characters in the input record as part of the control statements.

RANge start_time end_time [FOR for_num] [SKIP skip_num]

This statement makes it possible to limit the reports to a subset of the collected sample data. This is useful for solving performance problems that have different characteristics during different times of the day.

start_time and end_time can have the format HH, HH:MM, or HH:MM:SS, where HH represents an hour of the day, MM represents minutes, and SS represents seconds. The maximum allowable time is 24 or 24:00 or 24:00:00, which corresponds to midnight.

For example, the following statement indicates that only sample data collected in the first 1 PM to 3 PM range in the run should be used to generate the reports:

RANGE 13 15

When using XML format, RANGE is specified in lowercase as a child element of the document element, with "start", "end", "skip", and "for" as optional attributes:

<SirtuneInput top="50"> <range start="13" end="15">

If the run came up in the middle of the specified range, the time from the start of the run to the end of the range is considered the first range. In the preceding example, if the run came up at 2:30 PM, the first range would extend from 2:30 PM to 3 PM. The following example indicates that only sample data collected in the first 11:30 AM to 1:30 PM range in the run should be used to generate the reports:

RANGE 11:30 13:30

This example indicates that only sample data collected in the first 30 seconds before 12 noon through 50 seconds after 1 PM range in the run should be used to generate the reports:

RANGE 11:59:30 13:00:50

If start_time is greater than end_time, the times are assumed to wrap. For example. the following statement indicates that only sample data collected in the first 11:00 PM to 1:00 AM range in the run should be used to generate the reports:

RANGE 23:00 1:00

If sample data for a run was collected over more than 24 hours, a range might occur more than once in the sample data set. Ordinarily, only the first range is included in the reports. To include a specific number of occurrences of the indicated range, the FOR clause should be included on the RANGE statement, followed by for_num, where for_num can be either a whole number or an asterisk (*). A whole number indicates the number of occurrences of the range are to be included in the report. An asterisk indicates that all occurrences of the range are to be included in the report.

For example, the following statement indicates that the first 5 9:30 AM to 11:30 AM ranges are to be included in the reports:

RANGE 9:30 11:30 FOR 5

The data in these ranges are combined to produce a single set of reports. The following statement indicates that all 10 AM to 3 PM ranges are to be included in the report:

RANGE 10 15 FOR *

To exclude the first occurrence or occurrences of the indicated range from the reports, include the SKIP clause on the RANGE statement, followed by skip_num (where skip_num must be a non-negative integer indicating the number of occurrences of the indicated range to skip). For example, to indicate that the second 10 AM to 12 noon range is to be included in the reports:

RANGE 10 12 SKIP 1

To indicate that the third, fourth, and fifth 1:30 PM to 3:30 PM ranges are to be included in the reports:

RANGE 13:30 15:30 SKIP 2 FOR 3

While multiple RANGE statements may be specified only the last one is used when specified as control cards. Conversely, only the first one is used when specified in XML input Thus:

RANGE 9:30 11:30 RANGE 13:30 15:30

is functionally equivalent to:

RANGE 13:30 15:30

The position of RANGE statements relative to other statements is irrelevant.

REPort report_desc | NODEFAULT

This statement either requests a specified report or reports, or it indicates that the default reports are not to be generated (REPORT NODEFAULT). The actual reports that can be requested are listed in SirTune reports.

If REPORT NODEFAULT is specified, it must be the first REPORT statement in the input stream (if input is XML formatted, the position of REPORT NODEFAULT is not critical).

The default reports produced by SIRTUNEI are the ones that are produced by the following statements:

REPORT INFO REPORT SUMMARY REPORT STATE RUNG WHAT EVAL CHUNK 4000 REPORT STATE RUNG EVAL CHUNK 400 CHUNK 4

In XML format, these default reports are specified like this:

<SirtuneInput maxDelay="10" top="50"> <report type="info"> <report type="state"> <report type="waittype"> <report type="what" state="rung"> <report type="eval" state="rung"> <report type="eval" state="rung" chunk="4000"> <report type="eval" state="rung" chunk="400"> <report type="eval" state="rung" chunk="4"> </SirtuneInput>

For more information about XML formatting for an individual report, see <report>: Specifying individual reports.

RESolution res_num [PROC pname ] [FILE fname ] [SUBSYS sname ]

This statement makes it possible to reduce the reporting module's virtual storage utilization at the cost of reducing the resolution possible in producing procedure chunk reports. This statement should be of interest only to users for whom virtual and real storage use is a major concern.

Note: The CURREP31, CURREP64, HGHREP31, and HGHREP64 Model 204 system parameters indicate the current and greatest amounts of 31-bit and 64-bit virtual storage used for a report. The MAXREP31 and MAXREP64 parameters indicate the maximum amount allowed.

Storage use by the reporting module is directly related to the total number of chunks for all procedures for which compilation information is saved. The number of chunks required for each such procedure is inversely related to its minimum resolution. Thus by increasing the minimum resolution for a procedure, it is possible to decrease the amount of virtual storage used for that procedure. The default resolution for all procedures is 4.

The res_num value specifies the minimum chunk resolution in QTBL bytes for all or the indicated procedures. For a discussion of chunks and resolution, see REPORT STATE state_name activity.

If not followed by any other keywords, this statement sets the default minimum resolution for all procedures. For example, this sets the default minimum resolution for all procedures to 100:

RESOLUTION 100

There can be an unlimited number of this kind of RESOLUTION statements, but only the last one is used to set the default minimum resolution when the input stream is formatted as control cards. When XML input is used, only the first RESOLUTION statement is used. Thus:

RESOLUTION 50 RESOLUTION 100 RESOLUTION 150

is functionally equivalent to:

RESOLUTION 150

Likewise, this XML input:

<resolution value="150"> <resolution value="100"> <resolution value="50">

is functionally equivalent to:

<resolution value="150">

res_num may optionally be followed by one or more keywords (PROC, FILE, or SUBSYS), with each keyword followed by a resolution that applies only to procedures that meet the keyword's criterion. For example, this statement indicates that a resolution of 1000 should be used for all procedures in subsystem HOHO:

RESOLUTION 1000 SUBSYS HOHO

Using XML input, the keywords are the same except in lowercase:

<resolution value="1000" subsys="HOHO">

This statement indicates that a resolution of 500 should be used for all procedures in procedure file PROCA:

RESOLUTION 500 FILE PROCA

Or, in XML mode:

<resolution value="500" file="PROCA">

The following indicates that a resolution of 700 should be used for the procedure named PRE-PROC.A:

RESOLUTION 700 PROC PRE-PROC.A

Wildcards can also be used. To indicate that a resolution of 100 should be used for any procedure whose name begins with PRE-, you can specify:

RESOLUTION 100 PROC PRE-*

The following statement indicates that a resolution of 300 should be used for any procedure in a subsystem whose name ends with XREF:

RESOLUTION 300 SUBSYS *XREF

For more details on the use of wildcards, see SirTune statement wildcards.

More than one condition can be specified on a single RESOLUTION statement, in which case the resolution specified applies only to procedures that match all the keyword criteria. For example, the following statement sets a resolution of 1000 for any procedure whose name ends in TEST and is in a procedure file whose name begins with SIR:

RESOLUTION 1000 FILE SIR* PROC *TEST

In XML mode, the previous statement is:

<resolution value="1000" file="SIR*" proc="*TEST">

An unlimited number of qualified RESOLUTION statements may appear in the report configuration input. If more than one does occur in the input stream, each procedure for which compilation data is encountered is compared against each RESOLUTION statement, in the order in which they appear. As soon as a match is found, the resolution is set for the procedure, and no more RESOLUTION statements are scanned.

Thus, if SIRTUNEI contains:

RESOLUTION 1000 SUBSYS SIR* RESOLUTION 500 FILE TEST* RESOLUTION 200 PROC *TEMP*

any procedure in a subsystem whose name begins with SIR would have a resolution of 1000, even if it ran out of a procedure file whose name begins with TEST, or if the procedure name contains the characters T E M P.

The resolution used for specific procedures with the resolution statements in the preceding example are listed below:

SubsystemProcfileProcedure nameResolution
TOOLSYSGENFILEBOP.PROD.Ldefault
SIRJUNKJUNKPROCP.JUNK.PROC1000
BIGSYSTESTFILEP.BARTLIST500
BIGSYSPROCXEXPER.TEMP.P200
SIRJUNKTESTFILEP.BARTLIST1000
SIRJUNKPROCXEXPER.TEMP.P1000
BIGSYSTESTFILEEXPER.TEMP.P500
SIRJUNKTESTFILEEXPER.TEMP.P1000

The suggested use of the RESOLUTION command is that the default is left at 4 and that resolution is set to a high value for procedures that are known to be compiled but are not likely to show much activity. If one or more of these procedures shows up on a CHUNK report at a resolution smaller than that set by the RESOLUTION commands for the procedures, do either of the following to explicitly set the resolution at a lower value for the procedures that appear on the CHUNK report:

  • Modify the RESOLUTION command.
  • Add extra RESOLUTION commands.

For example, suppose the following statement is specified, and a procedure named PRE.JUNK.PROC in subsystem TEST appears on a report for chunk size 100:

RESOLUTION 400 SUBSYS TEST

Since the minimum chunk size that SIRTUNER or SIRTUNEREPORT can use for procedures in subsystem TEST is 400 (because of the RESOLUTION statement), the report with chunk size 100 is comparing chunks of size approximately 100 with a chunk of size 400 in PRE.JUNK.PROC. Thus, a much larger segment of code is being totalled for PRE.JUNK.PROC than other procedures on this report, making this procedure look more important than it really is.

To correct this situation, you can do either of these:

  • Remove the RESOLUTION statement from SIRTUNEI or TUNERPTI and lose its virtual storage savings benefits.
  • Add another RESOLUTION statement to override the subsystem wide RESOLUTION statement for the specific procedure in question.

The following sequence would accomplish this:

RESOLUTION 4 SUBSYS TEST PROC PRE.JUNK.PROC RESOLUTION 400 SUBSYS TEST

TITle title_string

This command makes it possible to specify a title to appear on the top line of each page of the SirTune report. The default for title_string is SIRTUNE.

TITLE makes it easy to distinguish the output from multiple SIRTUNER reports. The title string can be made up of an arbitrary number of characters, including blanks. Only the first 62 characters of title_string are used to generate the title.

An example of a valid TITLE statement follows:

TITLE Production run after first round of changes

When using XML input in version 7.2 and later, you can specify the title as a child element of the document node, like this:

<SirtuneInput> <title>Sirtune June 16, 2010 for THX1138</title> ...

Or you can specify the title as a child element of the reportFormat node, like this:

<SirtuneInput> <reportFormat> <title>Sirtune June 16, 2010 for THX1138</title> </reportFormat ...

If specified in both places, the child element of reportFormat will override the child element of the document node. The reporting module only pays attention to the first title specified in either location in the input document.

TOP num_top

This statement specifies the number of top entities to be displayed on any report that ranks multiple entities. The default for num_top is 50. This default can be overridden by a TOP keyword on a REPORT statement.

For example, if you want to report on the top 100 procedures or chunks of procedures on all reports, place this statement in the input stream:

TOP 100

Or, with XML input in 7.2 and later, enter top as an attribute on the document node:

<SirtuneInput top="100">

Generally, it is not profitable to look at anything past the top 50 entities in any report, since less than 2% of resource usage can be attributed to any entity not in the top 50. It is generally not worth optimizing something that accounts for so little resource usage.

TABLEOFCONTENTS or TOC

This statement determines whether a table of contents is produced and where it is placed in the report. Although TWOPASS can still be used to specify the table of contents placement, the TABLEOFCONTENTS statement provides more control.

Valid values for TABLEOFCONTENTS are TOP, BOTTOM and NONE. By default, the table of contents is placed at the end of the report.

If you are using XML input to TUNERPTI, the <toc> or <tableOfContents> element specifies characteristics of the table of contents. For more information, see <reportFormat>: Controlling report format.

TWOpass

This statement indicates that the reporting module should place the table of contents for the output report at the start of the report rather than at the end. By default, the table of contents is placed at the end of the report.

As of version 7.2, this parameter is misnamed: the reporting module no longer needs to make two passes of the data, regardless of where the table of contents is positioned.

If you are using XML input to TUNERPTI, the <toc> or <tableOfContents> element specifies characteristics of the table of contents. See <reportFormat>: Controlling report format.

UPper

Note: This parameter is deprecated as of Version 7.2. If it is specified as an input parameter, it is ignored.

This statement indicates that the reporting module should issue all messages in uppercase only. The default is to issue messages in mixed case, except on Japanese operating systems, where the default is to issue messages in uppercase only.

This option should be used on systems where mixed-case messages might not be displayed correctly on terminals or printers.

Using XML input for report configuration

As of version 7.2, it is recommended that the control parameters described in Configuration parameters be formatted as an XML document in TUNERPTI. As shown in the example that follows, this XML document is characterized by:

  • A root node, <SirtuneInput>, whose attributes are report parameters.
  • Optional sub-elements ("child" elements) for other parameters, including <reportFormat>, which provides output formatting not available prior to version 7.2.
  • A <report> element for each report, specified with appropriate attributes as described in REPort report_desc | NODEFAULT.

A sample TUNERPTI input document follows. The entire set of TUNERPTI XML document element and attribute options is shown in A template for the XML input.

<SirtuneInput maxDelay="10" top="100"> <title>ULSPFPRO on Sirius</title> <reportFormat> <linesPerPage>55</linesPerPage> <charactersPerLine>78</charactersPerLine> <tableOfContents>top</tableOfContents> </reportFormat> <report type="info"/> <report type="waittype"/> <report type="state"/> <report type="sysparm"/> <report type="csect" top="100"/> <report type="csect" chunk="64" top="100"/> <report type="csect" chunk="4" top="100"/> <report type="csect" task="maintask" top="100"/> <report type="csect" chunk="64" task="maintask" top="100"/> <report type="eval" chunk="400" state="wchkpo"/> <report type="eval" chunk="4" state="wchkpo"/> <report type="eval" state="wbuff"/> <report type="eval" chunk="400" state="wbuff"/> <report type="eval" chunk="4" state="wbuff"/> <report type="whatc"/> <report type="whatc" chunk="64"/> <report type="servuse" chunk="10000"/> <report type="servio"/> </SirtuneInput>

General notes on TUNERPTI formatting

The following notes further describe the format of a TUNERPTI XML document like the example above.

  • As with all XML, the element and attribute names in a TUNERPTI XML document are case sensitive. "SirtuneInput" is not validly entered as "SirTuneInPut" or as any other combination of uppercase and lowercase letters except "SirtuneInput". Element and attribute values are case-insensitive.

    A few of the parameter names are in mixed case, but for ease of coding, most elements and attributes are restricted to lowercase characters.

  • While multiple reports can be specified on a single line in the older control card format, each <report> element in the XML input represents a single report.
  • The configuration parameters top, maxDelay, and comp31 are specified as attributes of the <SirtuneInput> document element.

    The configuration parameters title, range, and resolution are specified as sub-elements of <SirtuneInput>, and their values are element content.

    title can alternately be specified as a sub-element of <reportFormat>.

  • Parameters affecting the report layout are specified as sub-elements of the <reportFormat> element.
  • While the old-style card-image input format will continue to be supported after version 7.2, newer features are only available via XML input. Features such as user-specified characters-per-line and lines-per-page are already available only when using XML input to TUNERPTI.

A template for the XML input

This is a fully-qualified template for the TUNERPTI input XML document. It shows the document format and its possible XML elements, attributes, and content.

Square brackets ([ ]) enclose values you supply. The type, format, or explicit set of valid options for these values is indicated within the brackets. Guidelines for the three main XML elements provides additional details.

<SirtuneInput top="[integer]" maxDelay="[integer]" comp31="[integer]"> <range start="[HH|HH:MM|HH:MM:SS]" end="[HH|HH:MM|HH:MM:SS]" for="[integer]" skip="[integer]" /> <resolution value="[integer]" subsys="[subsysname]" file="[filename]" proc="[procname]" /> <title>[62-character title]</title> <reportFormat> <title>[62-character title]</title> <charactersPerLine>[integer]</charactersPerLine> <linesPerPage>[integer]</linesPerPage> <tableOfContents>[top|bottom|none]</tableOfContents> </reportFormat> <report type="[cfroot|csect|csectm|csects|diskio|info| quad|quadcm|quadcs|servio|servuse|state| summary|sysparm|whatc|whatcm|whatcs| waittype|nodefault]" top="[integer]" chunk="[total|table|integer]" task="[subtask|maintask]" <b><!--if a REPORT STATE, the following are the "type"--></b> <b><!--and "state" attribute options--></b> type="[what|comp|load|eval|evali|quad|chunk| ifjob|ifcomp|ifjcomp|iffunc|ifchunk]" <b><!--"state" options include primary states:-></b> state="[blkin|blkiu|blkon|blkou|redy|rung|rungm| rungs|swpgi|swpgobn|swpgobu|swpgow|wpst| wtsv| <b><!--composite states:-></b> all|alli|alln|blk|blki|blkn|blko|blku| oservn|oservu|oservw|redyr|runbl|swpg| swpgo|swpgob| <b><!--wait types:-></b> wmisc|wdisk|wusero|wuseri|woperi|wdumpo| wdumpi|wenque|wbuff|wpst|wifam|wsleep| wjrnlo|wchkpo|wwrite|warbmo|wchkpr|wdisk| wdead|wvsami|wlogin|wcfrex|wcfrsh|wvtbuf| wconvi|wconvo|wsctyi|ws$wai|wn$wai|wuldb2| wcfr|wlog| <b><!--critical file resources:-></b> cfrhany|cfrhdir|cfrhind|cfrhexs|cfrhrec| cfrbany|cfrbdir|cfrbind|cfrbexs|cfrbrec]"> </SirtuneInput>

Guidelines for the three main XML elements

This section shows how to assemble the principal elements of the XML format supported as control input to SirTune Version 7.2 and later.

<SirtuneInput>: Document root element

The root element (which is the outermost element) of the input XML document is <SirtuneInput>. The optional report parameters maxDelay, top, and comp31 are entered as attributes of this element:

<SirtuneInput maxDelay="10" top="100" comp31="200000">

<reportFormat>: Controlling report format

This element is optional; if specified, it must be a child of the document element. <reportFormat> contains child elements that control the formatting of report output. Specifically, you can define the number of lines per page and characters per line, and the position of the table of contents. For example:

<reportFormat> <linesPerPage>0</linesPerPage> <charactersPerLine>72</charactersPerLine> <tableOfContents>Bottom</tableOfContents> </reportFormat>

  • <linesPerPage> accepts integer values, 0 or greater. When the reporting module reaches linesPerPage output lines, a new header is printed and a new page is begun. A 0 setting turns off paging; in that case, a header line is produced at the beginning of the report only.
  • <charactersPerLine> accepts integer values 40 or larger. A non-numeric value or a value lower than 40 is converted to 40. The default value is 78.

    If the report needs to print a line longer than charactersPerLine, the line wraps at charactersPerLine+1.

  • <tableOfContents> (or its synonym <toc>) can be set to Top, Bottom, or None, specifying the location of the table of contents of the SirTune report. The default location is the bottom of the report.

<report>: Specifying individual reports

Each report is specified as a single, self-terminating, child element of <SirtuneInput>. Report details are specified as attributes of the <report> element:

<SirtuneInput> <report type="csect" chunk="64" task="maintask" top="100"/> </SirtuneInput>

All <report> elements are self-terminating. All reports except STATE reports are formatted as in the above example: the report type is specified on the type attribute, and any sub-parameters are specified (in lowercase) as attributes of the <report> element. Report details and sub-parameters are described in SirTune reports.

STATE reports (REPORT STATE state_name activity) are specified with an activity as the type attribute and the user state as the state attribute, as shown in the following example:

<SirtuneInput> <report type="quad" state="cfrbexs"/> <report type="eval" state="cfrbany"/> <report type="eval" chunk="4" state="rungm"/> <report type="evali" state="rung"/> <report type="evali" state="rungm"/> <report type="comp" state="rung"/> </SirtuneInput>

Valid type activity values and state values are discussed or referred to in REPORT STATE state_name activity, and they are also summarized in A template for the XML input.

The order in which attributes are specified in the <report> element is not important.

See also