Understanding the heap pools trace LEDATA output

The Language Environment IPCS VERBEXIT LEDATA generates a detailed heap pools trace report when the HPT option is used (see Figure 1. The argument value is the ID of the pool to be formatted in the report. Table 1 explains the contents of each section of the report.

Figure 1. Example of formatted detailed heap pools trace report from LEDATA VERBEXIT (AMODE 64) (Part 1 of 5)
     HPT(3)                                                                        
     ******************************************************************************
                   64 BIT LANGUAGE ENVIRONMENT DATA                           
     ******************************************************************************
                                                                              
     Language Environment Product 04 V01 R0A.00                                   
                                                                              
 [1] HEAPPOOLS64 Trace Table                                                      
                                                                              
 [2] POOLID: 3  ASID: 001F  AVAILABLE ENTRIES: 12 OF 12                           
                                                                              
 [3] Timestamp: 2008/03/14           18:20:40.239878                              
     Type: FREE  Cell Address: 00000001086588E0  Cpuid: 01  Tcb: 008D7820         
 [4] CALL NAME                           CALL ADDRESS       CALL OFFSET           
     GetStorage::~GetStorage()           0000000025B001B0   00000056              
     foo8()                              0000000025B00348   0000006A              
     foo7()                              0000000025B003D8   00000010              
     foo6()                              0000000025B00410   00000010              
     foo5()                              0000000025B00448   00000010              
     foo4()                              0000000025B00480   00000010              
     foo3()                              0000000025B004B8   00000010              
     foo2()                              0000000025B004F0   00000010              
     foo1()                              0000000025B00528   00000010              
     thread                              0000000025B005C8   00000000              
                                                                              
     Timestamp: 2008/03/14           18:20:40.239875                              
     Type: FREE  Cell Address: 0000000108658970  Cpuid: 01  Tcb: 008D7820         
     CALL NAME                           CALL ADDRESS       CALL OFFSET           
     GetStorage::~GetStorage()           0000000025B001B0   00000056              
     foo9()                              0000000025B00260   0000006E              
     foo8()                              0000000025B00348   00000046              
     foo7()                              0000000025B003D8   00000010              
     foo6()                              0000000025B00410   00000010              
     foo5()                              0000000025B00448   00000010              
     foo4()                              0000000025B00480   00000010              
     foo3()                              0000000025B004B8   00000010     
     foo2()                              0000000025B004F0   00000010     
     foo1()                              0000000025B00528   00000000 
Figure 2. Example of formatted detailed heap pools trace report from LEDATA VERBEXIT (AMODE 64) (Part 2 of 5)
 Timestamp: 2008/03/14           18:20:40.239873                     
 Type: GET   Cell Address: 0000000108658970  Cpuid: 01  Tcb: 008D7820
 CALL NAME                           CALL ADDRESS       CALL OFFSET  
 GetStorage::GetStorage(int)         0000000025B00118   00000058     
 foo9()                              0000000025B00260   0000003A     
 foo8()                              0000000025B00348   00000046     
 foo7()                              0000000025B003D8   00000010     
 foo6()                              0000000025B00410   00000010     
 foo5()                              0000000025B00448   00000010     
 foo4()                              0000000025B00480   00000010     
 foo3()                              0000000025B004B8   00000010     
 foo2()                              0000000025B004F0   00000010     
 foo1()                              0000000025B00528   00000000
 
 Timestamp: 2008/03/14           18:20:40.239870                     
 Type: GET   Cell Address: 00000001086588E0  Cpuid: 01  Tcb: 008D7820
 CALL NAME                           CALL ADDRESS       CALL OFFSET  
 GetStorage::GetStorage(int)         0000000025B00118   00000058     
 foo8()                              0000000025B00348   00000036     
 foo7()                              0000000025B003D8   00000010     
 foo6()                              0000000025B00410   00000010     
 foo5()                              0000000025B00448   00000010     
 foo4()                              0000000025B00480   00000010     
 foo3()                              0000000025B004B8   00000010     
 foo2()                              0000000025B004F0   00000010     
 foo1()                              0000000025B00528   00000010     
 thread                              0000000025B005C8   00000000     
                                                                     
 Timestamp: 2008/03/14           18:20:40.238024                     
 Type: FREE  Cell Address: 00000001086588E0  Cpuid: 01  Tcb: 008D7AD0
 CALL NAME                           CALL ADDRESS       CALL OFFSET  
 GetStorage::~GetStorage()           0000000025B001B0   00000056     
 foo8()                              0000000025B00348   0000006A     
 foo7()                              0000000025B003D8   00000010     
 foo6()                              0000000025B00410   00000010     
 foo5()                              0000000025B00448   00000010     
 foo4()                              0000000025B00480   00000010     
 foo3()                              0000000025B004B8   00000010     
 foo2()                              0000000025B004F0   00000010     
 foo1()                              0000000025B00528   00000010     
 thread                              0000000025B005C8   00000000     
                                                                     
 Timestamp: 2008/03/14           18:20:40.238021                     
 Type: FREE  Cell Address: 0000000108658970  Cpuid: 01  Tcb: 008D7AD0
 CALL NAME                           CALL ADDRESS       CALL OFFSET  
 GetStorage::~GetStorage()           0000000025B001B0   00000056     
 foo9()                              0000000025B00260   0000006E     
 foo8()                              0000000025B00348   00000046     
 foo7()                              0000000025B003D8   00000010     
 foo6()                              0000000025B00410   00000010     
 foo5()                              0000000025B00448   00000010     
 foo4()                              0000000025B00480   00000010     
 foo3()                              0000000025B004B8   00000010     
 foo2()                              0000000025B004F0   00000010     
 foo1()                              0000000025B00528   00000000     
                                                                     
 Timestamp: 2008/03/14           18:20:40.238016                     
 Type: GET   Cell Address: 0000000108658970  Cpuid: 01  Tcb: 008D7AD0
 CALL NAME                           CALL ADDRESS       CALL OFFSET  
 GetStorage::GetStorage(int)         0000000025B00118   00000058     
 foo9()                              0000000025B00260   0000003A     
 foo8()                              0000000025B00348   00000046     
 foo7()                              0000000025B003D8   00000010     
 foo6()                              0000000025B00410   00000010     
 foo5()                              0000000025B00448   00000010     
 foo4()                              0000000025B00480   00000010     
 foo3()                              0000000025B004B8   00000010     
 foo2()                              0000000025B004F0   00000010     
 foo1()                              0000000025B00528   00000000     
Figure 3. Example of formatted detailed heap pools trace report from LEDATA VERBEXIT (AMODE 64) (Part 3 of 5)
Timestamp: 2008/03/14           18:20:40.238013                     
 Type: GET   Cell Address: 00000001086588E0  Cpuid: 01  Tcb: 008D7AD0
 CALL NAME                           CALL ADDRESS       CALL OFFSET  
 GetStorage::GetStorage(int)         0000000025B00118   00000058     
 foo8()                              0000000025B00348   00000036     
 foo7()                              0000000025B003D8   00000010  
 foo6()                              0000000025B00410   00000010     
 foo5()                              0000000025B00448   00000010     
 foo4()                              0000000025B00480   00000010     
 foo3()                              0000000025B004B8   00000010     
 foo2()                              0000000025B004F0   00000010     
 foo1()                              0000000025B00528   00000010     
 thread                              0000000025B005C8   00000000     
                                                                     
 Timestamp: 2008/03/14           18:20:40.158670                     
 Type: GET   Cell Address: 0000000108658850  Cpuid: 01  Tcb: 008FF038
 CALL NAME                           CALL ADDRESS       CALL OFFSET  
 CEEOPMI                             0000000025D95900   00000C8C     
 CEEOPC                              0000000025D588C0   00001672     
 pthread_create                      0000000025D6F7E8   00000628     
 main                                0000000025B00640   000000AE     
 CELQINIT                            0000000025B04010   00000000     
                                                                     
 Timestamp: 2008/03/14           18:20:40.140382                     
 Type: GET   Cell Address: 00000001086587C0  Cpuid: 01  Tcb: 008FF038
 CALL NAME                           CALL ADDRESS       CALL OFFSET  
 CEEOPMI                             0000000025D95900   00000C8C     
 pthread_mutex_init                  000000002604E6E0   0000005C     
 pthread_create                      0000000025D6F7E8   0000033A     
 main                                0000000025B00640   000000AE     
 CELQINIT                            0000000025B04010   00000000     
                                                                     
 Timestamp: 2008/03/14           18:20:40.140373                     
 Type: GET   Cell Address: 0000000108658730  Cpuid: 01  Tcb: 008FF038
 CALL NAME                           CALL ADDRESS       CALL OFFSET  
 CEEOPMI                             0000000025D95900   00000C8C     
 pthread_mutex_init                  000000002604E6E0   0000005C     
 pthread_create                      0000000025D6F7E8   000002A2     
 main                                0000000025B00640   000000AE     
 CELQINIT                            0000000025B04010   00000000     
                                                                     
 Timestamp: 2008/03/14           18:20:40.023500                     
 Type: GET   Cell Address: 00000001086586A0  Cpuid: 01  Tcb: 008FF038
 CALL NAME                           CALL ADDRESS       CALL OFFSET  
 dllinit                             0000000025B767B8   00000090     
 CEEZIDT                             0000000025CE0738   00000ADC     
 CELQINMN                            0000000025CEA830   00000F52     
 CELQINIT                            0000000025B04010   00000000     
                                                                     
 HEAPPOOLS Trace Table                                               
                                                                     
 POOLID: 3  ASID: 001F  AVAILABLE ENTRIES: 8 OF 8                    
                                                                     
 Timestamp: 2008/03/14           18:20:40.239877                     
 Type: FREE  Cell Address: 000000002635E058  Cpuid: 01  Tcb: 008D7820
 CALL NAME                           CALL ADDRESS       CALL OFFSET  
 GetStorage::~GetStorage()           0000000025B001B0   0000003A     
 foo8()                              0000000025B00348   0000006A     
 foo7()                              0000000025B003D8   00000010     
 foo6()                              0000000025B00410   00000010     
 foo5()                              0000000025B00448   00000010     
 foo4()                              0000000025B00480   00000010     
 foo3()                              0000000025B004B8   00000010     
 foo2()                              0000000025B004F0   00000010     
 foo1()                              0000000025B00528   00000010     
 thread                              0000000025B005C8   00000000     
Figure 4. Example of formatted detailed heap pools trace report from LEDATA VERBEXIT (AMODE 64) (Part 4 of 5)
 Timestamp: 2008/03/14           18:20:40.239874                     
 Type: FREE  Cell Address: 000000002635E0E0  Cpuid: 01  Tcb: 008D7820
 CALL NAME                           CALL ADDRESS       CALL OFFSET  
 GetStorage::~GetStorage()           0000000025B001B0   0000003A     
 foo9()                              0000000025B00260   0000006E     
 foo8()                              0000000025B00348   00000046     
 foo7()                              0000000025B003D8   00000010     
 foo6()                              0000000025B00410   00000010     
 foo5()                              0000000025B00448   00000010     
 foo4()                              0000000025B00480   00000010     
 foo3()                              0000000025B004B8   00000010     
 foo2()                              0000000025B004F0   00000010     
 foo1()                              0000000025B00528   00000000     
                                                                     
 Timestamp: 2008/03/14           18:20:40.239872                     
 Type: GET   Cell Address: 000000002635E0E0  Cpuid: 01  Tcb: 008D7820
 CALL NAME                           CALL ADDRESS       CALL OFFSET  
 GetStorage::GetStorage(int)         0000000025B00118   0000002E     
 foo9()                              0000000025B00260   0000003A     
 foo8()                              0000000025B00348   00000046     
 foo7()                              0000000025B003D8   00000010     
 foo6()                              0000000025B00410   00000010     
 foo5()                              0000000025B00448   00000010     
 foo4()                              0000000025B00480   00000010     
 foo3()                              0000000025B004B8   00000010     
 foo2()                              0000000025B004F0   00000010     
 foo1()                              0000000025B00528   00000000     
                                                                     
 Timestamp: 2008/03/14           18:20:40.239869                     
 Type: GET   Cell Address: 000000002635E058  Cpuid: 01  Tcb: 008D7820
 CALL NAME                           CALL ADDRESS       CALL OFFSET  
 GetStorage::GetStorage(int)         0000000025B00118   0000002E     
 foo8()                              0000000025B00348   00000036     
 foo7()                              0000000025B003D8   00000010     
 foo6()                              0000000025B00410   00000010     
 foo5()                              0000000025B00448   00000010     
 foo4()                              0000000025B00480   00000010     
 foo3()                              0000000025B004B8   00000010     
 foo2()                              0000000025B004F0   00000010     
 foo1()                              0000000025B00528   00000010     
 thread                              0000000025B005C8   00000000     
                                                                     
 Timestamp: 2008/03/14           18:20:40.238023                     
 Type: FREE  Cell Address: 000000002635E058  Cpuid: 01  Tcb: 008D7AD0
 CALL NAME                           CALL ADDRESS       CALL OFFSET  
 GetStorage::~GetStorage()           0000000025B001B0   0000003A     
 foo8()                              0000000025B00348   0000006A     
 foo7()                              0000000025B003D8   00000010     
 foo6()                              0000000025B00410   00000010     
 foo5()                              0000000025B00448   00000010     
 foo4()                              0000000025B00480   00000010     
 foo3()                              0000000025B004B8   00000010     
 foo2()                              0000000025B004F0   00000010     
 foo1()                              0000000025B00528   00000010     
 thread                              0000000025B005C8   00000000 
 
Timestamp: 2008/03/14           18:20:40.238018                     
 Type: FREE  Cell Address: 000000002635E0E0  Cpuid: 01  Tcb: 008D7AD0
 CALL NAME                           CALL ADDRESS       CALL OFFSET  
 GetStorage::~GetStorage()           0000000025B001B0   0000003A     
 foo9()                              0000000025B00260   0000006E     
 foo8()                              0000000025B00348   00000046     
 foo7()                              0000000025B003D8   00000010     
 foo6()                              0000000025B00410   00000010     
 foo5()                              0000000025B00448   00000010     
 foo4()                              0000000025B00480   00000010     
 foo3()                              0000000025B004B8   00000010     
 foo2()                              0000000025B004F0   00000010     
 foo1()                              0000000025B00528   00000000 
Figure 5. Example of formatted detailed heap pools trace report from LEDATA VERBEXIT (AMODE 64) (Part 5 of 5)
 Timestamp: 2008/03/14           18:20:40.238015                     
 Type: GET   Cell Address: 000000002635E0E0  Cpuid: 01  Tcb: 008D7AD0
 CALL NAME                           CALL ADDRESS       CALL OFFSET  
 GetStorage::GetStorage(int)         0000000025B00118   0000002E     
 foo9()                              0000000025B00260   0000003A     
 foo8()                              0000000025B00348   00000046     
 foo7()                              0000000025B003D8   00000010     
 foo6()                              0000000025B00410   00000010     
 foo5()                              0000000025B00448   00000010     
 foo4()                              0000000025B00480   00000010     
 foo3()                              0000000025B004B8   00000010     
 foo2()                              0000000025B004F0   00000010     
 foo1()                              0000000025B00528   00000000     
                                                                     
 Timestamp: 2008/03/14           18:20:40.238005                     
 Type: GET   Cell Address: 000000002635E058  Cpuid: 01  Tcb: 008D7AD0
 CALL NAME                           CALL ADDRESS       CALL OFFSET  
 GetStorage::GetStorage(int)         0000000025B00118   0000002E      
 foo8()                              0000000025B00348   00000036      
 foo7()                              0000000025B003D8   00000010      
 foo6()                              0000000025B00410   00000010      
 foo5()                              0000000025B00448   00000010      
 foo4()                              0000000025B00480   00000010      
 foo3()                              0000000025B004B8   00000010      
 foo2()                              0000000025B004F0   00000010      
 foo1()                              0000000025B00528   00000010      
 thread                              0000000025B005C8   00000000      
Exiting Language Environment Data                                                       
Table 1. Contents of a detailed heap pools trace report from LEDATA VERBEXIT (AMODE 64)
Section Number and Heading Contents
[1] Trace Header HEAPPOOLS64 trace header information.
[2] Pool Information Includes the number of the pool (pool ID) that is currently being formatted, the ASID, the number of entries formatted, and the total number of entries taken. The trace wraps for each pool ID after a specific number of entries. The number of entries is controlled by the HEAPCHK runtime option.
[3] Timestamp The time this trace entry was taken. The trace entries are formatted in reverse order (most recent trace entry first).
[4] Trace Table Entry contents The individual trace entry, which contains:
  • The TYPE - GET or FREE.
  • The Cell within the pool being acted upon.
  • The CPU and TCB that requested or freed the cell.
  • A traceback at the time of the request. The number of entries in this traceback is limited by the HEAPCHK runtime option.