Provided by: libpcp3-dev_4.0.1-1_amd64 bug

NAME

       QmcSource  - manages contexts created by all groups

C++ SYNOPSIS

       #include <QmcSource.h>

       CC ... -lqmc -lpcp

DESCRIPTION

       The  QmcSource class maintains a unique list of all metric sources in use to minimize the creation of new
       contexts (see pmNewContext(3)) when the context could have been duplicated (see  pmDupContext(3)).   This
       also reduces the duplication of descriptions of each source.

       In  general,  QMC  users should only need to access QmcSource methods to obtain source descriptions for a
       QmcContext(3) object.  All context creation by the user should be handled through QmcGroup(3).

DESTRUCTOR

       ~QmcSource();
           Destructor.

CONSTRUCTORS

       static QmcSource* getSource(int type, const char* source,
           bool matchHosts)

           This method will return a QmcSource object  that  represents  a  context  of  type  to  source.   The
           QmcSource  object  may  be  a  new  object  if  the  source has not been previously requested. Memory
           management of the QmcSource objects is handled by QmcSource.  If all QmcContext(3)s to the  QmcSource
           have been deleted, the QmcSource object will also be deleted.

           The matchHosts flag controls the algorithm that is used to match hosts to archives.  If matchHosts is
           equal to false then no attempt will be made by this method to match a host  context  to  an  existing
           source   context.   A   QmcSource  object  will  always  be  returned  in  this  case,  although  the
           QmcSource::status method may indicate that a context to source failed.

           If matchHosts is equal to true, host contexts  will  be  matched  to  a  pre-defined  archive  source
           collected  from  that  source.   If  no  archive sources for the source have been previous specified,
           getSource will return a NULL pointer.

SEE ALSO

       PMAPI(3),  QMC(3),  QmcContext(3),  QmcGroup(3),   pmDupContext(3),   pmflush(3),   pmNewContext(3)   and
       pmprintf(3).

DIAGNOSTICS

       Error  messages are generated using pmprintf(3) but are not flushed. It is the responsibility of the user
       to call pmflush(3) to output any messages.

       Additional diagnostics may be activated by adding the option pmc to the global  debugging  specification,
       as described in pmSetDebug(3).