Home > Mobile >  PromQL: reuse group label in another metric
PromQL: reuse group label in another metric

Time:11-02

I have multiple pods controlled by a workflow. To retrieve the controlling workflow name I have the following query:
group by(owner_name)(kube_pod_owner{owner_kind="Workflow"}).

Now I want to reuse the owner_name field to measure the CPU usage of the pods controlled by the grouped workflows.
For this I think about something like this: container_cpu_usage_seconds_total{pod=~"${owner_name}-.*"}.

How do I combine those two statements? Is that even possible?

CodePudding user response:

According to: How do I group pod metrics by deployment in Prometheus?
Try something like this:

(
    sum by (pod) (label_replace(
        (
            rate(
                container_cpu_usage_seconds_total{image!=""}[2m]) * on(pod) group_left(owner_name) 
                (sum without (instance) (kube_pod_owner{owner_kind="Workflow"}))
            ), 
            "pod", "$1", "owner_name", "(.*)"
        )
    )
)
  • Related