Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié par侑闹 贝 Modifié depuis plus de 7 années
1
CMRPROG UTILITAIRE MAINVIEW CICS BATCH de REPORTING des STATISTIQUES
TRANSACTIONS et/ou PROGRAMMES CICS
2
UTILITAIRE MAINVIEW CICS BATCH de REPORTING des STATISTIQUES TRANSACTIONS et/ou PROGRAMMES CICS
OBJECTIFS DE CE PROGRAMME Notre outil de métrologie (TDS) ne nous permettant pas d’avoir des statistiques au niveau des appels de programmes CICS (seulement au niveau transactionnel), il nous manquait un outil apte à nous fournir les éléments suivants: - Liste des programmes exécutés au sein d’un code transaction pour des besoins de traçabilité fonctionnelle et de cartographie applicative Consommation CPU d’un programme pour des besoins de suivi de production et d’optimisation de la facturation. En effet, la multiplication de requêtes java générant des flux hétérogènes (SNA, MQ, CTG) convergeant vers nos CICS et déclenchant des « services métier » nous a fait perdre petit à petit de la visibilité fonctionnelle et transactionnelle (certains codes transaction devenant « génériques »). Nous avions besoin d’un outil apte à nous aider à retrouver cette visibilité.
3
UTILITAIRE MAINVIEW CICS BATCH de REPORTING des STATISTIQUES TRANSACTIONS et/ou PROGRAMMES CICS
Ce programme (adapté à partir du SAMPLE Cobol BMC CMRCOB12) s’appuie, pour chaque CICS, sur les fichiers de collecte CMRDETL 1 & 2. Ce programme fait un CALL à la routine CMRFREDN pour lire chaque enregistrement et alimenter les champs. C’est le COPY COBOL CMRCOBCN (BBSAMP) qui est utilisé comme masque pour les enregistrement CMRDETL afin de mapper les zones des ressources de type programme. A ce titre, il faudra prendre soin de recompiler le programme avec le COPY COBOL fourni avec chaque nouvelle version de MVCICS. PRINCIPE DU PROGRAMME Pour chaque enregistrement CMRDETL lu, on récolte les informations utiles au niveau tâche (transaction) comme la durée ELAPSED, la consommation CPU et la durée passée dans DB2. Toujours au sein de cet enregistrement principal, le programme va balayer une série de sous-enregistrements. Chacun d’eux est « taggé » du sceau d’une ressource utilisée au sein de la transaction (programme=‘§’, Queue MQ=‘Q’, plan DB2=‘2’, TS, TD, etc…). On voit là l’éventail des possibilités offertes par cet outil. Pour notre besoin, on ne va extraire que les sous-enregistrements de type « programme » et récupérer son nom et sa consommation CPU unitaire. Ainsi, et selon les critères de sélection précisés en SYSIN du job, pour un code transaction donné on peut obtenir la durée ELAPSED, la consommation CPU et le temps passé dans DB2 pour la transaction ainsi que la consommation CPU de chaque programme exécuté par ce code transaction. En fin de REPORT, on trouvera une synthèse indiquant la consommation et la durée moyenne de la transaction.
4
UTILITAIRE MAINVIEW CICS BATCH de REPORTING des STATISTIQUES TRANSACTIONS et/ou PROGRAMMES CICS
EXECUTION DU PROGRAMME Job Batch paramétrable via sa SYSIN. Comme pour l’utilitaire de base CMRPRL, il se base sur les fichiers de collecte CMRDETL actifs (1 ou 2) ou bien si l’on souhaite remonter dans le temps, sur leurs archives, ici de type GDG. Ces derniers peuvent être concaténés comme ci-dessous si l’on désire faire du reporting sur plusieurs jours. //CMRPROG EXEC PGM=CMRPROG,REGION=0M //STEPLIB DD DSN=S$PDT.$0BBEP0A.BBLINK,DISP=SHR // DD DSN=S$PDT.$0CTSP0A.UDFHLOAD,DISP=SHR //SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(50,5)) //SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,(50,5)) //SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,(50,5)) //CMRDETL DD DISP=SHR,DSN=S$CEN.$0CMRP0A.CICSBPS.CMRDETL2 //*MRDETL DD DSN=S$CEN.$0CMRP0A.CICSBPS.HISTORY.G6533V00,DISP=SHR //* DD DSN=S$CEN.$0CMRP0A.CICSBPS.HISTORY.G6534V00,UNIT=AFF=CMRDETL,DISP=SHR //CARDIN DD * CICS=CICSBPS DATE= TRAN=ZCXC TIM1=140000 TIM2=140500 /* Les paramètres de SYSIN ci-contre permettent le reporting du code transaction ZCXC sur le CICSBPS le 04 Octobre 2016 entre 14h & 14h05
5
UTILITAIRE MAINVIEW CICS BATCH de REPORTING des STATISTIQUES TRANSACTIONS et/ou PROGRAMMES CICS
Valeur des CARTES en SYSIN (OBLIGATOIRES / FACULTATIVES) CICS= STC du CICS DATE=Date de début de la campagne (YYYYMMJJ) TIM1=Heure de début de la campagne (HHMMSS) TIM2=Heure de fin de la campagne (HHMMSS) TRAN=Code transaction ciblé PROG=Nom du programme ciblé RECD=6D=Transactions en ABEND (enregistrements de type 6E par défaut) Si l’on ne code que les cartes obligatoires on aura, à chaque passage de transaction dans la fourchette de temps indiquée, une ligne par transaction ainsi qu’une ligne par programme exécuté par cette transaction (mais ce n’est pas vraiment l’objectif de ce programme), Si on ne code que TRAN, on aura tous les programmes utilisés par cette transaction (exemple précédent), soit une ligne de reporting pour la transaction globale et une ligne de reporting par programme (une seule ligne cumulée pour un même programme appelé plusieurs fois dans la même tâche). Si on ne code que PROG, on aura la liste de toutes les transactions qui exécutent ce programme (cartographie), soit une seule ligne de reporting par tâche. Si on code les deux, on aura que la liste des tâches dont le code transaction est mentionné et qui exécutent ce programme (une seule ligne pas passage). Si on ne code pas TIM2, on aura un report qui ira jusqu’à la fin de la journée, soit 23:59:59. CICS=CICSBPS DATE= TRAN=ZCXC TIM1=140000 TIM2=140500
6
UTILITAIRE MAINVIEW CICS BATCH de REPORTING des STATISTIQUES TRANSACTIONS et/ou PROGRAMMES CICS
CICS=CICSBPS DATE= TRAN=ZCXC TIM1=140000 TIM2=140500 Exemple de REPORT avec carte TRAN HEURE TASKID TRANID PROGRAM NOMBRE TRANSAC DB2 NAME PROGRAMME RESPONSE CPU TIME ------ 14:00:024 41057 ZCXC BSTC5101 1 CXCEP111 CXCIP110 XTTMS1 HEQ1 10 XTINT0 LTABT2 59 CXCOP110 14:00:071 41144 50 =================================================================================== == TOTAL PAR TRANSACTION ZCXC === TOTAL NB TRANS: === MOY TRANS RESP: === MOY TRANS CPU : === MOY DB2 TIME : On cherche ici à cartographier la transaction ZCXC ou à observer sa performance
7
CICS=CICSBPS DATE= PROG=HEQ1 TIM1=140000 TIM2=140500 UTILITAIRE MAINVIEW CICS BATCH de REPORTING des STATISTIQUES TRANSACTIONS et/ou PROGRAMMES CICS Exemple de REPORT avec carte PROG HEURE TASKID TRANID PROGRAM NOMBRE TRANSAC DB2 NAME PROGRAMME RESPONSE CPU TIME ------ 14:00:040 14221 ZCXC HEQ1 4 14:00:072 14266 14:00:075 14268 5 14269 2 14:00:083 14273 3 14:01:003 15590 10 14:01:012 15600 ZATE 1 14:01:015 15601 14:01:058 15726 ZPER 14:01:071 15796 14:02:017 17066 ZPOS 14:02:033 17093 Z345 14:02:034 17095 Z530 17097 14:02:065 17169 14:02:094 17248 =================================================================================== == TOTAL PAR PROGRAMME HEQ1 === TOTAL NB PROG : === MOY PROG CPU : ================================== On cherche ici à identifier l’appel du programme HEQ1
8
CICS=CICSBPS DATE= TRAN=ZCXC PROG=HEQ1 TIM1=140000 TIM2=140500 UTILITAIRE MAINVIEW CICS BATCH de REPORTING des STATISTIQUES TRANSACTIONS et/ou PROGRAMMES CICS Exemple de REPORT avec carte TRAN & carte PROG HEURE TASKID TRANID PROGRAM NOMBRE TRANSAC DB2 NAME PROGRAMME RESPONSE CPU TIME ------ 14:00:040 14221 ZCXC HEQ1 4 14:00:072 14266 14:00:075 14268 10 14269 2 14:00:083 14273 3 14:01:003 15590 14:01:012 15600 14:01:015 15601 14:01:058 15726 1 14:01:071 15796 14:02:017 17066 14:02:033 17093 14:02:034 17095 17097 =================================================================================== == TOTAL PAR TRANSACTION ZCXC == & PROGRAMME HEQ1 === TOTAL NB TRANS: === TOTAL NB PROG : === MOY TRANS RESP: === MOY TRANS CPU : === MOY PROG CPU : === MOY DB2 TIME : ==================================================== On cherche ici à observer le comportement du programme HEQ1 au sein de la transaction ZCXC
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.