API characteristics
Five types of APIs are available. Global types return global metrics related to a set of components, while individual types return metrics related to individual components. Both types of interfaces have similar signatures, but slightly different behavior.
AIX supports different types of APIs such as WPAR and RSET. WPAR
types return usage metrics related to a set of components or individual
components specific to a workload partition (WPAR). RSET types return
usage metrics of processors that belong to an RSET. With AIX® Version 6.1 Technology Level (TL)
6, a new type of APIs, called as NODE is available. The NODE types
return usage metrics that re related to a set of components or individual
components specific to a remote node in a cluster. The perfstat_config
(PERFSTAT_ENABLE
| PERFSTAT_CLUSTER_STATS
, NULL
) must be
used to enable the remote node statistics collection (that is available
in a cluster environment).
All the interfaces return raw data; that is, values of running counters. Multiple calls must be made at regular intervals to calculate rates.
Several interfaces return data retrieved from the ODM (object data manager) database. This information is automatically cached into a dictionary that is assumed to be "frozen" after it is loaded. The perfstat_reset subroutine must be called to clear the dictionary whenever the system configuration has changed. In order to do a more selective reset, you can use the perfstat_partial_reset function. For more details, see the Cached metrics interfaces section.
Most types returned are unsigned long long; that is, unsigned 64 bit data.
Excessive and redundant calls to Perfstat APIs in a short time span can have a performance impact because time-consuming statistics collected by them are not cached.
For examples of API characteristics, see the sample programs in
the /usr/samples/libperfstat
directory. All of the
sample programs can be compiled using the provided makefile (/usr/samples/libperfstat/Makefile.samples
).