[ Previous | Next | Table of Contents | Index | Library Home | Legal | Search ]

Technical Reference: Base Operating System and Extensions, Volume 1

pm_set_program_group Subroutine


Sets Performance Monitor programmation for a target thread and creates a counting group.


Performance Monitor APIs Library (libpmapi.a)


#include <pmapi.h>

int pm_set_program_group ( pid, tid, *prog)
pid_t pid;
tid_t tid;
pm_prog_t *prog;


The pm_set_program_group subroutine sets the Performance Monitor programmation for a target kernel thread. The thread must be stopped and must be part of a debuggee process, under the control of the calling process. The setting includes the events to be counted and a mode in which to count. The events to count are in a list of event identifiers. The identifiers must be selected from the lists returned by the pm_init subroutine.

This call also creates a counting group, which includes the target thread and any thread which it, or any of its descendants, will create in the future. Optionally, the group can be defined as also containing all the existing and future threads belonging to the target process.

The counting mode includes User Mode and/or Kernel Mode, and the Initial Counting State. The defaults are set to Off for User Mode and Kernel Mode, and the initial default state is set to delay counting until the pm_start_group subroutine is called.

If the list includes an event which can be used with a threshold (as indicated by the pm_init subroutine), a threshold value can also be specified.


pid Process ID of target thread. Target process must be a debuggee of a calling process.
tid Thread ID of target thread.

Counts processes running in User Mode (default is set to Off)

Counts processes running in Kernel Mode (default is set to Off)

Starts counting immediately (default is set to Not to Start Counting)

Creates a process-level counting group

Return Values

0 Operation completed successfully.
Positive Error Code Refer to the pm_error (pm_error Subroutine) subroutine to decode the error code.

Error Codes

Refer to the pm_error (pm_error Subroutine) subroutine.


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

Related Information

The pm_init (pm_init Subroutine) subroutine, pm_error (pm_error Subroutine) subroutine, pm_get_program_group (pm_get_program_group Subroutine) subroutine, pm_delete_program_group (pm_delete_program_group Subroutine) subroutine, pm_get_data_group (pm_get_data_group Subroutine) subroutine, pm_start_group (pm_start_group Subroutine) subroutine, pm_stop_group (pm_stop_group Subroutine) subroutine, pm_reset_data_group (pm_reset_data_group Subroutine) subroutine.

Performance Monitor API Programming Concepts in AIX 5L Version 5.1 General Programming Concepts.

[ Previous | Next | Table of Contents | Index | Library Home | Legal | Search ]