I have a promQL expression like this- sum(metric_1) by (label_1)
. Now, I want to filter out the output of the expression using another label label_2
. Something like this- (sum(metric_1) by (label_1, label_2)){label_2="some_value"}
. But, this is not working and is giving a parse error. How can I achieve this?
Prometheus doesn't support label-based post-filtering of query results, so all the label-based filtering must be performed at label filters in curly braces before applying any PromQL function. For example, if the sum of metric_1
time series with the label_2="value_2"
label must be calculated, then the following query can be used:
sum(metric_1{label_2="value_2"}) by (label_1)
P.S. If additional post-filtering on labels is needed after applying some PromQL function such as label_replace, then the following MetricsQL functions can be used at VictoriaMetrics - Prometheus-like monitoring solution with PromQL support:
(I'm the core developer of VictoriaMetrics).