Parca from Snapcraft
You can install Parca using the snap package.
sudo snap install parca
The snap has two primary modes of operation, one-shot or service.
Invoking parca
manually
Usage: parca
Flags:
-h, --help Show context-sensitive help.
--config-path="parca.yaml" Path to config file.
--mode="all" Scraper only runs a scraper that sends to a remote gRPC endpoint. All runs all components.
--http-address=":7070" Address to bind HTTP server to.
--http-read-timeout=5s Timeout duration for HTTP server to read request body.
--http-write-timeout=1m Timeout duration for HTTP server to write response body.
# ...
You can find more information about invoking parca
manually in the binary installation docs.
Using the parca
service
The snap package also ships with a minimally configurable service that is managed by snapd
.
To get started without any customisation, once the snap is installed, invoke:
sudo snap start parca
This will start parca
on http://localhost:7070, with a default active memory storage limit of 512MB.
There are a few config options available for the snap service:
sudo snap get parca
Key Value
enable-persistence false
http-address :7070
log-level info
remote-store-address grpc.polarsignals.com:443
remote-store-bearer-token
remote-store-insecure false
storage-active-memory 536870912
Each can be customised individually. If a config value is changed, the service must be restarted for the changes to take effect. For example:
# Change the bind port
sudo snap set parca http-address=:8080
# Restart the service
sudo snap restart parca
You can view the parca
service logs using the snap logs
command:
sudo snap logs parca
2022-08-31T17:05:24+01:00 systemd[1]: Started Service for snap application parca.parca-svc.
2022-08-31T17:05:24+01:00 parca.parca-svc[513345]: ooooooooo.
2022-08-31T17:05:24+01:00 parca.parca-svc[513345]: `888 `Y88.
2022-08-31T17:05:24+01:00 parca.parca-svc[513345]: 888 .d88' .oooo. oooo d8b .ooooo. .oooo.
2022-08-31T17:05:24+01:00 parca.parca-svc[513345]: 888ooo88P' `P )88b `888""8P d88' `"Y8 `P )88b
2022-08-31T17:05:24+01:00 parca.parca-svc[513345]: 888 .oP"888 888 888 .oP"888
2022-08-31T17:05:24+01:00 parca.parca-svc[513345]: 888 d8( 888 888 888 .o8 d8( 888
2022-08-31T17:05:24+01:00 parca.parca-svc[513345]: o888o `Y888""8o d888b `Y8bod8P' `Y888""8o
2022-08-31T17:05:24+01:00 parca.parca-svc[513345]:
2022-08-31T17:05:24+01:00 parca.parca-svc[513345]:
2022-08-31T17:05:24+01:00 parca.parca-svc[513345]:
2022-08-31T17:05:24+01:00 parca.parca-svc[513345]: level=info name=parca ts=2022-08-31T16:05:24.28687815Z caller=factory.go:52 msg="loading bucket configuration"
2022-08-31T17:05:24+01:00 parca.parca-svc[513345]: level=info name=parca ts=2022-08-31T16:05:24.296458501Z caller=badger.go:53 msg="Set nextTxnTs to 0"
2022-08-31T17:05:24+01:00 parca.parca-svc[513345]: level=info name=parca ts=2022-08-31T16:05:24.312880949Z caller=server.go:93 msg="starting server" addr=:7070
Once Parca is running, you can navigate to the web interface on the browser.
You should shortly see the Select profile...
dropdown menu populate with the profiles that Parca is retrieving from itself.
Selecting one of these profile types and clicking the Search
button will retrieve the profiles of that type for the time selection (default Last Hour)
This should result in a time series based on the profile that is interactable. Clicking anywhere on the line graph should then bring up an icicle graph for the profile that you've selected.
You can then interact with the icicle graph to better understand how Parca is behaving.