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 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

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
Starts counting immediately (default is set to Not to Start Counting)
PM_PROCTREE
Sets counting to On only for the calling process and its descendants (default is set to Off)

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.