QMC_SOURCE(3)             Library Functions Manual             QMC_SOURCE(3)

NAME         top

       QmcSource  - manages contexts created by all groups

C++ SYNOPSIS         top

       #include <QmcSource.h>

       CC ... -lqmc -lpcp

DESCRIPTION         top

       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         top


CONSTRUCTORS         top

       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         top

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

DIAGNOSTICS         top

       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

       Additional diagnostics may be activated by adding DBG_TRACE_PMC to
       the global pmDebug.

COLOPHON         top

       This page is part of the PCP (Performance Co-Pilot) project.
       Information about the project can be found at ⟨⟩.
       If you have a bug report for this manual page, send it to  This page was obtained from the project's upstream
       Git repository ⟨git://⟩ on 2017-03-13.  If you discover
       any rendering problems in this HTML version of the page, or you
       believe there is a better or more up-to-date source for the page, or
       you have corrections or improvements to the information in this
       COLOPHON (which is not part of the original manual page), send a mail

Performance Co-Pilot                 SGI                       QMC_SOURCE(3)