SirTune data collection under MVS: Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (1 revision: SirTune doc)
m (more conversion cleanup)
Line 4: Line 4:
<!-- Page name: Sirtune data collection under MVS -->
<!-- Page name: Sirtune data collection under MVS -->
<p></p>
<p></p>
As of the integration of the <var class="product">SirTune</var> data collector with the &SIRMODS.
As of the integration of the <var class="product">SirTune</var> data collector with the <var class="product">Sirius Mods</var>.
(in &SIRMODS. version 6.9), how you invoke <var class="product">SirTune</var> depends on its version.
(in <var class="product">Sirius Mods</var> version 6.9), how you invoke <var class="product">SirTune</var> depends on its version.


<div id="vercurr"></div>
<div id="vercurr"></div>
Line 11: Line 11:
<!--Caution: <div> above-->
<!--Caution: <div> above-->


<p></p>
The data collection portion of <var class="product">SirTune</var> is part of the <var class="product">Sirius Mods</var> object.
The data collection portion of <var class="product">SirTune</var> is part of the &SIRMODS. object.
The data collector becomes available once the <var class="product">Sirius Mods</var> is link edited with the <var class="product">Model 204</var> ONLINE module.
The data collector becomes available once the &SIRMODS. is link edited with
the <var class="product">Model 204</var> ONLINE module.


<div id="stunjcl"></div>
<div id="stunjcl"></div>
Line 20: Line 18:
<!--Caution: <div> above-->
<!--Caution: <div> above-->


<p></p>
To invoke <var class="product">SirTune</var>,
To invoke <var class="product">SirTune</var>,
The EXEC statement in your JCL should directly invoke the <var class="product">Model 204</var> load module:
The EXEC statement in your JCL should directly invoke the <var class="product">Model 204</var> load module:
<p class="code"><nowiki>//ONLINE  EXEC PGM=ONLINE,...
<p class="code"><nowiki>//ONLINE  EXEC PGM=ONLINE,...
</nowiki></p>
</nowiki></p>
<p></p>
 
