@broadcom/mat-detect-for-zowe-cli

CA MAT Detect plug-in for Zowe CLI

Usage no npm install needed!

<script type="module">
  import broadcomMatDetectForZoweCli from 'https://cdn.skypack.dev/@broadcom/mat-detect-for-zowe-cli';
</script>

README

Zowe Conformance Badge

CA MAT Detect Plug-in for Zowe CLI

The CA MAT Detect plug-in for Zowe CLI enables you to detect performance issues and access performance data supplied by the Performance Management Assistant component (PMA) of CA Mainframe Application Tuner. The plug-in ensures interaction of your jobs with the Performance Management Assistant and provides access to PMA functionality.

If you include the CA MAT Detect plug-in for Zowe CLI in your CI/CD pipeline, the PMA module can measure the performance of your job after each code commit and evaluate the performance based on the previous measurements and the thresholds that you define within PMA. This information can help you detect possible performance degradation of your job at early testing stages, before your code is deployed to the production environment.

Table of Contents

Installation

You can install the CA MAT Detect plug-in for Zowe CLI:
•From the ZOWE Package
•From Source

Prerequisites

Before starting the installation of the CA MAT Detect plug-in for Zowe CLI, verify that you have:
•Zowe CLI installed.
•Zosmf profile created.
•The Performance Management Assistant component (PMA) of CA MAT is installed and completely customized on your system.

Install the CA MAT Detect Plug-in for Zowe CLI From Packages

Issue the following command:

$ zowe plugins install @broadcom/mat-detect-for-zowe-cli

Note:
The latest npm tag installs a version of the product that is intended for public consumption. You can use different npm tags to install other versions of the product. For example, you can install with the @beta tag to try new features that have not been fully validated. For more information about tag usage, see NPM Tag Names.

Install the CA MAT Detect Plug-in for Zowe CLI From Source

To install the CA MAT Detect plug-in for Zowe CLI from source, issue the following commands in your command line.

Follow these steps:

  1. Clone this repository to the CA MAT Detect plug-in for Zowe CLI folder on your PC:

    $ git clone https://github.gwd.broadcom.net/MFD/mat-detect-for-zowe-cli.git
    
  2. Navigate to the CA MAT Detect plug-in for Zowe CLI folder with the cloned source code.

    $ cd mat-detect-for-zowe-cli
    
  3. Install dependencies:

    $ npm install
    
  4. Build the plug-in:

    $ npm run build
    
  5. Navigate one step up in the folder hierarchy:

    $ cd ..
    
  6. Install the plug-in:

    $ zowe plugins install /path/to/mat-detect-for-zowe-cli
    

    In Windows command line:

    $ zowe plugins install ./mat-detect-for-zowe-cli
    

Validate the Installation

To validate the installation, issue the following command:

$ zowe plugins validate @broadcom/mat-detect-for-zowe-cli

Successful validation of the plug-in returns the response "This plugin was successfully validated. Enjoy the plugin."

Create a z/OSMF Profile

To interact with z/OS jobs, you need to create a z/OSMF profile. Issue the following command to get instructions on creating a z/OSMF profile in Brightside:

$ zowe profiles create zosmf-profile --help

Create a PMA Profile

To enable the interaction of the CA MAT Detect plug-in for Zowe CLI with PMA, you need to create a PMA profile:

$ zowe profiles create pma-profile <profileName> [options]

profileName (string)
The name of the profile that you create or update.

Options
--job_acct | --ja (string)
Specifies z/OS TSO/E accounting information. Only numbers are allowed.

--job_class | --jc (string)
Your z/OS class information. Valid values are any characters from A to Z and any numbers from 0 to 9.

--job_mclass | --jmc (string)
Specifies the MSGCLASS parameter value and assigns the job log to the specified output class. The specified MSGCLASS value is used in all JCLs that PMA runs while you execute the commands. If you do not provide the job_mclass parameter, the default MSGCLASS value is used. Values: alphanumeric characters (A-Z, 0-9).
Default value: A

--job_load | --jl (string)
Specifies PMA loadlib information. To provide the correct loadlib name, refer to your PMA installation details (&HLQ.CEETLOAD).

--job_pmahlq | --jph (string)
Specifies the correct PMA HLQ to access the KSDSALT, KSDSJOB, and KSDSEXC vsam files to collect the necessary data.

--overwrite | --ow (boolean)
Allows you to update your existing PMA profile to comply with the current version of ZOWE CLI.

Example
The following example creates a new PMA profile called ‘pma123’ using your valid jobcard and PMA configuration details:

$ zowe profiles create pma-profile pma123 --ja 123456789 --jc A --jmc A --jl HLQ.CEETLOAD --jph PMAHLQ

For help information, issue the following help command:

