sigenable | 132 | 1627.70 | 0.00000 | 0.00000 | 0.00000 | 0.00012 |
pstat | 1 | 49.32 | 0.00010 | 0.00010 | 0.00010 | 0.00010 |
lwp_cond_broadcast | 6 | 73.99 | 0.00000 | 0.00001 | 0.00006 | 0.00008 |
ttrace | 1 | 49.32 | 0.00007 | 0.00007 | 0.00007 | 0.00007 |
open | 6 | 295.95 | 0.00001 | 0.00001 | 0.00002 | 0.00007 |
ioctl | 1 | 49.32 | 0.00004 | 0.00004 | 0.00004 | 0.00004 |
shmctl | 2 | 98.65 | 0.00000 | 0.00002 | 0.00004 | 0.00004 |
brk | 15 | 184.97 | 0.00000 | 0.00000 | 0.00000 | 0.00003 |
mpctl | 16 | 789.19 | 0.00000 | 0.00000 | 0.00000 | 0.00003 |
sigaction | 22 | 1085.13 | 0.00000 | 0.00000 | 0.00001 | 0.00003 |
close | 10 | 493.24 | 0.00000 | 0.00000 | 0.00001 | 0.00002 |
Total | 418 | 317.52 | 0.00000 | 0.01721 | 8.74711 | 8.86298 |
Interpreting the Data
For each measurement (run status, I/O, or system calls), one table is collected and printed for each process which sums the data from all threads in that process. This can cause confusion when interpreting the results.
For example:
Target | Execution Time |
| |
Real | time: | 3.149 | seconds |
User | time: | 0.689 | seconds |
System time: | 0.165 | seconds | |
... |
|
|
|
System | Usage - Run Status |
Relative | Percentage | |||||
Time | Running | Eligible | Waiting | Running | Eligible | Waiting |
Overall | 0.0904 | 0.0124 | 34.9427 | 0.26% | 0.04% | 99.71% |
This report output says that the entire program ran in 3.149 seconds, and yet 34.9427 seconds were spent waiting. This is because a lot of threads are running in this program and the sum of all of their wait times is 34.9427 seconds.
Attaching to a Running Process to Perform Precise Measurements
You can attach to a running process for precise measurements (which use dynamic instrumentation) until the process ends. The dependent shared libraries of the program must be mapped as private before you can attach to the process to add instrumentation.
Enable private mapping of the shared libraries by using the chatr(1) command with the +dbg enable option on the program file.
You can attach to the process for these measurements:
•cgprof
•fcount
•fcover
To attach to a process, you must specify the process ID (PID). The syntax is:
caliper measurement [options] pid
For example:
$ caliper cgprof 7654
To perform precise measurements of a process:
1.Run chatr(1) with the +dbg enable option on the program you want to measure. For example:
$ chatr +dbg enable ./myprog
160 HP Caliper Features Specific to