oracular (3) PMAPI_INTERNAL.3.gz

Provided by: libpcp3-dev_6.3.0-1_amd64 bug

NAME

       PMAPI_INTERNAL - internal details for the Performance Metrics Application Programming Interface

C SYNOPSIS

       #include "pmapi.h"
       #include "libpcp.h"

        ... assorted routines ...

       cc ... -lpcp

CAVEAT

       This documentation is intended for internal Performance Co-Pilot (PCP) developer use.

       These  interfaces  are  not part of the PCP APIs that are guaranteed to remain fixed across releases, and
       they may not work, or may provide different semantics at some point in the future.

DESCRIPTION

       Refer to PMAPI(3) for general information about the external interfaces defined  in  <pcp/pmapi.h>.   The
       interfaces described here assume that context.

MULTI-THREADED APPLICATIONS

       The  following  groups of internal functions and services in libpcp are restricted to being called from a
       single-thread, and this is enforced by returning PM_ERR_THREAD when an attempt to call  the  routines  in
       each group from more than one thread is detected.

       1.  The  interval  timer  services  use  global  state  with semantics that demand it is only used in the
           context  of   a   single   thread,   so   __pmAFregister(3),   __pmAFunregister(3),   __pmAFblock(3),
           __pmAFunblock(3) and __pmAFisempty(3).

       2.  The  following access control manipulation routines that are principally intended for single-threaded
           applications:    __pmAccAddOp,    __pmAccSaveHosts,    __pmAccRestoreHosts,    __pmAccFreeSavedHosts,
           __pmAccAddHost, __pmAccAddClient, __pmAccDelClient and __pmAccDumpHosts.

       3.  The  following routines that identify pmlogger control ports and are principally intended for single-
           threaded applications: __pmLogFindPort and __pmLogFindLocalPorts.

SEE ALSO

       PMAPI(3).