$ zowe profiles create pma-profile --help

Update a PMA Profile

To update an existing PMA profile, use the following command:

$ zowe profiles update pma-profile <profileName> [options]

profileName (string)
The name of the profile that you update.

Options
Use the same options as for the create profile operation, and define only the new values that you want update.

Using Profile Options

Use the following profile options with the commands to load the specific profile to be used for command execution:

--zosmf-profile | --zosmf-p (string)
The name of a (zosmf) profile to load for this command execution.

--pma-profile | --pma-p (string)
The name of a (pma) profile to load for this command execution.

You can also have other PMA connection options apart from the PMA profile and use them as options in the commands.

Use Cases and Commands

The CA MAT Detect plug-in for Zowe CLI commands are organized in the following command groups:

GET

The commands from the GET group enable you to get performance information using PMA utilities. You can get the current performance data of your jobs and check for today's performance alerts.

get | gt

Usage

$ zowe mat-pma-util get <command>

where command is one of the commands described below.

perf | pf

Gets the current performance data of a specific job using PMA. If the current measurement results for any of the measured parameters are higher than the averages, an alert message is displayed.

Usage

$ zowe mat-pma-util get perf <jobname> [options]

jobname (string)
The name of the job you are interested in or under test (e.g. TESTPMA8).

Options
The PMA Connection and Profile Options are available for this command.

Examples

  • Get the current performance data of the TESTPMA8 job using the default profile:
$ zowe mat-pma-util get perf TESTPMA8
  • Get the current performance data of the TESTPMA8 job using specific PMA profile details:
$ zowe mat-pma-util get perf TESTPMA8 --ja 123456789 --jc A --jmc A --jl HLQ.CEETLOAD --jph PMAHLQ

alert | at

Check for alerts created in PMA and detect whether any of your jobs violates statistical norms of today’s performance. If the threshold is exceeded, a PMA alert is triggered. This command is recommended for including into developers’ end-of-day build, so that they can get all the jobs that might cause a performance degradation from each day change.

Usage

$ zowe mat-pma-util get alert [options]

Options
The PMA Connection and Profile Options are available for this command.

Examples

  • Check whether any of your jobs violates today's statistical norms of daily performance using the default profile:
$ zowe mat-pma-util get alert
  • Check whether any of your jobs violates today's statistical norms of daily performance using specific PMA profile details:
$ zowe mat-pma-util get alert --ja 123456789 --jc A --jmc A --jl HLQ.CEETLOAD --jph PMAHLQ

alert-by-job | abyj

Check whether the specific job has violated statistically normal today’s performance. No record returned indicates that no performance degradation has been detected for this job.

Usage

$ zowe mat-pma-util get alert-by-job <jobname> [options]

jobname (string)
The name of the job you are interested in or under test (e.g. TESTPMA8).

Options
The PMA Connection and Profile Options are available for this command.

Examples

  • Check whether your job TESTPMA8 violates today's statistical norms of daily performance using the default profile:
$ zowe mat-pma-util get alert-by-job TESTPMA8
  • Check whether your job TESTPMA8 violates today's statistical norms of daily performance using specific PMA profile details:
$ zowe mat-pma-util get alert-by-job TESTPMA8 --ja 123456789 --jc A --jmc A  --jl HLQ.CEETLOAD --jph PMAHLQ

SCOPE

The commands from the SCOPE group enable you to create, update, and view lists of jobs that you want to include in the PAM scope, and lists of programs to be excluded from the PMA scope of work.

scope | scp

Usage

$ zowe mat-pma-util scope <command>

where command is one of the commands described below.

inc-job | incj

Include a job in the PMA scope of work.

Usage

$ zowe mat-pma-util scope inc-job <jobname> [options]

jobname (string)
The name of the job that you want to add to the list of inclusions in the PMA scope (e.g. TESTPMA8).

Options
--stepname | --st (string)
The name of the job step that you want to include to the PMA scope.

--procstep | --ps (string)
The procname of the job that you want to include in the PMA scope.

--description | --dc (string)
The description of the job that you want to include in the PMA scope.

The PMA Connection and Profile Options are also available for this command.

Examples

  • Include the TESTPMA8 job in the PMA scope:
$ zowe mat-pma-util scope inc-job TESTPMA8
  • Include the specific procname and step name of the TESTPMA8 job in the PMA scope and add a description to the included job:
$ zowe mat-pma-util scope inc-job TESTPMA8 --ps TESTCALL --st TESTDO --dc "INCLUDE IN THE CURRENT SCOPE"
  • Include the specific procname and step name of the TESTPMA8 job in the PMA scope and add a description to the included job using specific PMA profile details:
