pcpcompat(1) — Linux manual page


PCPCOMPAT(1)             General Commands Manual            PCPCOMPAT(1)

NAME         top

       PCPCompat, pcp-collectl, pmmgr, pmwebd - backward-compatibility
       in the Performance Co-Pilot (PCP)

INTRODUCTION         top

       The Performance Co-Pilot (PCP) is a toolkit designed for
       monitoring and managing system-level performance.  These services
       are distributed and scalable to accommodate the most complex
       system configurations and performance problems.

       In order to achieve these goals effectively, protocol and on-disk
       compatibility is provided between different versions of PCP.  It
       is feasible (and indeed encouraged) to use current PCP tools to
       interrogate any remote, down-rev or up-rev pmcd(1) and also to
       replay any historical PCP archive (the PCP testsuite includes PCP
       archives created over 20 years ago!).

       From time to time the PCP developers deprecate and remove PCP
       utilities, replacing them with new versions of utilities
       providing comparable features.  This page describes replacement
       utilities for historical PCP tools.

PYTHON2         top

       PCP provides python(1) interfaces for the PMAPI(3) (Performance
       Metrics API), the PMDA(3) API (Performance Metrics Domain
       Agents), the mmv_stats_register(3) API (Memory-Mapped Values) and
       PCP archive creation LOGIMPORT(3) API.

       With python version 2 reaching end-of-life in 2020 we have
       deprecated the python version 2 interfaces in PCP (shipped, but
       no longer supported).  In the next major release of PCP (v7)
       version 2 support will be retired (completely removed).  All PCP
       APIs and python-based tools support python version 3 and have for
       several years - upgrading is strongly recommended.

QT4         top

       PCP provides optional graphical user interfaces built on the
       cross-platform Qt library, particularly pmchart(1) and pmtime(1).

       With Qt v4 reaching end-of-life in 2015 we have removed support
       for all versions before Qt v5.  In addition, some features are
       missing in early versions of Qt v5 that are now mandatory when
       building and using PCP Qt tools.  As a result the minimum
       required version of Qt for PCP v6 and beyond is now Qt 5.6.

NSS         top

       Versions of PCP before v6 used a combination of both Mozilla NSS
       (Network Security Services) and OpenSSL for the encryption
       component of the secure sockets functionality.  Starting with PCP
       v6 this has been simplified into exclusive use of OpenSSL for all
       use of encryption across PCP.  This change affects configuration
       of optional functionality in pmcd(1) and PMAPI(3) client tools
       using secure sockets.

       The net effect of this change is that encryption is configured in
       the same ways, using the same certificates, across the HTTPS
       functionality in pmproxy(1), as well as the encrypted PCP
       protocol functionality between pmcd, pmproxy and PMAPI client
       tools.  Additionally, the Redis service used by pmseries(1) and
       pmproxy also exclusively uses OpenSSL, and in a manner similar to
       PCP, which makes administering these services significantly

SAR2PCP, IOSTAT2PCP         top

       The sar2pcp(1) and iostat2pcp(1) utilities are deprecated, and
       will be retired in a future version of PCP (v7).  This is being
       replaced by native support for generating PCP archives within the
       tools of the sysstat package (which provides sar itself, as well
       as the sadf utility which produces PCP archives via the -l


       Earlier versions of PCP (prior to v5.1.1) provided a shell script
       that was used internally by pmlogconf(1), located in the
       PCP_BINADM_DIR directory, named pmlogconf-setup.  This script has
       been retired.  The equivalent functionality remains available in
       the unlikely event it should be needed via the -s or --setup
       option to pmlogconf(1).

       The version 1 pmlogconf-setup configuration file format (from
       IRIX) was also retired in this release, after more than 10 years
       of automatic transition to version 2 format by pmlogconf.

PMMGR         top

       The stand-alone PCP daemon manager pmmgr has been retired from
       PCP v5.2.0 onward.  It was phased out in favour of the simpler
       pmfind(1) service for setting up pmie(1) and pmlogger(1)
       ``farms'' of discovered PCP collector systems with
       pmfind_check(1).  The new mechanisms, especially when integrated
       with systemd, require no additional daemons and are better
       integrated with the pmie and pmlogger service management used
       elsewhere in PCP.

PCP-COLLECTL         top

       The pcp-collectl utility has been superseded by pmrep(1) from PCP
       v5 onward.

       The equivalent of pcp-collectl subsystem reporting is achieved as

       pmrep :collectl-sc
              Processor subsystem view.

       pmrep :collectl-sm
              Memory subsystem view.

       pmrep :collectl-sd
              Aggregate disks view.

       pmrep :collectl-sD
              Per-disk-device view.

       pmrep :collectl-dm-sD
              Device mapper view.

       pmrep :collectl-sn
              Network subsystem view.

PCP-WEBAPPS         top

       The stand-alone web applications packaged with older PCP versions
       have been superseded by grafana-server(1) with the grafana-pcp
       plugin https://github.com/performancecopilot/grafana-pcp .

       This plugin provides an implementation of the Vector application,
       as well as data sources for pmdabpftrace(1) (bpftrace(8) scripts)
       and pmseries(1) (fast, scalable Redis-based time series

PMWEBD         top

       The pmwebd daemon has been superseded by pmproxy(1) from PCP v5

       By default, pmproxy will now listen on both its original port
       (44322) and the PCP web API port (44323) when the time series
       support is built.

       pmproxy provides a compatible implementation of the live
       PMWEBAPI(3) interfaces used traditionally by the Vector web
       application (see the ``PCP-WEBAPPS'' section).  It also provides
       extensions to the original pmwebd REST APIs (such as derived
       metrics, namespace lookups and instance domain profiles), support
       for the HTTPS protocol, and fast, scalable time series querying
       using the pmseries(1) REST API and redis-server(1).

       The partial Graphite API emulation provided by pmwebd has not
       been re-implemented - applications wishing to use similar
       services could use the scalable time series REST APIs described
       on PMWEBAPI(3).

SEE ALSO         top

       pcp(1), pmcd(1), iostat2pcp(1), sar2pcp(1), pmrep(1), pmfind(1),
       pmfind_check(1), pmlogconf(1), pmproxy(1), pmseries(1),
       pmdabpftrace(1), python(1), redis-server(1), grafana-server(1),
       mmv_stats_register(3), LOGIMPORT(3), PMAPI(3), PMDA(3) and

COLOPHON         top

       This page is part of the PCP (Performance Co-Pilot) project.
       Information about the project can be found at 
       ⟨http://www.pcp.io/⟩.  If you have a bug report for this manual
       page, send it to pcp@groups.io.  This page was obtained from the
       project's upstream Git repository
       ⟨https://github.com/performancecopilot/pcp.git⟩ on 2024-06-14.
       (At that time, the date of the most recent commit that was found
       in the repository was 2024-06-14.)  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 to

Performance Co-Pilot               PCP                      PCPCOMPAT(1)