denisidoro / pipers

Use pipe expressions in your PromQL queries or code!

Home Page:https://denisidoro.github.io/pipers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pipers

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

Syntax and live playground

Check this page to try it out!

Using it inside your IDE

add the binary to your $PATH

git clone https://github.com/denisidoro/pipers
cargo build --release

setup your IDE accordingly

E.g., in VSCode you can use the Filter Text extension:

Demo

About

Use pipe expressions in your PromQL queries or code!

https://denisidoro.github.io/pipers


Languages

Language:JavaScript 40.7%Language:CSS 23.6%Language:Rust 22.1%Language:Shell 7.0%Language:HTML 6.6%