GitHub Action for Continuous Profiling which you can run to profile your workloads in CI/CD manner. It uses Parca and Polar Signals cloud.
You will need access to Polar Signals cloud or another way to send Parca profiles to remote store.
This project is also a demo of how to use this action, view the .github/workflows directory to view the example usage.
If you are using Polar Signals cloud, the only thing required to configure is the polarsignals_cloud_token
which is the API token for Polar Signals cloud, where it sends the profiling data. You can view the docs on that here.
Profiling data from one CI run looks like this.
This action can automatically create GitHub deployments with links to your profiling data, making it easy to access the results directly from your GitHub repository. For this feature to work, the following parameters must be configured:
project_uuid
: Your Polar Signals Cloud project UUID
If any of the required parameters are missing, the deployment creation will be skipped without failing the workflow, and log messages will indicate the reason.
For the deployment creation to work, your workflow needs the following permissions:
permissions:
deployments: write
contents: read
name: Profiling Workflow
on: [push]
permissions:
deployments: write
contents: read
jobs:
profile:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run Continuous Profiling
uses: polarsignals/gh-actions-ps-profiling@main
with:
polarsignals_cloud_token: ${{ secrets.POLARSIGNALS_CLOUD_TOKEN }}
project_uuid: 'your-project-uuid-here'
labels: 'branch=${{ github.ref_name }};workflow=${{ github.workflow }}'