Use pipe expressions in your PromQL queries or code!
For example, the following query...
sum(irate(node_cpu_seconds_total{instance=~"$node:$port",job=~"$job"}(node_cpu_seconds_total){mode='idle'}[5m](node_cpu_seconds_total{instance=~"$node:$port",job=~"$job"}(node_cpu_seconds_total)))) / count(count(node_cpu_seconds_total{instance=~"$node:$port",job=~"$job"}(node_cpu_seconds_total)) by (cpu))
...can be written as:
cpuSeconds = node_cpu_seconds_total
| x -> x{instance=~"$node:$port",job=~"$job"}
cpuCount = cpuSeconds
| s -> count(s) by (cpu)
| count
cpuIdle = cpuSeconds
| s -> s{mode='idle'}[5m]
| irate
| sum
cpuIdle / cpuCount
Check this page to try it out!
git clone https://github.com/denisidoro/pipers
cargo build --release
E.g., in VSCode you can use the Filter Text extension: