PMAPI_INTERNAL(3)

πŸ“¦
version 7.2.2 Β· 4 versions
, in arch rolling, centos-stream 10, fedora 43, fedora 44, ubuntu resolute, ubuntu stonking

πŸ’– PMAPI_INTERNAL πŸ’–

okay bestie, welcome to the internal manual page β€” PMAPI_INTERNAL(3) from the Library Functions Manual 🫢 this is the backstage pass, the group chat only the devs are in, so let's get into it ✨


🌸 NAME 🌸

PMAPI_INTERNAL β€” internal details for the Performance Metrics Application Programming Interface πŸ‘‘


✨ C SYNOPSIS ✨

like, here's the whole vibe, verbatim, no cap:

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

 ... assorted routines ...

cc ... -lpcp

🚨 CAVEAT 🚨

listen, this is not a drill. 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. so yeah, it's giving "use at your own risk", fr fr.


πŸ¦‹ DESCRIPTION πŸ¦‹

Refer to PMAPI(3) for general information about the external interfaces defined in <pcp/pmapi.h>. The interfaces described here assume that context β€” like, they're literally standing on that context's shoulders πŸ’…


🧚 MULTI-THREADED APPLICATIONS 🧚

okay so this is the big one, and the tea is spicy 🌢️

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. not me getting caught lacking by the error code πŸ™ˆ

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


and that's the whole page, bestie, you ate it πŸ’…βœ¨

Performance Co-Pilot Β· PCP Β· PMAPI_INTERNAL(3) β€” mwah, xoxo, go read PMAPI(3) next πŸŒˆπŸŽ€πŸ¦‹

πŸ“¦ where this page comes from