@leverege/build-tools 2.99.1 → 2.100.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,319 @@
1
+ {
2
+ "annotations": {
3
+ "list": [
4
+ {
5
+ "builtIn": 1,
6
+ "datasource": {
7
+ "type": "grafana",
8
+ "uid": "-- Grafana --"
9
+ },
10
+ "enable": true,
11
+ "hide": true,
12
+ "iconColor": "rgba(0, 211, 255, 1)",
13
+ "name": "Annotations & Alerts",
14
+ "type": "dashboard"
15
+ }
16
+ ]
17
+ },
18
+ "editable": true,
19
+ "fiscalYearStartMonth": 0,
20
+ "graphTooltip": 0,
21
+ "id": 12,
22
+ "links": [],
23
+ "panels": [
24
+ {
25
+ "datasource": "Prometheus",
26
+ "fieldConfig": {
27
+ "defaults": {
28
+ "color": {
29
+ "mode": "palette-classic"
30
+ },
31
+ "custom": {
32
+ "axisBorderShow": false,
33
+ "axisCenteredZero": false,
34
+ "axisColorMode": "text",
35
+ "axisLabel": "",
36
+ "axisPlacement": "auto",
37
+ "barAlignment": 0,
38
+ "barWidthFactor": 0.6,
39
+ "drawStyle": "line",
40
+ "fillOpacity": 0,
41
+ "gradientMode": "none",
42
+ "hideFrom": {
43
+ "legend": false,
44
+ "tooltip": false,
45
+ "viz": false
46
+ },
47
+ "insertNulls": false,
48
+ "lineInterpolation": "linear",
49
+ "lineWidth": 1,
50
+ "pointSize": 5,
51
+ "scaleDistribution": {
52
+ "type": "linear"
53
+ },
54
+ "showPoints": "auto",
55
+ "spanNulls": false,
56
+ "stacking": {
57
+ "group": "A",
58
+ "mode": "none"
59
+ },
60
+ "thresholdsStyle": {
61
+ "mode": "off"
62
+ }
63
+ },
64
+ "mappings": [],
65
+ "thresholds": {
66
+ "mode": "absolute",
67
+ "steps": [
68
+ {
69
+ "color": "green"
70
+ },
71
+ {
72
+ "color": "yellow",
73
+ "value": 70
74
+ },
75
+ {
76
+ "color": "red",
77
+ "value": 90
78
+ }
79
+ ]
80
+ },
81
+ "unit": "percent"
82
+ },
83
+ "overrides": []
84
+ },
85
+ "gridPos": {
86
+ "h": 8,
87
+ "w": 24,
88
+ "x": 0,
89
+ "y": 0
90
+ },
91
+ "id": 1,
92
+ "options": {
93
+ "legend": {
94
+ "calcs": [],
95
+ "displayMode": "table",
96
+ "placement": "bottom",
97
+ "showLegend": true
98
+ },
99
+ "tooltip": {
100
+ "hideZeros": false,
101
+ "mode": "single",
102
+ "sort": "none"
103
+ }
104
+ },
105
+ "pluginVersion": "12.0.0",
106
+ "targets": [
107
+ {
108
+ "expr": "gpu_duty_cycle_percent{namespace=\"default\"}",
109
+ "interval": "",
110
+ "legendFormat": "{{pod}}",
111
+ "refId": "A"
112
+ }
113
+ ],
114
+ "title": "GPU Duty Cycle by Pod",
115
+ "type": "timeseries"
116
+ },
117
+ {
118
+ "datasource": "Prometheus",
119
+ "fieldConfig": {
120
+ "defaults": {
121
+ "color": {
122
+ "mode": "palette-classic"
123
+ },
124
+ "custom": {
125
+ "axisBorderShow": false,
126
+ "axisCenteredZero": false,
127
+ "axisColorMode": "text",
128
+ "axisLabel": "",
129
+ "axisPlacement": "auto",
130
+ "barAlignment": 0,
131
+ "barWidthFactor": 0.6,
132
+ "drawStyle": "line",
133
+ "fillOpacity": 0,
134
+ "gradientMode": "none",
135
+ "hideFrom": {
136
+ "legend": false,
137
+ "tooltip": false,
138
+ "viz": false
139
+ },
140
+ "insertNulls": false,
141
+ "lineInterpolation": "linear",
142
+ "lineWidth": 1,
143
+ "pointSize": 5,
144
+ "scaleDistribution": {
145
+ "type": "linear"
146
+ },
147
+ "showPoints": "auto",
148
+ "spanNulls": false,
149
+ "stacking": {
150
+ "group": "A",
151
+ "mode": "none"
152
+ },
153
+ "thresholdsStyle": {
154
+ "mode": "off"
155
+ }
156
+ },
157
+ "mappings": [],
158
+ "thresholds": {
159
+ "mode": "absolute",
160
+ "steps": [
161
+ {
162
+ "color": "green"
163
+ },
164
+ {
165
+ "color": "red",
166
+ "value": 80
167
+ }
168
+ ]
169
+ },
170
+ "unit": "none"
171
+ },
172
+ "overrides": []
173
+ },
174
+ "gridPos": {
175
+ "h": 7,
176
+ "w": 24,
177
+ "x": 0,
178
+ "y": 8
179
+ },
180
+ "id": 2,
181
+ "options": {
182
+ "legend": {
183
+ "calcs": [],
184
+ "displayMode": "table",
185
+ "placement": "bottom",
186
+ "showLegend": true
187
+ },
188
+ "tooltip": {
189
+ "hideZeros": false,
190
+ "mode": "multi",
191
+ "sort": "none"
192
+ }
193
+ },
194
+ "pluginVersion": "12.0.0",
195
+ "targets": [
196
+ {
197
+ "expr": "kube_horizontalpodautoscaler_status_desired_replicas{horizontalpodautoscaler=\"tpi-defect-detector-hpa\"}",
198
+ "legendFormat": "Desired Replicas",
199
+ "refId": "A"
200
+ },
201
+ {
202
+ "expr": "kube_horizontalpodautoscaler_status_current_replicas{horizontalpodautoscaler=\"tpi-defect-detector-hpa\"}",
203
+ "legendFormat": "Current Replicas",
204
+ "refId": "B"
205
+ }
206
+ ],
207
+ "title": "HPA Desired vs Current Replicas",
208
+ "type": "timeseries"
209
+ },
210
+ {
211
+ "datasource": "Prometheus",
212
+ "fieldConfig": {
213
+ "defaults": {
214
+ "color": {
215
+ "mode": "palette-classic"
216
+ },
217
+ "custom": {
218
+ "axisBorderShow": false,
219
+ "axisCenteredZero": false,
220
+ "axisColorMode": "text",
221
+ "axisLabel": "",
222
+ "axisPlacement": "auto",
223
+ "barAlignment": 0,
224
+ "barWidthFactor": 0.6,
225
+ "drawStyle": "line",
226
+ "fillOpacity": 0,
227
+ "gradientMode": "none",
228
+ "hideFrom": {
229
+ "legend": false,
230
+ "tooltip": false,
231
+ "viz": false
232
+ },
233
+ "insertNulls": false,
234
+ "lineInterpolation": "linear",
235
+ "lineWidth": 1,
236
+ "pointSize": 5,
237
+ "scaleDistribution": {
238
+ "type": "linear"
239
+ },
240
+ "showPoints": "auto",
241
+ "spanNulls": false,
242
+ "stacking": {
243
+ "group": "A",
244
+ "mode": "none"
245
+ },
246
+ "thresholdsStyle": {
247
+ "mode": "off"
248
+ }
249
+ },
250
+ "mappings": [],
251
+ "thresholds": {
252
+ "mode": "absolute",
253
+ "steps": [
254
+ {
255
+ "color": "green"
256
+ },
257
+ {
258
+ "color": "red",
259
+ "value": 80
260
+ }
261
+ ]
262
+ },
263
+ "unit": "none"
264
+ },
265
+ "overrides": []
266
+ },
267
+ "gridPos": {
268
+ "h": 7,
269
+ "w": 24,
270
+ "x": 0,
271
+ "y": 15
272
+ },
273
+ "id": 3,
274
+ "options": {
275
+ "legend": {
276
+ "calcs": [],
277
+ "displayMode": "table",
278
+ "placement": "bottom",
279
+ "showLegend": true
280
+ },
281
+ "tooltip": {
282
+ "hideZeros": false,
283
+ "mode": "single",
284
+ "sort": "none"
285
+ }
286
+ },
287
+ "pluginVersion": "12.0.0",
288
+ "targets": [
289
+ {
290
+ "expr": "sum(kube_pod_status_ready{namespace=\"default\", condition=\"true\", pod=~\"tpi-defect-detector.*\"})",
291
+ "legendFormat": "Ready Pods",
292
+ "refId": "A"
293
+ }
294
+ ],
295
+ "title": "Ready Pods Matching Pattern",
296
+ "type": "timeseries"
297
+ }
298
+ ],
299
+ "preload": false,
300
+ "refresh": "1m",
301
+ "schemaVersion": 41,
302
+ "tags": [
303
+ "gpu",
304
+ "autoscaling",
305
+ "hpa"
306
+ ],
307
+ "templating": {
308
+ "list": []
309
+ },
310
+ "time": {
311
+ "from": "now-3h",
312
+ "to": "now"
313
+ },
314
+ "timepicker": {},
315
+ "timezone": "browser",
316
+ "title": "GPU Autoscaling - tpi-defect-detector",
317
+ "uid": "feh52q72w0b28a",
318
+ "version": 3
319
+ }
@@ -0,0 +1,166 @@
1
+ {
2
+ "title": "Kubernetes API Server Latency",
3
+ "tags": ["kubernetes", "apiserver", "latency"],
4
+ "timezone": "browser",
5
+ "schemaVersion": 36,
6
+ "version": 15,
7
+ "refresh": "5m",
8
+ "time": {
9
+ "from": "now-6h",
10
+ "to": "now"
11
+ },
12
+ "timepicker": {
13
+ "refresh_intervals": ["30s", "1m", "5m", "15m", "30m", "1h"],
14
+ "time_options": ["5m", "15m", "1h", "6h", "12h", "24h"]
15
+ },
16
+ "templating": {
17
+ "list": [
18
+ {
19
+ "name": "datasource",
20
+ "type": "datasource",
21
+ "query": "prometheus",
22
+ "label": "Prometheus",
23
+ "refresh": 1
24
+ }
25
+ ]
26
+ },
27
+ "panels": [
28
+ {
29
+ "type": "bargauge",
30
+ "title": "Top 5 Latency Offenders (99th percentile)",
31
+ "gridPos": { "x": 0, "y": 0, "w": 12, "h": 8 },
32
+ "datasource": "$datasource",
33
+ "targets": [
34
+ {
35
+ "expr": "topk(5, histogram_quantile(0.99, sum(rate(apiserver_request_duration_seconds_bucket{verb!~\"(?:CONNECT|WATCHLIST|WATCH|PROXY)\"}[5m])) by (le, verb, resource)))",
36
+ "format": "time_series",
37
+ "refId": "A",
38
+ "instant": true,
39
+ "legendFormat": "{{verb}} {{resource}}"
40
+ }
41
+ ],
42
+ "fieldConfig": {
43
+ "defaults": {
44
+ "unit": "s",
45
+ "thresholds": {
46
+ "mode": "absolute",
47
+ "steps": [
48
+ { "color": "green", "value": null },
49
+ { "color": "yellow", "value": 1 },
50
+ { "color": "red", "value": 2 }
51
+ ]
52
+ }
53
+ },
54
+ "overrides": []
55
+ }
56
+ },
57
+ {
58
+ "type": "timeseries",
59
+ "title": "99th Percentile Latency by API Resource",
60
+ "gridPos": { "x": 12, "y": 0, "w": 12, "h": 8 },
61
+ "datasource": "$datasource",
62
+ "targets": [
63
+ {
64
+ "expr": "histogram_quantile(0.99, sum(rate(apiserver_request_duration_seconds_bucket{verb!~\"(?:CONNECT|WATCHLIST|WATCH|PROXY)\"}[5m])) by (le, verb, resource))",
65
+ "format": "time_series",
66
+ "refId": "B",
67
+ "legendFormat": "{{verb}} {{resource}}"
68
+ }
69
+ ],
70
+ "fieldConfig": {
71
+ "defaults": { "unit": "s" },
72
+ "overrides": []
73
+ }
74
+ },
75
+ {
76
+ "type": "timeseries",
77
+ "title": "POST pods Latency by Namespace (99th percentile)",
78
+ "gridPos": { "x": 0, "y": 8, "w": 24, "h": 8 },
79
+ "datasource": "$datasource",
80
+ "targets": [
81
+ {
82
+ "expr": "histogram_quantile(0.99, sum(rate(apiserver_request_duration_seconds_bucket{verb=\"POST\", resource=\"pods\"}[5m])) by (le, namespace))",
83
+ "format": "time_series",
84
+ "refId": "E",
85
+ "legendFormat": "{{namespace}}"
86
+ }
87
+ ],
88
+ "fieldConfig": {
89
+ "defaults": {
90
+ "unit": "s"
91
+ },
92
+ "overrides": []
93
+ }
94
+ },
95
+ {
96
+ "type": "timeseries",
97
+ "title": "Admission Controller Latency (99th percentile) + Count",
98
+ "gridPos": { "x": 0, "y": 16, "w": 24, "h": 8 },
99
+ "datasource": "$datasource",
100
+ "targets": [
101
+ {
102
+ "expr": "histogram_quantile(0.99, sum(rate(apiserver_admission_controller_admission_duration_seconds_bucket[5m])) by (le, name))",
103
+ "format": "time_series",
104
+ "refId": "F",
105
+ "legendFormat": "Latency - {{name}}"
106
+ },
107
+ {
108
+ "expr": "sum(rate(apiserver_admission_controller_admission_duration_seconds_count[5m])) by (name)",
109
+ "format": "time_series",
110
+ "refId": "G",
111
+ "legendFormat": "Count - {{name}}"
112
+ }
113
+ ],
114
+ "fieldConfig": {
115
+ "defaults": {
116
+ "unit": "s"
117
+ },
118
+ "overrides": []
119
+ },
120
+ "options": {
121
+ "tooltip": {
122
+ "mode": "multi",
123
+ "sort": "desc"
124
+ },
125
+ "legend": {
126
+ "displayMode": "table",
127
+ "placement": "bottom"
128
+ }
129
+ }
130
+ },
131
+ {
132
+ "type": "table",
133
+ "title": "API Server Request Volume (by verb/resource)",
134
+ "gridPos": { "x": 0, "y": 24, "w": 24, "h": 8 },
135
+ "datasource": "$datasource",
136
+ "targets": [
137
+ {
138
+ "expr": "sum(rate(apiserver_request_total{verb!~\"(?:CONNECT|WATCHLIST|WATCH|PROXY)\"}[5m])) by (verb, resource)",
139
+ "format": "table",
140
+ "refId": "C"
141
+ }
142
+ ],
143
+ "fieldConfig": {
144
+ "defaults": { "unit": "ops" },
145
+ "overrides": []
146
+ }
147
+ },
148
+ {
149
+ "type": "table",
150
+ "title": "Active API Latency Alerts",
151
+ "gridPos": { "x": 0, "y": 32, "w": 24, "h": 6 },
152
+ "datasource": "$datasource",
153
+ "targets": [
154
+ {
155
+ "expr": "ALERTS{alertname=~\"KubernetesApiServerLatency.*\", alertstate=\"firing\"}",
156
+ "format": "table",
157
+ "refId": "D"
158
+ }
159
+ ],
160
+ "fieldConfig": {
161
+ "defaults": {},
162
+ "overrides": []
163
+ }
164
+ }
165
+ ]
166
+ }