kai,
1) under OS/390 almost for every task or activity a SMF record is
generated.
These records are collected in the SYS1.MAN* datasets. Usually, this
data
is extracted to different gdg's for whatever purpose. It makes the
working
with SMF data much more easier if you have subsets of specific
record types.
For most record types the generation can be turned off and on (have
a look at
SYS1.PARMLIB(SMF*) members for definitions for your system). The
records
for TSM have TYPE 42 SUBTYPE 14 and can be turned on with the SET
ACCOUNTING ON
command (have a look with Q STATUS). The record layout is documented
in the
"TSM for MVS and OS/390 Administrator's Guide".
For example, with the OS/390 Performance Reporter (or TDS) you could
define
reports which read a specific SMF record and generate as desired.
2) Here you have two jobs. The first job extracts the TSM SMF records
(type 42,
subtype 14) out from our monthly SMF gdg, with the IFASMFDP utility.
The second
job uses ICETOOL (nothing but a SORT) to read the SMF records and
generate a
readable output. Note that the first job is not really needed. You
could also
run the second job on the whole SMF data (take your time ...). In
the SORT control
statements, you can see that only type 42 records will be used
(INCLUDE COND= ).
Extract SMF data :
//ADSMSMF JOB COND=(0,LT),TIME=1440
//*-------------------------------------------------------------------*
//* EXTRACT ADSM ACCOUNTING RECORDS FROM MONTHLY SMF-GDG *
//*-------------------------------------------------------------------*
//COLLECT EXEC PGM=IFASMFDP
//SYSPRINT DD SYSOUT=*
//IN DD DSN=SYS9.SMF.MONTH(0),DISP=SHR
//OUT DD DSN=TSM1.SMF42.M06,DISP=(,CATLG),AVGREC=M,
// SPACE=(1,(300,100),RLSE),
// LRECL=256,RECFM=VB
//SYSIN DD *
INDD(IN,OPTIONS(DUMP))
OUTDD(OUT,TYPE(42(14)))
/*
Generate "report":
//ADSMREP JOB COND=(0,LT),REGION=4M
//*-------------------------------------------------------------------*
//* show adsm accounting records *
//*-------------------------------------------------------------------*
//STEP1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//SMFDATA DD DISP=SHR,DSN=TSM1.SMF42.M06
//TEMPFILE DD DSN=&&TEMP,
// MGMTCLAS=MCWRK00,
// SPACE=(CYL,(5,5))
//REPORT DD SYSOUT=*
//TOOLIN DD *
SORT FROM(SMFDATA) TO(TEMPFILE) USING(COPY)
DISPLAY FROM(TEMPFILE) LIST(REPORT) -
HEADER('Type') -
ON(6,1,BI) -
HEADER('Sub') -
ON(23,2,BI) -
HEADER('Node') -
ON(57,30,CH) -
HEADER('Date') -
ON(87,14,CH) -
HEADER('Duration of Session') -
ON(101,4,BI) -
HEADER('#archive objects') -
ON(105,4,BI) -
HEADER('#backup objects') -
ON(109,4,BI) -
HEADER('kb archived') -
ON(113,4,BI) -
HEADER('kb backedup') -
ON(117,4,BI) -
HEADER('kb communicated') -
ON(121,4,BI) -
HEADER('client owner') -
ON(125,8,CH) -
HEADER('node type') -
ON(133,8,CH) -
HEADER('#retrieved') -
ON(149,4,BI) -
HEADER('#restored') -
ON(153,4,BI) -
HEADER('kb retrieved') -
ON(157,4,BI) -
HEADER('kb restored') -
ON(161,4,BI) -
HEADER('idle wait time') -
ON(165,4,BI) -
HEADER('comm wait time') -
ON(169,4,BI) -
HEADER('media wait time') -
ON(173,4,BI) -
HEADER('session type') -
ON(183,1,BI)
//COPYCNTL DD *
OPTION VLSHRT
INCLUDE COND=(6,1,BI,EQ,B'00101010')
SORT FIELDS=COPY
/*
//
I hope this helps.
regards,
bruno
|