Reports generated with the -P flag
The report generated with the -P flag includes the data shown in the default report and also includes a detailed report on pthread status.
The report includes the following:
- The amount of time the pthread was in application and system call mode
- The application time details
- The system calls and pthread calls that the pthread made
- The system calls and pthread calls that were pending at the end of the trace
- The processor affinity
- The number of times the pthread was dispatched
- To which CPU(s) the thread was dispatched
- The thread affinity
- The number of times that the pthread was dispatched
- To which kernel thread(s) the pthread was dispatched
The following is an example of a report generated with
the -P flag:
Report for Pthread Id: 1 (hex 1) Pid: 245962 (hex 3c0ca)
Process Name: ./pth32
---------------------
Total Application Time (ms): 3.919091
Total System Call Time (ms): 8.303156
Total Hypervisor Call Time (ms): 0.000000
Application time details:
Total Pthread Call Time (ms): 1.139372
Total Pthread Dispatch Time (ms): 0.115822
Total Pthread Idle Dispatch Time (ms): 0.036630
Total Other Time (ms): 2.627266
Pthread System Calls Summary
---------------------------
Count Total Time Avg Time Min Time Max Time SVC (Address)
(msec) (msec) (msec) (msec)
======== =========== ======== ======== ======== ================
1 3.3898 3.3898 3.3898 3.3898 _exit(409e50)
61 0.8138 0.0133 0.0089 0.0254 kread(5ffd78)
11 0.4616 0.0420 0.0262 0.0835 thread_create(407360)
22 0.2570 0.0117 0.0062 0.0373 mprotect(6d5bd8)
12 0.2126 0.0177 0.0100 0.0324 thread_setstate(40a660)
115 0.1875 0.0016 0.0012 0.0037 klseek(5ffe38)
12 0.1061 0.0088 0.0032 0.0134 sbrk(6d4f90)
23 0.0803 0.0035 0.0018 0.0072 trcgent(4078d8)
...(lines omitted)...
Pending System Calls Summary
----------------------------
Accumulated SVC (Address)
Time (msec)
============ ==========================
0.0141 thread_tsleep(40a4f8)
Pthread Calls Summary
---------------------
Count Total Time % sys Avg Time Min Time Max Time Pthread Routine
(msec) time (msec) (msec) (msec)
======== =========== ====== ======== ======== ======== ================
11 0.9545 0.01% 0.0868 0.0457 0.1833 pthread_create
8 0.0725 0.00% 0.0091 0.0064 0.0205 pthread_join
1 0.0553 0.00% 0.0553 0.0553 0.0553 pthread_detach
1 0.0341 0.00% 0.0341 0.0341 0.0341 pthread_cancel
1 0.0229 0.00% 0.0229 0.0229 0.0229 pthread_kill
Pending Pthread Calls Summary
-----------------------------
Accumulated Pthread Routine
Time (msec)
============ ===============
0.0025 pthread_join
processor affinity: 0.600000
Processor Dispatch Histogram for pthread (CPUid : times_dispatched):
CPU 0 : 4
CPU 1 : 1
total number of dispatches : 5
avg. dispatch wait time (ms): 798.449725
Thread affinity: 0.333333
Thread Dispatch Histogram for pthread (thread id : number dispatches):
Thread id 688279 : 1
Thread id 856237 : 1
Thread id 1007759 : 1
total number of pthread dispatches: 3
avg. dispatch wait time (ms): 1330.749542
Data on Interrupts that Occurred while Phread was Running
Type of Interrupt Count
=============================== ============================
Data Access Page Faults (DSI): 452
Instr. Fetch Page Faults (ISI): 0
Align. Error Interrupts: 0
IO (external) Interrupts: 0
Program Check Interrupts: 0
FP Unavailable Interrupts: 0
FP Imprecise Interrupts: 0
RunMode Interrupts: 0
Decrementer Interrupts: 2
Queued (Soft level) Interrupts: 0
The information in the pthreads summary report includes
the following:
Item | Descriptor |
---|---|
Pthread ID | The Pthread ID of the thread. |
Process ID | The Process ID that the pthread belongs to. |
Process Name | The process name, if known, that the pthread belongs to. |
Total Application Time (ms) | The amount of time, expressed in milliseconds, that the pthread spent in application mode. |
Total System Call Time (ms) | The amount of time, expressed in milliseconds, that the pthread spent in system call mode. |
The information in the application time details report
includes the following:
Item | Descriptor |
---|---|
Total Pthread Call Time | The amount of time, expressed in milliseconds, that the pthread spent in traced pthread library calls. |
Total Pthread Dispatch Time | The amount of time, expressed in milliseconds, that the pthread spent in libpthreads dispatch code. |
Total Pthread Idle Dispatch Time | The amount of time, expressed in milliseconds, that the pthread spent in libpthreads vp_sleep code. |
Total Other Time | The amount of time, expressed in milliseconds, that the pthread spent in non-traced user mode code. |
Total number of pthread dispatches | The total number of times a pthread belonging to the process was dispatched by the libpthreads dispatcher. |
Total number of pthread idle dispatches | The total number of times a thread belonging to the process was in the libpthreads vp_sleep code. |
The summary information in the report includes the following:
Item | Descriptor |
---|---|
Pthread System Calls Summary | A system call summary for the pthread; this has the same fields as the global System Call Summary. It also includes elapsed time information if the -e flag is specified and error information if the -s flag is specified. |
Pending System Calls Summary | If the pthread was executing a system call at the end of the trace, a pending system call summary will be printed. This has the Accumulated Time and Supervisor Call (SVC Address) fields. It also includes elapsed time information if the -e flag is specified. |
Pthread Hypervisor Calls Summary | A summary of the hypervisor calls for the pthread. This has the same fields as the global hypervisor calls summary. It also includes elapsed time information if the -e flag is specified. |
Pending Hypervisor Calls Summary | If the pthread was executing a hypervisor call at the end of the trace, a pending hypervisor calls summary will be printed. This has the Accumulated Time and Hypervisor Call fields. It also includes elapsed time information if the -e flag is specified. |
Pthread Calls Summary | A summary of the pthread library calls for the pthread. This has the same fields as the global pthread Calls Summary. It also includes elapsed time information if the -e flag is specified. |
Pending Pthread Calls Summary | If the pthread was executing a pthread library call at the end of the trace, a pending pthread call summary will be printed. This has the Accumulated Time and Pthread Routine fields. It also includes elapsed time information if the -e flag is specified. |
The pthreads summary report also includes the following
information:
Item | Descriptor |
---|---|
processor affinity | Probability that for any dispatch of the pthread, the pthread was dispatched to the same processor on which it last executed. |
Processor Dispatch Histogram for pthread | The number of times that the pthread was dispatched to each CPU in the system. |
avg. dispatch wait time | The average elapsed time for the pthread from being undispatched and its next dispatch. |
Thread affinity | The probability that for any dispatch of the pthread, the pthread was dispatched to the same kernel thread on which it last executed |
Thread Dispatch Histogram for pthread | The number of times that the pthread was dispatched to each kernel thread in the process. |
total number of pthread dispatches | The total number of times the pthread was dispatched by the libpthreads dispatcher. |
Data on Interrupts that occurred while Pthread was Running | The number of times each type of FLIH occurred while the pthread was executing. |