# PCP Metrics

If available, Cockpit uses the Performance Co-Pilot framework to gather metrics data about the system. This data is used to display the history graphs on the "Metrics and history" page. Cockpit can use the PCP logging feature to display archived data about the system from a different point in time. If PCP is not available, then Cockpit gathers the metrics data itself, but archival features are not available.

Whether or not metrics are archived depends on whether the `pmlogger.service` systemd unit is running or not. The "Enable PCP metrics collector" button on the Metrics page will enable and start this service.

To see similar metrics data from the command line, you can use tools like `pmstat` or `pminfo`:

    $ pmstat
    @ Sat Sep 26 15:30:10 2015
     loadavg                      memory      swap        io    system         cpu
       1 min   swpd   free   buff  cache   pi   po   bi   bo   in   cs  us  sy  id
        4.19      0 20710m 605148  6450m    0    0    0 2548 5688  14K  19   3  76
    ...

These metrics can also be exposed to other machines on a TCP port with pmproxy and Redis or Valkey:

    systemctl enable --now redis pmproxy
    # if you use firewalld, open port 44322:
    firewall-cmd --permanent --add-service pmproxy
    firewall-cmd --reload

This allows you to gather and visualize PCP metrics from multiple machines with Grafana and the PCP Grafana plugin.