$ zowe mat-pma-util scope inc-job TESTPMA8 --ps TESTCALL --st TESTDO --dc "INCLUDE IN THE CURRENT SCOPE" --ja 123456789 --jc A  --jmc A --jl HLQ.CEETLOAD --jph PMAHLQ

exl-pgm | exlp

Exclude a program from the PMA scope of work.

Usage

$ zowe mat-pma-util scope exl-pgm <pgmname> [options]

pgmname (string)
The name of the program that you want to add to the list of exclusions from the PMA scope (e.g. TESTPMA8).

Options
--description | --dc (string)
The description of the program that you want to exclude from the PMA scope.

The PMA Connection and Profile Options are also available for this command.

Examples

  • Exclude the TESTPMA8 program from the PMA scope:
$ zowe mat-pma-util scope exl-pgm TESTPMA8
  • Exclude the TESTPMA8 program from the PMA scope and add a description to the excluded program:
$ zowe mat-pma-util scope exl-pgm TESTPMA8 --dc "EXCLUDE FROM THE CURRENT SCOPE"
  • Exclude the TESTPMA8 program from the PMA scope and add a description to the excluded program using specific PMA profile details:
$ zowe mat-pma-util scope exl-pgm TESTPMA8 --dc "EXCLUDE FROM THE CURRENT SCOPE" --ja 123456789 --jc A --jmc A  --jl HLQ.CEETLOAD --jph PMAHLQ

del-job | delj

Delete a job from the list of inclusions in the PMA scope.

Usage

$ zowe mat-pma-util scope del-job <jobname> [options]

jobname (string)
The name of the job that you want to delete from the list of inclusions in the PMA scope (e.g. TESTPMA8).

Options
--stepname | --st (string)
The name of the job step that you want to delete from the list of inclusions in the PMA scope.

--procstep | --ps (string)
The procname of the job that you want to delete from the list of inclusions in the PMA scope.

The PMA Connection and Profile Options are also available for this command.

Examples

  • Delete the TESTPMA8 job from the list of inclusions in the PMA scope:
$ zowe mat-pma-util scope del-job TESTPMA8 
  • Delete the specific procname and step name of the TESTPMA8 job from the list of inclusions in the PMA scope:
$ zowe mat-pma-util scope del-job TESTPMA8 --ps TESTCALL --st TESTDO 
  • Delete the specific procname and step name of the TESTPMA8 job from the list of inclusions in the PMA scope using specific PMA profile details:
$ zowe mat-pma-util scope del-job TESTPMA8 --ps TESTCALL --st TESTDO --ja 123456789 --jc A  --jmc A --jl HLQ.CEETLOAD --jph PMAHLQ  

del-pgm | delp

Delete a program from the list of exclusions from the PMA scope.

Usage

$ zowe mat-pma-util scope del-pgm <pgmname> [options]

pgmname (string)
The name of the program that you want to delete from the list of exclusions from the PMA scope (e.g. TESTPMA8).

Options
The PMA Connection and Profile Options are available for this command.

Examples

  • Delete the TESTPMA8 program from the exclusions list from the PMA scope:
$ zowe mat-pma-util scope del-pgm TESTPMA8 
  • Delete the TESTPMA8 program from the exclusions list from the PMA scope using specific PMA profile details:
$ zowe mat-pma-util scope del-pgm TESTPMA8 --ja 123456789 --jc A  --jmc A --jl HLQ.CEETLOAD --jph PMAHLQ 

get-listj | getlj

Get the list of jobs included in the PMA scope.

Usage

$ zowe mat-pma-util scope get-listj [options]

Options
The PMA Connection and Profile Options are available for this command.

Examples

  • Get the list of jobs included in the PMA scope:
$ zowe mat-pma-util scope get-listj
  • Get the list of jobs included in the PMA scope using specific PMA profile details:
$ zowe mat-pma-util scope get-listj --ja 123456789 --jc A  --jmc A --jl HLQ.CEETLOAD --jph PMAHLQ 

get-listp | getlp

Get the list of programs excluded from the PMA scope.

Usage

$ zowe mat-pma-util scope get-listp [options] 

Options
The PMA Connection and Profile Options are available for this command.

Examples

  • Get the list of programs excluded from the PMA scope:
$ zowe mat-pma-util scope get-listp
  • Get the list of programs excluded from the PMA scope using specific PMA profile details:
$ zowe mat-pma-util scope get-listp --ja 123456789 --jc A  --jmc A --jl HLQ.CEETLOAD --jph PMAHLQ

For any group and command, help is available with --h argument, for example:

$ zowe pma get perf –h
$ zowe pma scope --h

Uninstall the CA MAT Detect Plug-in for Zowe CLI

To uninstall the CA MAT Detect plug-in for Zowe CLI, issue the following command:

$ zowe plugins uninstall @broadcom/mat-detect-for-zowe-cli