Skip to content

Commit a3bb8d8

Browse files
authored
Simplify experiment metrics run_id label (#646)
* Clarify purpose of `label.prometheus.io/run_id` label * Replace explicit `run_id` label with metric relabeling * Simplify experiments dashboard queries
1 parent 2d54907 commit a3bb8d8

5 files changed

Lines changed: 76 additions & 50 deletions

File tree

hack/config/monitoring/default/patch_kubestatemetrics.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
path: /spec/template/spec/containers/0/args/-
44
value:
55
--namespaces=cert-manager,default,experiment,external-dns,ingress-nginx,kube-node-lease,kube-public,kube-system,kyverno,monitoring,parca,sharding-system,webhosting-system
6-
# add run_id label to kube_pod_labels to select metrics by experiment run ID
7-
# flag doesn't support wildcard patterns
6+
# label.prometheus.io/run_id is injected by experiment into observed pods (sharder and webhosting-operator).
7+
# Add the run_id label to kube_pod_labels. This allows joining cadvisor metrics with kube_pod_labels for selecting
8+
# metrics by experiment run ID.
89
- op: add
910
path: /spec/template/spec/containers/0/args/-
1011
value:
12+
# this flag doesn't support wildcard patterns
1113
--metric-labels-allowlist=pods=[label.prometheus.io/run_id]

webhosting-operator/config/experiment/base/servicemonitor.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ spec:
1313
relabelings:
1414
- targetLabel: job
1515
replacement: experiment
16+
- targetLabel: run_id
17+
sourceLabels: [__meta_kubernetes_pod_uid]
1618
selector:
1719
matchLabels:
1820
app.kubernetes.io/name: experiment

0 commit comments

Comments
 (0)