Parca template variables
Instead of hard-coding label values in your profiling queries, you can use template variables to create dynamic, reusable dashboards. Variables appear as drop-down menus at the top of the dashboard, making it easy to switch between services, instances, or environments without editing queries.
For an introduction to template variables, refer to the Variables documentation.
Supported variable types
| Variable type | Supported | Notes |
|---|---|---|
| Custom | Yes | Define a static list of values manually. |
| Text box | Yes | Enter a free-form value at the top of the dashboard. |
| Constant | Yes | Define a hidden, fixed value. |
| Data source | Yes | Select a data source instance by name. |
| Query | No | Parca doesn’t implement variable queries to dynamically populate drop-downs. |
Note
Parca doesn’t support query-type variables. You can’t use the Parca data source to dynamically populate variable drop-downs. Use custom variables to define values manually, or use another data source to populate query variables.
Use variables in the label selector
The Parca query editor’s label selector field supports template variable interpolation. Use the standard $variablename or ${variablename} syntax. Variables are interpolated in the label selector only – the profile type drop-down doesn’t support them.
Variable syntax options
| Syntax | Description |
|---|---|
$variablename | Simple syntax for most cases. |
${variablename} | Use when the variable is adjacent to other text (for example, ${host}_suffix). |
${variablename:format} | Apply a specific format to the variable value. |
Example: Filter profiles by service
Create a custom variable to switch between services in your profiling dashboard.
- Navigate to Dashboard settings > Variables.
- Click Add variable.
- Set Type to Custom.
- Enter a Name, for example
service. - In the Custom options field, enter comma-separated values, for example
frontend, backend, api-gateway. - Click Apply.
In your Parca query’s label selector, reference the variable:
{job="$service"}When you change the drop-down selection, the panel refreshes to show profiles for the selected service.
Example: Filter by service and instance
Create two custom variables to filter by multiple dimensions.
- Create a variable named
servicewith custom valuesfrontend, backend, api-gateway. - Create a second variable named
instancewith custom values for your instance addresses, for example10.0.0.1:7070, 10.0.0.2:7070, 10.0.0.3:7070.
In your Parca query’s label selector, reference both variables:
{job="$service", instance="$instance"}Example: Use a text box variable for free-form filtering
Create a text box variable for free-form label filtering.
- Navigate to Dashboard settings > Variables.
- Click Add variable.
- Set Type to Text box.
- Enter a Name, for example
label_filter. - Optionally set a default value, for example
job="my-service". - Click Apply.
In your Parca query’s label selector, reference the variable:
{$label_filter}This lets you type any label matcher directly into the variable input at the top of the dashboard without editing the panel query.
Limitations
Parca template variable support has the following limitations:
- No query variable support: You can’t use Parca as a data source for populating variable options. Define values manually with custom variables or use another data source.
- Label selector only: Variables are interpolated in the label selector field. The profile type drop-down doesn’t support variables.
- No free-form filters: Parca doesn’t support free-form filters.
Next steps
- Build queries using your template variables.
- Troubleshoot issues if queries aren’t returning expected data.
Was this page helpful?
Related resources from Grafana Labs


