Provided by: pcp_3.5.11_amd64 bug

NAME

       pmdaEventNewClient, pmdaEventEndClient, pmdaEventClients - client context tracking
       interfaces for event queues

C SYNOPSIS

       #include <pcp/pmapi.h>
       #include <pcp/impl.h>
       #include <pcp/pmda.h>

       int pmdaEventNewClient(int context);
       int pmdaEventEndClient(int context);
       int pmdaEventClients(pmAtomValue *avp);

       cc ... -lpcp_pmda -lpcp

DESCRIPTION

       A Performance Metrics Domain Agent (PMDA) that exports event records needs to track  which
       clients  are  connected  to  it, in order that it can track which events have been sent to
       which clients so far.  Only once an event has been  sent  to  all  monitoring  tools  that
       registered an interest can the event be discarded and any memory reclaimed.

       The  PMDA(3)  library  provides  callback  routines  for PMDA developers to provide custom
       handling of client connections and disconnections.  If the PMDA is making use of the event
       queueing  mechanism  provided  by pmdaEventNewQueue(3) and friends, client connections and
       disconnections must be tracked via  calls  to  pmdaEventNewClient  and  pmdaEventEndClient
       respectively.   This allows the library to keep track of when events can be discarded from
       a queue, for example, for the context  specified.   This  parameter  is  passed  into  the
       EndContext  callback  directly, and for all other callbacks is available via the e_context
       field of the pmdaExt structure.  Additionally,  it  can  be  queried  at  any  time  using
       pmdaGetContext.

       Sometimes  it  is  useful  for the PMDA to export a metric indicating the current count of
       attached clients - this is available using the pmdaEventClients routine, which  will  fill
       in the avp pmAtomValue structure on behalf of a PMDA fetch callback routine.

SEE ALSO

       pmdaEventNewQueue(3), pmdaEventNewArray(3), PMAPI(3), PMDA(3) and pmEventFlagsStr(3).