Returns Performance Monitor data for a target pthread.
Performance Monitor APIs Library (libpmapi.a)
#include <pmapi.h>
int pm_get_data_pthread (pid, tid, ptid, *pmdata)
pid_t pid;
tid_t tid;
ptid_t ptid;
pm_data_t *pmdata;
int pm_get_tdata_pthread (pid, tid, ptid, *pmdata, *time)
pid_t pid;
tid_t tid;
ptid_t ptid;
pm_data_t *pmdata;
timebasestruct_t *time;
int pm_get_Tdata_pthread (pid, tid, ptid,*pmdata, * times)
pid_t pid;
tid_t tid;
ptid_t ptid;
pm_data_t *pmdata;
pm_accu_time_t *times;
The pm_get_data_pthread subroutine retrieves the current Performance Monitor data for a target pthread. The pthread must be stopped and must be part of a debuggee process under the control of a calling process.
The pm_get_tdata_pthread subroutine retrieves the current Performance Monitor data for a target pthread, and a timestamp indicating the last time the hardware counters were read.
The pm_get_Tdata_pthread subroutine retrieves the current Performance Monitor data for a target pthread, and the accumulated time (timebase, PURR time and SPURR time) the events were counted.
If the pthread is running in 1:1 mode, only the tid parameter must be specified. If the pthread is running in m:n mode, only the ptid parameter must be specified. If both the ptid and tid parameters are specified, they must be referring to a single pthread with the ptid parameter specified and currently running on a kernel thread with specified tid parameter.
The Performance Monitor data is always a set (one per hardware counter on the machine used) of 64-bit values.
Item | Description |
---|---|
pid | Process ID of target pthread. Target process must be a debuggee of the caller process. |
tid | Thread ID of target pthread. To ignore this parameter, set it to 0. |
ptid | Pthread ID of the target pthread. To ignore this parameter, set it to 0. |
*pmdata | Pointer to a structure to return the Performance Monitor data for the target pthread. |
*time | Pointer to a structure containing the timebase value the last time the hardware Performance Monitoring counters were read. This can be converted to time using the time_base_to_time subroutine. |
*times | Pointer to a structure containing the accumulated time (timebase, PURR time and SPURR time) the events were counted. Each time counter can be converted to time using the time_base_to_time subroutine. |
Item | Description |
---|---|
0 | No errors occurred. |
Positive error code | Refer to the pm_error Subroutine to decode the error code. |
Refer to the pm_error Subroutine.
Item | Description |
---|---|
/usr/include/pmapi.h | Defines standard macros, data types, and subroutines. |