pm_set_program Subroutine

Purpose

Sets system wide Performance Monitor programmation.

Library

Performance Monitor APIs Library (libpmapi.a)

Syntax

#include <pmapi.h>

int pm_set_program ( *prog)
pm_prog_t *prog; 

Description

The pm_set_program subroutine sets system wide Performance Monitor programmation. 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 that are returned by the pm_init subroutine.

The counting mode includes User Mode and/or Kernel Mode, the Initial Counting State, and the Process Tree Mode. The Process Tree Mode sets counting to On only for the calling process and its descendants. The defaults are set to Off for User Mode and Kernel Mode. The initial default state is set to delay counting until the pm_start subroutine is called, and to count the activity of all the processes running in the system.

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.

On some platforms, event groups can be specified instead of individual events. This is done by setting the bitfield is_group in the mode, and placing the group ID into the first element of the events array. (The group ID was obtained by pm_init).

Parameters

Table 1. Parameters
Item Description
*prog Specifies the events and modes to use in Performance Monitor setup. The following modes are supported:
PM_USER
Counts processes running in User Mode (default is set to Off)
PM_KERNEL
Counts processes running in Kernel Mode (default is set to Off)
PM_COUNT
Counts immediately (default is set to Not Start Counting)
PM_PROCTREE
Sets counting to On only for the calling process and its descendants (default is set to Off)

Return Values

Table 2. 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

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