Provided by: libpcp3-dev_6.2.0-1.1build4_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.

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

SEE ALSO

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

Performance Co-Pilot                                   SGI                                          QMCSOURCE(3)