# orders-api availability objective is 99.9% (error budget 0.001) over 30 days.
# Latency SLI is the share of requests faster than 300ms; objective is 99% (budget 0.01).
groups:
- name: slo.availability
rules:
- record: slo:sli_error:ratio_rate5m
expr: |
sum by (service, slo) (rate(http_requests_total{code=~"5.."}[5m]))
/
sum by (service, slo) (rate(http_requests_total[5m]))
- record: slo:sli_error:ratio_rate30m
expr: |
sum by (service, slo) (rate(http_requests_total{code=~"5.."}[30m]))
/
sum by (service, slo) (rate(http_requests_total[30m]))
- record: slo:sli_error:ratio_rate1h
expr: |
sum by (service, slo) (rate(http_requests_total{code=~"5.."}[1h]))
/
sum by (service, slo) (rate(http_requests_total[1h]))
- record: slo:sli_error:ratio_rate2h
expr: |
sum by (service, slo) (rate(http_requests_total{code=~"5.."}[2h]))
/
sum by (service, slo) (rate(http_requests_total[2h]))
- record: slo:sli_error:ratio_rate6h
expr: |
sum by (service, slo) (rate(http_requests_total{code=~"5.."}[6h]))
/
sum by (service, slo) (rate(http_requests_total[6h]))
- record: slo:sli_error:ratio_rate1d
expr: |
sum by (service, slo) (rate(http_requests_total{code=~"5.."}[1d]))
/
sum by (service, slo) (rate(http_requests_total[1d]))
- record: slo:sli_error:ratio_rate3d
expr: |
sum by (service, slo) (rate(http_requests_total{code=~"5.."}[3d]))
/
sum by (service, slo) (rate(http_requests_total[3d]))
- record: slo:error_budget_remaining:ratio
expr: |
1 - (
(
sum by (service, slo) (rate(http_requests_total{code=~"5.."}[30d]))
/
sum by (service, slo) (rate(http_requests_total[30d]))
)
/ 0.001
)
- name: slo.latency
rules:
- record: slo:sli_latency_error:ratio_rate5m
expr: |
1 - (
sum by (service, slo) (rate(http_request_duration_seconds_bucket{le="0.3"}[5m]))
/
sum by (service, slo) (rate(http_request_duration_seconds_count[5m]))
)
- record: slo:sli_latency_error:ratio_rate30m
expr: |
1 - (
sum by (service, slo) (rate(http_request_duration_seconds_bucket{le="0.3"}[30m]))
/
sum by (service, slo) (rate(http_request_duration_seconds_count[30m]))
)
- record: slo:sli_latency_error:ratio_rate1h
expr: |
1 - (
sum by (service, slo) (rate(http_request_duration_seconds_bucket{le="0.3"}[1h]))
/
sum by (service, slo) (rate(http_request_duration_seconds_count[1h]))
)
- record: slo:sli_latency_error:ratio_rate6h
expr: |
1 - (
sum by (service, slo) (rate(http_request_duration_seconds_bucket{le="0.3"}[6h]))
/
sum by (service, slo) (rate(http_request_duration_seconds_count[6h]))
)