Provided by: pcp_4.3.1-1_amd64 bug

NAME

       pmdapapi - papi performance metrics domain agent (PMDA)

SYNOPSIS

       $PCP_PMDAS_DIR/pmdapapi [-d domain] [-l logfile]

DESCRIPTION

       pmdapapi  is  a  papi  Performance  Metrics  Domain  Agent  (PMDA)  which exposes hardware
       performance counters via the library Performance API (PAPI).

       The metrics exported by the papi PMDA report values gathered from  the  hardware  counters
       and  metrics  available,  as reported by papi.  Currently, only root users may access such
       metrics.

       A brief description of the pmdapapi command line options follows:

       -d   It is absolutely crucial that the performance metrics domain number specified here is
            unique and consistent.  That is, domain should be different for every PMDA on the one
            host, and the same domain number should be used for the same PMDA on all hosts.

       -l   Location of the log file.  By default, a log file named papi.log is  written  in  the
            current  directory  of pmcd(1) when pmdapapi is started, i.e.  $PCP_LOG_DIR/pmcd.  If
            the log file cannot be created or is not writable, output is written to the  standard
            error instead.

       Performance  counters  are activated automatically as they are fetched cyclically (such as
       via pmval(1) or pmlogger(1)).  This automatic activation is temporary, and  lasts  only  a
       number  of  seconds  governed by the papi.control.auto_enable control value (default 120).
       In the case automatic activation is  undesirable,  one  may  disable  it  by  setting  the
       papi.control.auto_enable metric to 0.

       Alternately,  the pmstore(1) command can be used to permanently enable tracking particular
       metrics, or stop them on demand.  Using the papi.control.enable  and  papi.control.disable
       metrics,  one may set the metrics you wish to track using a space or comma separated list.
       Writing to the papi.control.reset metric disables all counters immediately.  This  may  be
       useful if the system performance counters are needed for another profiling task.

            # pmstore papi.control.enable "TOT_CYC TOT_INS"
            papi.control.enable old value="" new value="TOT_CYC TOT_INS"

            # pmval papi.system.TOT_CYC
                        8.371E+04
            # pmval papi.system.TOT_INS
                        2.712E+04
            # pmstore papi.control.disable "TOT_CYC,TOT_INS"
            papi.control.disable old value="" new value="TOT_CYC,TOT_INS"

       Fetching the papi.control.status metric provides an overview of all active counters.

       By  default,  PAPI  multiplexing,  which  allows  support for collecting more metrics than
       supported  by   the   hardware   concurrently,   is   enabled.    One   may   modify   the
       papi.control.multiplex metric to disable multiplexing by setting it to 0.

       Where  possible,  pmdapapi  will  expose  available  native  perf and uncore events on the
       current hardware.  It is not possible to count some  native  metrics  and  preset  metrics
       concurrently.

            # true -- automatically-enabled counters
            # pmval -s3 papi.system.perf.BRANCH.LOADS
            metric:    papi.system.perf.BRANCH.LOADS
            host:      HOSTNAME
            semantics: cumulative counter (converting to rate)
            units:     count (converting to count / sec)
            samples:   3
            interval:  1.00 sec
                        7530.
                        7539.
                        7543.

            # pmval -s3 papi.system.perf.BRANCH.MISSES
            metric:    papi.system.perf.BRANCH.MISSES
            host:      HOSTNAME
            semantics: cumulative counter (converting to rate)
            units:     count (converting to count / sec)
            samples:   3
            interval:  1.00 sec
                         696.8
                         590.8
                         651.8

            # true -- quick overview
            # pminfo -f papi.control.status
            papi.control.status
                value "Papi is running, has multiplexing enabled, perf.BRANCH.MISSES(114): 8960, perf.BRANCH.LOADS(110): 158400"

            # true -- optional instant disable
            # pmstore papi.control.disable "perf.BRANCH.LOADS,perf.BRANCH.MISSES"
            papi.control.disable old value="" new value="perf.BRANCH.LOADS,perf.BRANCH.MISSES"

INSTALLATION

       If you want access to the names, help text and values for the papi performance metrics, do
       the following as root:

            # cd $PCP_PMDAS_DIR/papi
            # ./Install

       If you want to undo the installation (and remove both PMDAs), do the following as root:

            # cd $PCP_PMDAS_DIR/papi
            # ./Remove

       pmdapapi is launched by pmcd(1) and should never be executed directly.   The  Install  and
       Remove scripts notify pmcd(1) when the agent is installed or removed.

FILES

       $PCP_PMCDCONF_PATH
                 command line options used to launch pmdapapi
       $PCP_PMDAS_DIR/papi/help
                 default help text file for the papi metrics
       $PCP_PMDAS_DIR/papi/Install
                 installation script for the pmdapapi agent
       $PCP_PMDAS_DIR/papi/Remove
                 undo installation script for the pmdapapi agent
       $PCP_LOG_DIR/pmcd/sample.log
                 default log file for error messages and other information from pmdapapi

PCP ENVIRONMENT

       Environment variables with the prefix PCP_ are used to parameterize the file and directory
       names used by PCP.  On each installation, the file /etc/pcp.conf contains the local values
       for  these  variables.   The  $PCP_CONF  variable  may  be  used to specify an alternative
       configuration file, as described in pcp.conf(5).

SEE ALSO

       PCPIntro(1), pmcd(1), pcp.conf(5) and pcp.env(5).