IDAA CPU Time Data Elements Precision Improvement in DB26945
search cancel

IDAA CPU Time Data Elements Precision Improvement in DB26945

book

Article ID: 383668

calendar_today

Updated On:

Products

MICS Resource Management

Issue/Introduction

MICS product change, DB26945, improves the precision of several MICS IDAA CPU Time Data Elements.  

Specifically, 

DSUXAELA - IDAA Elapsed Time             
DSUXAWAT - IDAA Wait Time                
DSUXSCPU - IDAA Services CPU Time        
DSUXSELA - IDAA Services Elapsed Time    
DSUXACPU - IDAA CPU Time                 
DSUXDPWT - IDAA Delay Protocol Wait Time

Prior to DB26945, the initial problem was believed to be where the IDAA data elements were wrong by a factor of 4096.
However, after further investigation, this was determined to not be the case. 
When comparing MICS values to IBM OMEGAMON reports, a difference was noticed where MICS values differ from IBM values, usually at the 4th decimal point.

After researching how MICS is inputting or modifying the raw fields (inputting with MAMSEC, then multiplying by 4096), it became obvious that MAMSEC divides a binary field by 4,096,000,000.
Multiplying by 4096 means the net result is that the original binary field is divided by 1,000,000.
A simpler approach would be to read the original raw field using PIB8.6 INFORMAT.
When using this method (inputting with PIB8.6), it was determined that the numbers more closely match IBM’s.
Ultimately, performing a single operation (dividing by 1,000,000) helps avoid intermediary rounding and truncation issues.

Here are some examples of our "before" and "after" results:
                                                             
     DSUXAWAT   OLDX.DB2DSU01=0:00:00.002816  NEWX.DB2DSU01=0:00:00.002995                    
     DSUXAWAT   OLDX.DB2DSU01=0:00:00.003072  NEWX.DB2DSU01=0:00:00.003217                    
     DSUXAWAT   OLDX.DB2DSU01=0:00:00.003328  NEWX.DB2DSU01=0:00:00.003366                    
     DSUXAWAT   OLDX.DB2DSU01=0:00:00.003072  NEWX.DB2DSU01=0:00:00.003152                    
     DSUXAELA   OLDX.DB2DSU01=0:00:00.021760  NEWX.DB2DSU01=0:00:00.022003                    
     DSUXAWAT   OLDX.DB2DSU01=0:00:00.005888  NEWX.DB2DSU01=0:00:00.006043                    
     DSUXAELA   OLDX.DB2DSU01=0:00:00.018176  NEWX.DB2DSU01=0:00:00.018285                    
     DSUXAWAT   OLDX.DB2DSU01=0:00:00.005120  NEWX.DB2DSU01=0:00:00.005374                    
     DSUXACPU   OLDX.DB2DSU01=0:00:00.058368  NEWX.DB2DSU01=0:00:00.058606                    
     DSUXAELA   OLDX.DB2DSU01=0:00:00.017408  NEWX.DB2DSU01=0:00:00.017569                    

In summary, the MICS database is not corrupted with incorrect values; instead, the method used to convert raw data values to MICS data elements introduces some precision issues.
This is similar to problems where the LENGTH assigned to numeric data elements is too small.
By using the PIB8.6 input method, MICS improves the precision, and in all cases, any old values are slightly understated, usually in the 4th decimal place.
After making this input method change, the MICS numbers more closely match IBM OMEGAMON report numbers.

Environment

MICS Analyzer Option for DB2 r14.4
MICS Analyzer Option for DB2 r14.3

Resolution

DB26945 - IDAA CPU Time Data Elements Improved Precision