System Management Facility (SMF) support

The System Management Facility (SMF) is used to collect and record system and job related information that can be used for billing, analyzing, scheduling, etc. More information can be found in the SMF documentation.

DBB has the capability to write SMF records when running a script that uses DBB functionality. When the capability is enabled, DBB writes an SMF record once per execution of a script when either an MVSExec, TSOExec, JCLExec, or ISPFExec is called. The SMF records can be queried to find out who is using DBB and the frequency. See SMF record for more information.

To enable the capability to write SMF records, set DBB_SMFWRITE_ENABLED to true as a system property when starting the build script:

-DDBB_SMFWRITE_ENABLED=true

Note:
DBB fails to write SMF records if authorization is set on BPX.SMF.122.2 instead of BPX.SMF and if any element in the address space is not under program control. Even when Java™ is program controlled, anything in the address space that is not program controlled turns it off for the whole address space. To enable program control for DBB, give libDBB_JNI64.so program control with the following z/OS UNIX command:

extattr +p <DBB path>/lib/libDBB_JNI64.so   

Configuring SMF support

To enable SMF recording, do the following steps:

  1. Set up the MVS system
  2. Authorize the user to write SMF records
  3. Configure DBB to write DBB SMF records

Set up the MVS system

For information about setting up the MVS system to enable SMF recording, see System Management Facility (SMF) in IBM Documentation.

Authorize the user to write SMF records

The user running the DBB script must be authorized to write an SMF record. To do so, grant the user read access to the RACF profile BPX.SMF by running the following commands:

PERMIT BPX.SMF CLASS(FACILITY) ID(userid) ACCESS(read)
SETROPTS RACLIST(FACILITY) REFRESH

Configure DBB to write DBB SMF records

By default, writing an SMF record in DBB is turned off. In order to have DBB write an SMF record, you must define a JVM property when starting the script. To do so, include the -DDBB_SMFWRITE_ENABLED=true property on the command line when running groovyz or in your groovy script Java opts when running your Groovy script from Jenkins.