Provided by: pcp_5.0.3-1_amd64 bug

NAME

       pmdaperfevent - hardware performance counter performance metrics domain agent (PMDA)

SYNOPSIS

       $PCP_PMDAS_DIR/perfevent/pmdaperfevent  [-d domain] [-l logfile] [-U username] [-i port] [-p] [-u socket]
       [-6]

DESCRIPTION

       pmdaperfevent is a Performance Metrics Domain  Agent  (PMDA)  that  configures  and  reads  the  hardware
       performance counters using the Linux kernel perf_event API.

       The perfevent PMDA exports metrics for hardware performance counters that are configurable from the Linux
       kernel perf_event API.  The PMDA uses the libpfm4 library to access the hardware performance counters  so
       any counters that are supported in libpfm4 should be available.  Also included is the ability to read the
       Intel RAPL counters via direct MSR access.  The PMDA supports automatically  loading  different  counters
       for  each hardware architecture.  A single configuration file is used to specify the desired counters for
       each hardware performance monitoring unit (PMU).  The configuration file allows different counters to  be
       programmed  on  different CPUs and supports round-robin assignment of uncore counters needed for some AMD
       chips.

       The PMDA also counts for events exposed in the kernel via  /sys/bus/event_source/devices  directory.  The
       PMU  device  name  and  the event name must be mentioned in the configuration file. Otherwise, the metric
       won't be available to monitor through this PMDA.

       The PMDA configures the counters to count events in both user and  kernel  mode.   This  means  that  the
       hardware counters are unavailable to use by normal unprivileged user applications when they are in use by
       the PMDA.  The PMDA provides a mechanism to temporarily disable the  system-wide  counters  in  order  to
       allow normal users to be able to use the counters if they wish.  See perfalloc(1) for details.

       Note  that pmdaperfevent is affected by the value of the kernel.perf_event_paranoid setting, which can be
       adjusted by sysctl(8).

       A brief description of the pmdaperfevent 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 perfevent.log  is  written  in  the  current
            directory of pmcd(1) when pmdaperfevent 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.

       -U   User account under which to run the agent.  The default is the privileged "root" account.

       -i   listen on given port number for connection from pmcd(1)

       -p   communicate with pmcd(1) via stdin/stdout

       -u   expect pmcd(1) to connect on given unix domain socket

       -6   expect pmcd(1) to connect on given ipv6 port (number or name)

INSTALLATION

       The perfevent PMDA is not activated by default To install the PMDA, do the following as root:

            # cd $PCP_PMDAS_DIR/perfevent
            # ./Install

       If you want to undo the installation, do the following as root:

            # cd $PCP_PMDAS_DIR/perfevent
            # ./Remove

       pmdaperfevent 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 pmdaperfevent
       $PCP_PMDAS_DIR/perfevent/perfevent.conf
                 default configuration file for the PMDA.  See perfevent.conf(5) for detailed information.
       $PCP_PMDAS_DIR/perfevent/help
                 default help text file for the perfevent metrics
       $PCP_PMDAS_DIR/perfevent/Install
                 installation script for the pmdaperfevent agent
       $PCP_PMDAS_DIR/perfevent/Remove
                 undo installation script for the pmdaperfevent agent
       $PCP_LOG_DIR/pmcd/perfevent.log
                 default log file for error messages and other information from pmdaperfevent

UPGRADING

       Some  metric  names  have  changed  starting  in  version  3.10.8  to better conform to PMNS conventions.
       pmlogrewrite(1)    can    be    used    to    update     old     archives.      A     helper     utility,
       $PCP_PMDAS_DIR/perfevent/perfevent-makerewrite.pl  will  generate  a config file that is suitable for use
       with pmlogrewrite(1) to update the metric names in existing archives.

BUGS

       Each event is placed in its own group and there is no way to group related events together  so  they  are
       guaranteed to be simultaneously active.  A workaround for this is to ensure that the number of configured
       events is less than or equal to the number of available hardware counters.  This means  that  the  events
       will not be time-multiplexed by the kernel and will be simultaneously active.

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

       perfalloc(1), perfevent.conf(5), PCPIntro(1), pmcd(1), pmlogrewrite(1), PMAPI(3), pcp.conf(5), pcp.env(5)
       and sysctl(8).