Performance Co-Pilot (PCP) provides a framework and services to support system-level performance monitoring and management. It presents a unifying abstraction for all of the performance data in a system, and many tools for interrogating, retrieving and processing that data.
- analysis of historical PCP metrics using pmseries query language
- analysis of real-time PCP metrics using pmwebapi live services
- enhanced Berkeley Packet Filter (eBPF) tracing using bpftrace scripts
- automatic rate conversation for counter metrics
- heatmap and table support
- auto completion of metric names [1,2], qualifier keys and values [1], and bpftrace probes, builtin variables and functions [3]
- display of semantics, units and help texts of metrics [2] and bpftrace builtins [3]
- legend templating support with
$metric
,$metric0
,$instance
,$some_label
,$some_dashboard_variable
- container support [1,2]
- support for custom endpoint URL [1,2,3] and container [2] setting per query
- support for repeated panels
- sample dashboards for all datasources
[1] PCP Redis [2] PCP Vector [3] PCP bpftrace
This datasource queries the fast, scalable time series capabilities provided by the pmseries(1) functionality. It is intended to query historical data across multiple hosts and supports filtering based on labels.
The PCP Vector datasource shows live, on-host metrics from the real-time pmwebapi(3) interfaces. It is intended for individual host, on-demand performance monitoring and includes container support.
The PCP bpftrace datasource supports system introspection using bpftrace(8) scripts. It connects to the bpftrace PMDA and runs bpftrace scripts on the host.
Download a release tarball from https://github.com/performancecopilot/grafana-pcp/releases,
extract it to /var/lib/grafana/plugins
, restart grafana, enable the Performance Co-Pilot
plugin and setup the datasources.
$ wget https://github.com/performancecopilot/grafana-pcp/archive/v0.0.7.tar.gz
$ sudo tar xfz v0.0.7.tar.gz -C /var/lib/grafana/plugins
$ sudo systemctl restart grafana-server
Clone the git repository at https://github.com/performancecopilot/grafana-pcp and type:
yarn install
yarn run build