This is a custom Homebrew tap for installing Performance Co-Pilot (PCP) on macOS.
To install PCP using this tap:
brew tap performancecopilot/performancecopilot
brew install --cask pcp-perfOr install directly without tapping first:
brew install --cask performancecopilot/performancecopilot/pcp-perfPerformance Co-Pilot (PCP) is a system performance analysis toolkit that provides:
- Live performance monitoring and logging
- Distributed system monitoring capabilities
- Extensible monitoring framework with agents (PMDAs)
- Flexible data collection and analysis tools
- Integration with visualization tools like Grafana
Links:
- Homepage: https://pcp.io/
- Source: https://github.com/performancecopilot/pcp
- Documentation: https://pcp.io/docs/
PCP installs several system services that start automatically:
- io.pcp.pmcd - Performance Metrics Collector Daemon
- io.pcp.pmie - Performance Metrics Inference Engine
- io.pcp.pmlogger - Performance Metrics Logger
- io.pcp.pmproxy - Performance Metrics Proxy
Installation locations:
- Configuration:
/etc/pcp/ - Data directory:
/var/lib/pcp/ - Log files:
/var/log/pcp/
To uninstall PCP:
brew uninstall pcp-perfThis will completely remove PCP including all services, packages, configuration files, data, and logs.
Note: Homebrew uninstall performs a complete removal (equivalent to --force mode) because the standard uninstaller requires interactive confirmation, which is not compatible with Homebrew's automated process.
If you installed PCP using the .pkg installer (not Homebrew), you can use the bundled uninstall script:
Standard Uninstall (preserves config/data/log files):
sudo /usr/local/libexec/pcp/bin/uninstall-pcpThis will prompt for confirmation and remove PCP, leaving configuration and log files in place.
Complete Uninstall (removes everything):
sudo /usr/local/libexec/pcp/bin/uninstall-pcp --forceThis skips the confirmation prompt and removes all PCP files including configuration, data, and logs.
PCP uses a two-part versioning scheme: MAJOR.MINOR.PATCH-BUILD
Example: 7.0.4-1
- Release tag:
7.0.4(used in GitHub release URLs) - Build number:
-1(appended to DMG and PKG filenames)
This is important to understand when updating versions:
- GitHub release tag is just the semantic version:
7.0.4 - The downloadable DMG file includes the build number:
pcp-7.0.4-1.dmg - The cask uses
version.major_minor_patchto extract7.0.4for the download URL
When updating to new versions, ensure both parts are included in the version string.
When a new version of PCP is released, follow these steps to update the cask:
-
Download the new DMG from the PCP releases page:
# Note: Release tag is X.Y.Z, but DMG filename includes build number curl -LO https://github.com/performancecopilot/pcp/releases/download/X.Y.Z/pcp-X.Y.Z-B.dmg -
Calculate SHA256 checksum:
shasum -a 256 pcp-X.Y.Z-B.dmg
-
Update the cask file (
Casks/pcp-perf.rb):- Update the
versionfield to include both version and build:X.Y.Z-B - Update the
sha256field with the calculated checksum - Example: For release 7.0.5 with build 2, use
version "7.0.5-2"
- Update the
-
Test locally before pushing:
brew reinstall --cask pcp-perf
-
Commit and push changes:
git add Casks/pcp-perf.rb git commit -m "Update pcp-perf to version X.Y.Z-B" git push
To test local changes before publishing:
# Tap the local repository
brew tap --force performancecopilot/performancecopilot /Users/psmith/dev/pcp/brew-pcp
# Install from local tap
brew install --cask pcp-perf
# Verify installation
brew list --cask pcp-perfTo check the cask for issues:
brew audit --cask --online Casks/pcp-perf.rbThe name pcp is already taken in Homebrew by an unrelated package. This custom tap uses the name pcp-perf to distinguish Performance Co-Pilot while maintaining a clear connection to the project.
This tap repository is maintained independently of the Performance Co-Pilot project.
- PCP License: See the PCP repository for license details
- This tap: Provided as-is for the convenience of macOS users
Issues and pull requests are welcome! Please ensure:
- Cask follows Homebrew Cask style guidelines
- Changes are tested locally before submitting
- Version updates include updated SHA256 checksums