This statement differs from that required for version 1.5 and earlier of <var class="product">SirTune</var>
This statement differs from that required for version 1.5 and earlier of <var class="product">SirTune</var>
(which is described in [[#invstun|Invoking the SIRTUNE module]]).
(which is described in [[#invstun|Invoking the SIRTUNE module]]).
<p></p>
 
In addition, the JCL that invokes <var class="product">Model 204</var> must include a DD statement
In addition, the JCL that invokes <var class="product">Model 204</var> must include a DD statement
for the SIRTUNED dataset (see [[#stundds|The <var class="product">SirTune</var> DD statements]]).
for the SIRTUNED dataset (see [[#stundds|The <var class="product">SirTune</var> DD statements]]).
Then, if <var class="product">SirTune</var> is authorized for use at your site, the <var class="product">SirTune</var>
Then, if <var class="product">SirTune</var> is authorized for use at your site, the <var class="product">SirTune</var>
data collector will be initialized,
data collector will be initialized,
<p></p>
 
If you are upgrading from an earlier version of <var class="product">SirTune</var>,
If you are upgrading from an earlier version of <var class="product">SirTune</var>,
no changes are necessary to the <var class="product">SirTune</var> DD statements you were using.
no changes are necessary to the <var class="product">SirTune</var> DD statements you were using.
Line 39: Line 36:
the PGM statement
the PGM statement
is ignored, since <var class="product">SirTune</var> no longer loads the <var class="product">Model 204</var> ONLINE load module.
is ignored, since <var class="product">SirTune</var> no longer loads the <var class="product">Model 204</var> ONLINE load module.
<p></p>
 
If you want to prevent the <var class="product">SirTune</var> data collector from being initialized,
If you want to prevent the <var class="product">SirTune</var> data collector from being initialized,
do either of the following:
do either of the following:
<ul>
<ul>
<li>Under z/OS or OS/390, include no SIRTUNED DD statement during initialization.
<li>Under z/OS or OS/390, include no SIRTUNED DD statement during initialization.</li>
<li>Set the <code>SIRTUNE</code> parameter to 0.
<li>Set the <code>SIRTUNE</code> parameter to 0.
<p></p>
<p>
SIRTUNE, which is only allowed as a parameter in the EXEC JCL statement,
SIRTUNE, which is only allowed as a parameter in the EXEC JCL statement,
controls whether the <var class="product">SirTune</var> data collector is initialized at the
controls whether the <var class="product">SirTune</var> data collector is initialized at the
start of a <var class="product">Model 204</var> run.
start of a <var class="product">Model 204</var> run.</p>
<p></p>
<p>
The SIRTUNE parameter can be set to either of these values:
The SIRTUNE parameter can be set to either of these values:</p>
<table>
<table class="thJustBold">
<tr><th>0</th><td>Disables initialization of the integrated <var class="product">SirTune</var> product for a particular run.</td></tr>
<tr><th>0</th>
<tr><th>1</th><td>Enables initialization (this is the default).</td></tr>
<td>Disables initialization of the integrated <var class="product">SirTune</var> product for a particular run.</td></tr>
 
<tr><th>1</th>
<td>Enables initialization (this is the default).</td></tr>
</table>
</table>
<p></p>
 
<p></p>
For example:
For example:
<p class="code"><nowiki>//ONLINE  EXEC PGM=ONLINE,PARM='SIRTUNE=0'
<p class="code"><nowiki>//ONLINE  EXEC PGM=ONLINE,PARM='SIRTUNE=0'
</nowiki></p>
</nowiki></p></li>
</ul>
</ul>


Line 67: Line 66:


<var class="product">SirTune</var> uses one or both of the DD statements described below.
<var class="product">SirTune</var> uses one or both of the DD statements described below.
<blockquote class="note"><b>Note:</b> The SIRTUNEO dataset used in earlier versions of <var class="product">SirTune</var> is obsolete
<p class="note"><b>Note:</b> The SIRTUNEO dataset used in earlier versions of <var class="product">SirTune</var> is obsolete in versions of <var class="product">SirTune</var> after 1.5.
in versions of <var class="product">SirTune</var> after 1.5.
</p>
</blockquote>
<ul>
<ul>
<li>SIRTUNED
<li>SIRTUNED
<p></p>
<p>
This required DD specifies the data set that receives the data collected by
This required DD specifies the data set that receives the data collected by
<var class="product">SirTune</var>.
<var class="product">SirTune</var>.
Line 78: Line 76:
have a large block size (>10000).
have a large block size (>10000).
If DCB information is not explicitly specified, the defaults selected by
If DCB information is not explicitly specified, the defaults selected by
<var class="product">SirTune</var> should be adequate for all but the most extreme cases.
<var class="product">SirTune</var> should be adequate for all but the most extreme cases.</p>
<p></p>
<p>
If SIRTUNED is pre-allocated under ISPF or its equivalent, the recommended
If SIRTUNED is pre-allocated under ISPF or its equivalent, the recommended
blocksizes are 23,476 on a 3380 and 27,998 on a 3390.
blocksizes are 23,476 on a 3380 and 27,998 on a 3390.
Line 85: Line 83:
the duration of the run.
the duration of the run.
A 20 megabyte SIRTUNED should be sufficient for most shops, while a 50
A 20 megabyte SIRTUNED should be sufficient for most shops, while a 50
megabyte SIRTUNED should be sufficient for almost any requirements.
megabyte SIRTUNED should be sufficient for almost any requirements.</p>
<p></p>
<p>
Since the only cost of running out of space in SIRTUNED is the loss of
Since the only cost of running out of space in SIRTUNED is the loss of
some data, it's not worth spending a lot of time trying to size SIRTUNED
some data, it's not worth spending a lot of time trying to size SIRTUNED
Line 93: Line 91:
tight), and adjust the size based on experience.
tight), and adjust the size based on experience.
For more information on sizing SIRTUNED, see [[SirTune size requirement for SIRTUNED]].
For more information on sizing SIRTUNED, see [[SirTune size requirement for SIRTUNED]].
To keep available data from several runs, make SIRTUNED part of a GDG.
To keep available data from several runs, make SIRTUNED part of a GDG.</p></li>
 
<li>SIRTUNEI
<li>SIRTUNEI
<p></p>
<p>
This optional DD specifies a data set that
This optional DD specifies a data set that
contains statements that alter the <var class="product">SirTune</var> defaults.
contains statements that alter the <var class="product">SirTune</var> defaults.
Line 102: Line 101:
which data is collected, the sampling rate, authorization to issue
which data is collected, the sampling rate, authorization to issue
MODIFY commands, and more.
MODIFY commands, and more.
For a list of the available statements, see [[SirTune configuration statements]].
For a list of the available statements, see [[SirTune configuration statements]].</p>
<p></p>
<p>
SIRTUNEI can have either fixed or variable format, and it can have any record
SIRTUNEI can have either fixed or variable format, and it can have any record
length.
length.</p></li>
</ul>
</ul>


==Version 1.5 or earlier of SirTune==
==Version 1.5 or earlier of SirTune==
<p></p>
The data collection portion of <var class="product">SirTune</var> consists of a single load
The data collection portion of <var class="product">SirTune</var> consists of a single load
module called <b>SIRTUNE</b>.
module called <b>SIRTUNE</b>.
Line 117: Line 115:
<!--Caution: <div> above-->
<!--Caution: <div> above-->


<p></p>
To have <var class="product">SirTune</var> collect data for a particular Online job,
To have <var class="product">SirTune</var> collect data for a particular &ONLINE. job,
you must do the following so that
you must do the following so that
<var class="product">SirTune</var> will run <var class="product">Model 204</var> as a subtask of <b>SIRTUNE</b>,
<var class="product">SirTune</var> will run <var class="product">Model 204</var> as a subtask of SIRTUNE, collecting polling data as required:
collecting polling data as required:
<ul>
<ul>
<li>Modify the JCL that invokes <var class="product">Model 204</var> so that it invokes
<li>Modify the JCL that invokes <var class="product">Model 204</var> so that it invokes
<b>SIRTUNE</b> instead.
SIRTUNE instead. For example, to have <var class="product">SirTune</var> monitor an Online invoked with:
For example, to have <var class="product">SirTune</var> monitor an &ONLINE. invoked with:
<p class="code"><nowiki>//ONLINE  EXEC PGM=ONLINE,REGION=4096K,TIME=1440,
<p class="code"><nowiki>//ONLINE  EXEC PGM=ONLINE,REGION=4096K,TIME=1440,
//              PARM='LIBUFF=600,SYSOPT=155,NJBUFF=2'
//              PARM='LIBUFF=600,SYSOPT=155,NJBUFF=2'
</nowiki></p>
</nowiki></p>
<p></p>
<p>
<p></p>
change the line to read:</p>
change the line to read:
<p class="code"><nowiki>//ONLINE  EXEC PGM=SIRTUNE,REGION=4096K,TIME=1440,
<p class="code"><nowiki>//ONLINE  EXEC PGM=SIRTUNE,REGION=4096K,TIME=1440,
//              PARM='LIBUFF=600,SYSOPT=155,NJBUFF=2'
//              PARM='LIBUFF=600,SYSOPT=155,NJBUFF=2'
</nowiki></p>
</nowiki></p></li>
<li>Place the <b>SIRTUNE</b> load module into the
 
same load library as the &ONLINE. load library, or
<li>Place the SIRTUNE load module into the
concatenate the library containing the <b>SIRTUNE</b> load module
same load library as the Online load library, or
with the <var class="product">Model 204</var> load library.
concatenate the library containing the SIRTUNE load module
with the <var class="product">Model 204</var> load library.</li>
</ul>
</ul>
<p></p>
 
<var class="product">SirTune</var> data collection should have no significant impact on the
<var class="product">SirTune</var> data collection should have no significant impact on the
performance of the &ONLINE. region.
performance of the Online region.
<p></p>
 
If the <var class="product">Model 204</var> load module that is being monitored with <var class="product">SirTune</var>
If the <var class="product">Model 204</var> load module that is being monitored with <var class="product">SirTune</var> must run authorized, the SIRTUNE load module must be placed
must run authorized, the SIRTUNE load module must be placed
into an APF-authorized library.
into an APF-authorized library.
<p></p>
 
If SIRTUNE is able to load <var class="product">Model 204</var> but cannot sample for some reason
If SIRTUNE is able to load <var class="product">Model 204</var> but cannot sample for some reason
(including unknown <var class="product">Model 204</var> release, <var class="product">SirTune</var> expiration, or operation on
(including unknown <var class="product">Model 204</var> release, <var class="product">SirTune</var> expiration, or operation on an unauthorized CPU), <var class="product">Model 204</var> will still proceed. This lets you leave SIRTUNE in place in your JCL while a
an unauthorized CPU), <var class="product">Model 204</var> will still proceed.
This lets you leave SIRTUNE in place in your JCL while a
temporary problem is being solved.
temporary problem is being solved.


Line 158: Line 150:
<!--Caution: <div> above-->
<!--Caution: <div> above-->


<p></p>
The SIRTUNE load module uses as many as three DD statements: the first
The SIRTUNE load module uses as many as three DD statements: the first
(<b>SIRTUNED</b>) is required and
(<b>SIRTUNED</b>) is required and specifies the dataset to receive the collected data; the other two
specifies the dataset to receive the collected data; the other two
are optional:
are optional:
<table>
<table class="thJustBold">
<tr><th>SIRTUNED</th><td>See list item :liref refid=stuned..</td></tr>
<tr><th>SIRTUNED</th>
<tr><th>SIRTUNEI</th><td>See list item :liref refid=stunei..</td></tr>
<td>See list item :liref refid=stuned..</td></tr>
<tr><th>SIRTUNEO</th><td>This optional DD receives informational SIRTUNE messages. If this DD is not specified, these messages go to the MVS job log. SIRTUNEO must have LRECL greater than or equal to 80.</td></tr>
 
<tr><th>SIRTUNEI</th>
<td>See list item :liref refid=stunei..</td></tr>
 
<tr><th>SIRTUNEO</th>
<td>This optional DD receives informational SIRTUNE messages. If this DD is not specified, these messages go to the MVS job log. SIRTUNEO must have LRECL greater than or equal to 80.</td></tr>
</table>
</table>


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


<p></p>
The following is an example of JCL that runs a BATCH204 job under SIRTUNE
The following is an example of JCL that runs a BATCH204 job under SIRTUNE
<b>get non-BATCH204 example </b>
in an MVS environment.
in an MVS environment.
====get non-BATCH204 example====
<p class="code"><nowiki>//DAILY204 JOB  (0),CLASS=C,MSGCLASS=A
<p class="code"><nowiki>//DAILY204 JOB  (0),CLASS=C,MSGCLASS=A
//BATCH204 EXEC PGM=SIRTUNE,REGION=4096K,
//BATCH204 EXEC PGM=SIRTUNE,REGION=4096K,

Revision as of 23:28, 2 July 2015

As of the integration of the SirTune data collector with the Sirius Mods. (in Sirius Mods version 6.9), how you invoke SirTune depends on its version.

Versions of SirTune after 1.5

The data collection portion of SirTune is part of the Sirius Mods object. The data collector becomes available once the Sirius Mods is link edited with the Model 204 ONLINE module.

JCL for SirTune

To invoke SirTune, The EXEC statement in your JCL should directly invoke the Model 204 load module:

//ONLINE EXEC PGM=ONLINE,...

This statement differs from that required for version 1.5 and earlier of SirTune (which is described in Invoking the SIRTUNE module).

In addition, the JCL that invokes Model 204 must include a DD statement for the SIRTUNED dataset (see The SirTune DD statements). Then, if SirTune is authorized for use at your site, the SirTune data collector will be initialized,

If you are upgrading from an earlier version of SirTune, no changes are necessary to the SirTune DD statements you were using. However, if you specified SIRTUNEI configuration statements for the data collector, the PGM statement is ignored, since SirTune no longer loads the Model 204 ONLINE load module.

If you want to prevent the SirTune data collector from being initialized, do either of the following:

  • Under z/OS or OS/390, include no SIRTUNED DD statement during initialization.
  • Set the SIRTUNE parameter to 0.

    SIRTUNE, which is only allowed as a parameter in the EXEC JCL statement, controls whether the SirTune data collector is initialized at the start of a Model 204 run.

    The SIRTUNE parameter can be set to either of these values:

    0 Disables initialization of the integrated SirTune product for a particular run.
    1 Enables initialization (this is the default).

    For example:

    //ONLINE EXEC PGM=ONLINE,PARM='SIRTUNE=0'

The SirTune DD statements

SirTune uses one or both of the DD statements described below.

Note: The SIRTUNEO dataset used in earlier versions of SirTune is obsolete in versions of SirTune after 1.5.

  • SIRTUNED

    This required DD specifies the data set that receives the data collected by SirTune. This data set must have variable blocked (VB) format, and it should generally have a large block size (>10000). If DCB information is not explicitly specified, the defaults selected by SirTune should be adequate for all but the most extreme cases.

    If SIRTUNED is pre-allocated under ISPF or its equivalent, the recommended blocksizes are 23,476 on a 3380 and 27,998 on a 3390. If this dataset fills up, SirTune will simply stop collecting data for the duration of the run. A 20 megabyte SIRTUNED should be sufficient for most shops, while a 50 megabyte SIRTUNED should be sufficient for almost any requirements.

    Since the only cost of running out of space in SIRTUNED is the loss of some data, it's not worth spending a lot of time trying to size SIRTUNED exactly. Simply allocate SIRTUNED at 20 megabytes (or less if disk space is tight), and adjust the size based on experience. For more information on sizing SIRTUNED, see SirTune size requirement for SIRTUNED. To keep available data from several runs, make SIRTUNED part of a GDG.

  • SIRTUNEI

    This optional DD specifies a data set that contains statements that alter the SirTune defaults. These statements allow control over the name of the Model 204 load module, the level of detail to which data is collected, the time intervals over which data is collected, the sampling rate, authorization to issue MODIFY commands, and more. For a list of the available statements, see SirTune configuration statements.

    SIRTUNEI can have either fixed or variable format, and it can have any record length.

Version 1.5 or earlier of SirTune

The data collection portion of SirTune consists of a single load module called SIRTUNE.

Invoking the SIRTUNE module

To have SirTune collect data for a particular Online job, you must do the following so that SirTune will run Model 204 as a subtask of SIRTUNE, collecting polling data as required:

  • Modify the JCL that invokes Model 204 so that it invokes SIRTUNE instead. For example, to have SirTune monitor an Online invoked with:

    //ONLINE EXEC PGM=ONLINE,REGION=4096K,TIME=1440, // PARM='LIBUFF=600,SYSOPT=155,NJBUFF=2'

    change the line to read:

    //ONLINE EXEC PGM=SIRTUNE,REGION=4096K,TIME=1440, // PARM='LIBUFF=600,SYSOPT=155,NJBUFF=2'

  • Place the SIRTUNE load module into the same load library as the Online load library, or concatenate the library containing the SIRTUNE load module with the Model 204 load library.

SirTune data collection should have no significant impact on the performance of the Online region.

If the Model 204 load module that is being monitored with SirTune must run authorized, the SIRTUNE load module must be placed into an APF-authorized library.

If SIRTUNE is able to load Model 204 but cannot sample for some reason (including unknown Model 204 release, SirTune expiration, or operation on an unauthorized CPU), Model 204 will still proceed. This lets you leave SIRTUNE in place in your JCL while a temporary problem is being solved.

The SIRTUNE DD statements

The SIRTUNE load module uses as many as three DD statements: the first (SIRTUNED) is required and specifies the dataset to receive the collected data; the other two are optional:

SIRTUNED See list item :liref refid=stuned..
SIRTUNEI See list item :liref refid=stunei..
SIRTUNEO This optional DD receives informational SIRTUNE messages. If this DD is not specified, these messages go to the MVS job log. SIRTUNEO must have LRECL greater than or equal to 80.

JCL example

The following is an example of JCL that runs a BATCH204 job under SIRTUNE in an MVS environment.

get non-BATCH204 example

//DAILY204 JOB (0),CLASS=C,MSGCLASS=A //BATCH204 EXEC PGM=SIRTUNE,REGION=4096K, // PARM='SYSOPT=209,LIBUFF=1000' //STEPLIB DD DSN=M204.V410.LOADLIB,DISP=SHR // DD DSN=SIRIUS.LOAD,DISP=SHR //SIRTUNEI DD * PGM BATCH204 /* //SIRTUNED DD DSN=SIRTUNE.SAMPLE.DATA,DISP=SHR //CCAPRINT DD SYSOUT=* //CCAAUDIT DD SYSOUT=* //CCASNAP DD SYSOUT=* //CCATEMP DD UNIT=WORK,SPACE=(CYL,(40,0)) //CCASTAT DD DSN=M204.CCASTAT.DISP=SHR //POPDATA DD DSN=LOCAL.PROD.POPDATA,DISP=SHR //POPPROC DD DSN=LOCAL.PROD.POPPROC,DISP=SHR //CCAIN DD * SPCORE=20000,MAXBUF=1000,MINBUF=50,SERVSIZE=300000 ..... //

See also