pm_start_pthread and pm_tstart_pthread Subroutine

Purpose

Starts Performance Monitor counting for a target pthread.

Library

Performance Monitor APIs Library (libpmapi.a)

Syntax

#include <pmapi.h>

int pm_start_pthread ( pid,  tid,  ptid)
pid_t pid;
tid_t tid;
ptid_t ptid;  

int pm_start_pthread ( pid,  tid,  ptid, *time)
pid_t pid;
tid_t tid;
ptid_t ptid;  
timebasestruct_t *time

Description

The pm_start_pthread subroutine starts Performance Monitor counting for a target pthread. The pthread must be stopped and must be part of a debuggee process, under the control of the calling process. Counting is effective immediately unless the thread is in a group and the group counting is not currently set to On. The counting state of a thread in a group is obtained by ANDing the thread counting state with the group state.

The pm_tstart_pthread subroutine starts Performance Monitor counting for a target pthread, and returns a timestamp indicating when the counting was started.

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.

Parameters

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.
*time Pointer to a structure containing the timebase value when the counting was started. This can be converted to time using the time_base_to_time subroutine.

Return Values

Item Description
0 Operation completed successfully.
Positive error code Refer to the pm_error Subroutine to decode the error code.

Error Codes

Refer to the pm_error Subroutine.

Files

Item Description
/usr/include/pmapi.h Defines standard macros, data types, and subroutines.