Skip to content

Commit 3d08bcc

Browse files
authored
fix: kubelet rules group_left (#1072)
1 parent 98e85dd commit 3d08bcc

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

‎rules/kubelet.libsonnet

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,12 @@
1111
{
1212
record: 'node_quantile:kubelet_pleg_relist_duration_seconds:histogram_quantile',
1313
expr: |||
14-
histogram_quantile(%(quantile)s, sum(rate(kubelet_pleg_relist_duration_seconds_bucket{%(kubeletSelector)s}[5m])) by (%(clusterLabel)s, instance, le) * on(%(clusterLabel)s, instance) group_left(node) kubelet_node_name{%(kubeletSelector)s})
14+
histogram_quantile(
15+
%(quantile)s,
16+
sum(rate(kubelet_pleg_relist_duration_seconds_bucket{%(kubeletSelector)s}[5m])) by (%(clusterLabel)s, instance, le)
17+
* on(%(clusterLabel)s, instance) group_left (node)
18+
max by (%(clusterLabel)s, instance, node) (kubelet_node_name{%(kubeletSelector)s})
19+
)
1520
||| % ({ quantile: quantile } + $._config),
1621
labels: {
1722
quantile: quantile,

‎tests/kubelet-test.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
rule_files:
2+
- ../prometheus_rules.yaml
3+
4+
evaluation_interval: 1m
5+
6+
tests:
7+
- interval: 1m
8+
input_series:
9+
- series: 'kubelet_pleg_relist_duration_seconds_bucket{cluster="cluster",instance="ip-172-0-0-1",job="kubelet",le="+Inf",source="kubernetes"}'
10+
values: '0+60x5'
11+
- series: 'kubelet_pleg_relist_duration_seconds_bucket{cluster="cluster",instance="ip-172-0-0-1",job="kubelet",le="1",source="kubernetes"}'
12+
values: '0+60x5'
13+
- series: 'kubelet_pleg_relist_duration_seconds_count{cluster="cluster",instance="ip-172-0-0-1",job="kubelet",source="kubernetes"}'
14+
values: '0+1x5'
15+
- series: 'kubelet_node_name{cluster="cluster",node="ip-172-0-0-1",instance="ip-172-0-0-1",job="kubelet",source="kubernetes"}'
16+
values: '1x5'
17+
- series: 'kubelet_node_name{cluster="cluster",node="ip-172-0-0-1",instance="ip-172-0-0-1",job="kubelet",source="kubernetes2"}'
18+
values: '1x5'
19+
promql_expr_test:
20+
- eval_time: 5m
21+
expr: node_quantile:kubelet_pleg_relist_duration_seconds:histogram_quantile
22+
exp_samples:
23+
- value: 0.5
24+
labels: 'node_quantile:kubelet_pleg_relist_duration_seconds:histogram_quantile{cluster="cluster",instance="ip-172-0-0-1", node="ip-172-0-0-1", quantile="0.5"}'
25+
- value: 0.9
26+
labels: 'node_quantile:kubelet_pleg_relist_duration_seconds:histogram_quantile{cluster="cluster",instance="ip-172-0-0-1", node="ip-172-0-0-1", quantile="0.9"}'
27+
- value: 0.99
28+
labels: 'node_quantile:kubelet_pleg_relist_duration_seconds:histogram_quantile{cluster="cluster",instance="ip-172-0-0-1", node="ip-172-0-0-1", quantile="0.99"}'

0 commit comments

Comments
 (0)