Quick Start
The easiest way to start with Parca is to obtain the pre-built statically-linked binary or the container. You can download the latest release of the binary from the Parca GitHub release pages (Server and Agent). Alternatively, you can use the Parca container image from the GitHub Container Registry.
Once you have the binary or the container, you can start profiling your applications with Parca.
- Binary
- Container
- Kubernetes
- Snaps
Server
Download the binary specific to your OS and architecture
curl -sL https://github.com/parca-dev/parca/releases/download/v0.22.0/parca_0.22.0_`uname -s`_`uname -m`.tar.gz | tar xvfz -
Run Parca and access the Web UI on port 7070
# Get basic configuration
curl -sL https://raw.githubusercontent.com/parca-dev/parca/main/parca.yaml > parca.yaml
# Run Parca and access the Web UI on port 7070
./parca --config-path=parca.yaml
Agent
Download the binary specific to your architecture (only works on Linux)
curl -sL https://github.com/parca-dev/parca-agent/releases/download/v0.35.0/parca-agent_0.35.0_`uname -s`_`uname -m` chmod +x ./parca-agent*
Run Parca Agent and access the Web UI on port 7071 (assumes Parca is running on localhost:7070)
sudo ./parca-agent* --node=test --remote-store-address=localhost:7070 --remote-store-insecure
Server
Run Parca and access the Web UI on port 7070
docker run --rm -p 7070:7070 ghcr.io/parca-dev/parca:v0.22.0 /parca
Agent
Run Parca Agent (requires privileged mode) and access the Web UI on port 7071 (assumes Parca is running as a container on the same host. Replace IP for "--remote-store-address")
docker run --rm -it --privileged --pid host -p 7071:7071 -v /run:/run -v /boot:/boot -v /lib/modules:/lib/modules -v /sys/kernel/debug:/sys/kernel/debug -v /sys/fs/cgroup:/sys/fs/cgroup -v /sys/fs/bpf:/sys/fs/bpf -v /var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket ghcr.io/parca-dev/parca-agent:v0.35.0 /bin/parca-agent --remote-store-address=parca-container-ip:7070 --remote-store-insecure
To quickly try out the Parca and Parca Agent with Kubernetes, you create a minikube cluster with an actual virtual machine, e.g. Virtualbox:
minikube start --driver=virtualbox
- Create the namespace (not strictly necessary but prevents a race with the next commands)
kubectl create namespace parca
Server
- Use to deploy Parca Server (API and UI)
kubectl apply -f https://github.com/parca-dev/parca/releases/download/v0.22.0/kubernetes-manifest.yaml
Agent
- Use to deploy Parca Agent for all nodes
kubectl apply -f https://github.com/parca-dev/parca-agent/releases/download/v0.35.0/kubernetes-manifest.yaml
Server
Use to deploy Parca Server (API and UI), listening on
0.0.0.0:7070
.sudo snap install parca
sudo snap start parca
Agent
Use to install Parca Agent on a node with
snapd
.sudo snap install --classic parca-agent
sudo snap start parca