-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patherror-rate-base.yaml
37 lines (37 loc) · 1.26 KB
/
error-rate-base.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
apiVersion: argoproj.io/v1alpha1
kind: AnalysisTemplate
metadata:
name: error-rate
spec:
args:
- name: namespace
- name: stable-hash
- name: canary-hash
- name: prometheus-port
- name: error-rate-limit-percentage
- name: initial-delay
value: "1m"
- name: count
value: "10"
- name: interval
value: "60s"
- name: failure-limit
value: "1"
- name: inconclusive-limit
value: "1"
metrics:
- name: error-rate
initialDelay: "{{args.initial-delay}}"
interval: "{{args.interval}}"
count: "{{args.count}}"
failureLimit: "{{args.failure-limit}}"
inconclusiveLimit: "{{args.inconclusive-limit}}"
successCondition: result[0] <= {{args.error-rate-limit-percentage}}
provider:
prometheus:
address: "http://prometheus.metrics-ns.svc.cluster.local:{{args.prometheus-port}}"
query: |-
(sum(sum_over_time(namespace_pod_http_server_requests_errors_5xx{namespace="{{args.namespace}}", rollouts_pod_template_hash="{{args.canary-hash}}"}[11m]))
/
sum(sum_over_time(namespace_pod_http_server_requests_count{namespace="{{args.namespace}}", rollouts_pod_template_hash="{{args.canary-hash}}"}[11m]))) * 100
OR on() vector(0)