I use Prometheus+Grafana and write formulas like:
(
(
sum(
rate(
http_server_requests_seconds_bucket{name="$avalon_apdex_service", kubernetes_namespace="$ns", uri!~"$uri", status!~"5..", le="1.0"}[5m]
)
)+
sum(
rate(
http_server_requests_seconds_bucket{name="$avaon_apdex_service", kubernetes_namespace="$ns", uri!~"$uri", status!~"5..", le="4.0"}[5m]
)
)
)/2
)
/
sum(
rate(
http_server_requests_seconds_count{name="$avalon_apdex_service", kubernetes_namespace="$ns", uri!~"$uri"}[5m]
)
)
Frankly speaking, I'm tired to repeat the same (mostly the same) labels in the selectors.
It would be great if I can write something like:
with{name="$avalon_apdex_service", kubernetes_namespace="$ns", uri!~"$uri"} (
((
sum(rate(http_server_requests_seconds_bucket{status!~"5..",le="1.0"}[5m]))+
sum(rate(http_server_requests_seconds_bucket{status!~"5..",le="4.0"}[5m]))
)/2)
/sum(rate(http_server_requests_seconds_count[5m]))
)
I read the Prometheus manual and didn't realize is there a syntax that will make my formulas less wordy?