Setting up hardware event data collection

Hardware instrumentation services (HIS) is a function that collects hardware event data for IBM® System z10™ or later machines.

Before you start the HIS data collection, you may first need to authorize to the sampling facilities and counter set types you want to use through the support element (SE) console. For information about how to set up the authorization of the sampling facilities and counter sets, see Support Element Operations Guide for System z10 machine on the Resource Link home page.

Start of changeIn addition, with the enhanced-monitor facility hardware released with z196 machines, the HIS function expands into a z/OS software event data collector that will be used by IBM for improved problem analysis. The z/OS event counters are viewed as an additional hardware counter set, and there is no authorization required to use the hardware.End of change

Start of changeThe HIS function will not work if your z/OS operating system is running on z/VM. End of change

Start of changeWith HIS, you can either collect instrumentation data in UNIX files and SMF buffers through the HIS profiler, controlled through the F hisproc,BEGIN command, or you can collect instrumentation data dynamically through the HISSERV service. See HISSERV service overview. Both services require Initialization of the HIS address space.End of change

Start of changeIf you plan to collect sampling or load map files, you must have z/OS UNIX System Services active, and you must perform all of the steps in Steps for starting the HIS address space. If you only plan to collect hardware or software (or both) counter sets into SMF type 113 records (and not z/OS UNIX files), then you can perform only the required steps according to the following guidelines: End of change

Start of changeSteps for starting the HIS address spaceEnd of change

Follow these steps to set up hardware event data collection:
  1. Define the HIS-started task to RACF:

    To set up the HIS-started task to RACF, you need to define a profile for it to the RACF generic resource class called STARTED using the RDEFINE command.

    Note: If the STARTED class is not active, RACLISTed, and GENERIC profile checking is not activated, use the RACF SETROPTS command to activate (CLASSACT), RACLIST, and GENERIC the STARTED class first before you can define a new profile to it. In most environments, this might already have been done. Therefore, you might not have to include the SETROPTS command to CLASSACT, RACLIST, and GENERIC the STARTED class. In this example, we include these SETROPTS commands for completeness. Running these commands when the STARTED class is already activated has no effect.
    Example 1: RACF commands to define HIS-started task to RACF:
    //DAEMONS EXEC PGM=IKJEFT01
    //SYSTSPRT DD SYSOUT=*
    //SYSTSIN DD *
      SETROPTS CLASSACT(STARTED)
      SETROPTS RACLIST(STARTED)
      SETROPTS GENERIC(STARTED)
      RDEFINE STARTED HIS.* STDATA(USER(HIS) TRUSTED(YES))
      SETROPTS RACLIST(STARTED) REFRESH
      SETROPTS GENERIC(STARTED) REFRESH
  2. Define a user ID for the HIS started task with an OMVS segment that specifies:
    • Any UID
    • A default HOME directory
    For example, you might define the user ID as follows:
    adduser HIS omvs(uid(25) home('HIS'))
    where UID(25) is the OMVS uid and /HIS is the default home directory.
    Note: While OMVS access is required, there is no special authorization needed. Also, any directory can be used for the HOME directory.
    Example 2: Defining a HIS user ID for the HIS started task:
    //DAEMONS EXEC PGM=IKJEFT01
    //SYSTSPRT DD SYSOUT=*
    //SYSTSIN DD *
       ADDUSER HIS OMVS(UID(12) HOME('/HIS'))
    Start of change   SETROPTS NOCLASSACT(SECLABEL) NORACLIST(SECLABEL)
       ALTGROUP SYS1 OMVS(GID(0))End of change/*
    Example 3: RACF commands to perform steps 1 and 2 in one job:
    //DAEMONS EXEC PGM=IKJEFT01
    //SYSTSPRT DD SYSOUT=*
    //SYSTSIN DD *
      SETROPTS CLASSACT(STARTED)
      SETROPTS RACLIST(STARTED)
      SETROPTS GENERIC(STARTED) 
      RDEFINE STARTED HIS.* STDATA(USER(HIS) TRUSTED(YES))
      SETROPTS RACLIST(STARTED) REFRESH
      SETROPTS GENERIC(STARTED) REFRESH
      ADDUSER HIS OMVS(UID(12) HOME('/HIS'))
      SETROPTS NOCLASSACT(SECLABEL) NORACLIST(SECLABEL)
      ALTGROUP SYS1 OMVS(GID(0))
    /*
  3. Create the HOME directory in a local z/OS UNIX file system by issuing the mkdir command under z/OS UNIX. Also assign read/write/exec authority. (Making a HIS data collection directory)
    omvs
    tso omvs
    mkdir /HIS
    In this example, /HIS will be the default directory where the HIS output file will be stored. Start of changeIBM may request this data and the SMF records for problem diagnosis. This directory is used only for the HIS profiler.End of change
    Note: If you plan to capture lots of sample data, this output directory for HIS data needs to be large enough.
    For sample data, a directory with 1 GB available is recommended. For more information about calculating the disk space for sampling output, see Sampling function output in a .SMP file.
  4. Start of changeIf you would like SMF records also, enableEnd of change SMF record type 113 using either the SET SMF or SETSMF command. For example, you might enable SMF record type 113 as follows:
    1. Issue SET SMF=xx to select the SMFPRMxx parmlib member you want to update with information for SMF record type 113.
    2. Reply to the message issued in response to the SET SMF=xx command to change any SMFPRMxx parameters. For example, you might reply with the following information:
      nn,sys(type(113)),intval(01),maxdorm(0100)   
      Then, reply nn,U to continue.
    This reply will prompt the system to collect type 113 records, give you 1 minute collection intervals, and the data will only stay in the buffers for 1 minute before being written to the MANA or MANB data set. You can change other SMFPRMxx parameters on the SET SMF command response or the SETSMF command. See z/OS MVS Initialization and Tuning Reference.
  5. Start the HIS started task with the following command. Start of changeA hisproc procedure is delivered in PROCLIB as member HIS.End of change:
    START hisproc
    This command performs the following actions:
    • Starts the Hardware Instrumentation Services (HIS) address space for the system
    • Creates a new instrumentation started task, hisproc for the system
    • Start of changeInitializes the HISSERV service and allows profilers to request authorization and collect instrumentation data through the HISSERV interfaceEnd of change
    See Starting hardware instrumentation services (HIS) for complete information about the START hisproc command.

    Note that it is important to assign a sufficiently high dispatch priority to the instrumentation started task hisproc, so that the task can write sampling data to the .SMP output files in a timely manner.

Start of changeSteps to use the HIS Profiler for hardware data collectionEnd of change