HP Caliper User Guide Release 5.5 (5900-2351, August 2012)

Example 4 Sample cstack Report - Blocking Primitives Details
Blocking Primitives Details (All Threads)
------------------------------------------------------------------------------------------------
Sample Callpath Holder's
% Total Sample Sample Sample Hits Index Kernel
Hits Hits Hits Hits Blocking For Holder Holder Thread
Waiting Waiting Spinning Blocked Primitive --For Waiter --Waiter ID
------------------------------------------------------------------------------------------------
20.00 20 0 20 mutex@counter_lock1
20 0 4206064@t1func
20 2
10.00 10 0 10 mutex@counter_lock2
10 3 4206065@t2func
10 4
------------------------------------------------------------------------------------------------
[Minimum primitives: 10, Percent cutoff: 1.00, cumulative percent cutoff: 100.00]
Hot Call Paths (All Threads)
-------------------------------------------------------------
--% Total Hits In Only--
Run + Run Block
Index Block Hits Hits Name
Hits Only Only
-------------------------------------------------------------
0 30.0 0.0 30.0 libc.so.1::__sigtimedwait_sys [2]
libc.so.1::sigtimedwait [4]
libc.so.1::_sleep [3]
mutex.hpux.64::t1func [8]
libpthread.so.1::__pthread_bound_body [6]
-------------------------------------------------------------
1 20.0 0.0 20.0 libc.so.1::__sigtimedwait_sys [2]
libc.so.1::sigtimedwait [4]
libc.so.1::_sleep [3]
mutex.hpux.64::main [5]
dld.so::main_opd_entry [7]
-------------------------------------------------------------
2 20.0 0.0 20.0 libc.so.1::__ksleep { mutex@counter_lock1 } [9]
libpthread.so.1::__mxn_sleep [13]
libpthread.so.1::*unnamed@0x400000000006(8bf0-e480)* [12]
libpthread.so.1::pthread_mutex_lock [11]
mutex.hpux.64::mfunc [10]
mutex.hpux.64::main [5]
dld.so::main_opd_entry [7]
-------------------------------------------------------------
3 20.0 0.0 20.0 libc.so.1::__sigtimedwait_sys [2]
libc.so.1::sigtimedwait [4]
libc.so.1::_sleep [3]
mutex.hpux.64::t2func [14]
libpthread.so.1::__pthread_bound_body [6]
-------------------------------------------------------------
4 10.0 0.0 10.0 libc.so.1::__ksleep { mutex@counter_lock2 } [9]
libpthread.so.1::__mxn_sleep [13]
libpthread.so.1::*unnamed@0x400000000006(8bf0-e480)* [12]
libpthread.so.1::pthread_mutex_lock [11]
mutex.hpux.64::mfunc [10]
mutex.hpux.64::main [5]
dld.so::main_opd_entry [7]
-------------------------------------------------------------
[Minimum function entries: 5, percent cutoff: 1.00, cumulative percent cutoff: 100.00]
The 'Blocking Primitives Details' section has holder and waiter thread details for a mutex. For other
primitives, holder and waiter details will not be reported. In an application, a mutex can be held
by many threads, and while a thread is holding a mutex, there may be many waiter threads.
Activity of holder and waiter threads is reported with their call-paths, indexed in the 'Hot Call
Paths' section. A holder thread is reported with a kernel thread ID suffixed with the the name of
the routine that the thread will execute once it is created.
Hot Call Paths Part of the Report
This section reports the hottest call paths. A call path represents a subset of the program's execution.
The Hot Call Paths section reports the percentage of program's real time that is attributed to specific
call paths. You can use the --callpath-cutoff option to specify cutoff values that limit the hot
call paths reported in this section. You can also use the --sort-by option to specify the metric
you want to be used for sorting and cutoffs. See “--callpath-cutoff ” (page 55) and “--sort-by
(page 71).
You can designate one or more functions as being of no interest using the --skip-functions
option. If a call stack sample contains this function as a leaf routine, it will be skipped while
reporting the call stack profile. See “--skip-functions ” (page 71).
Call Stack Profile Report Details 149