Skip to content

Commit ecf0429

Browse files
Add Runtime Extension dashboard
1 parent fe05ec7 commit ecf0429

File tree

2 files changed

+376
-0
lines changed

2 files changed

+376
-0
lines changed
Lines changed: 375 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,375 @@
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": 6,
22+
"links": [],
23+
"liveNow": false,
24+
"panels": [
25+
{
26+
"datasource": {
27+
"type": "prometheus",
28+
"uid": "prometheus"
29+
},
30+
"fieldConfig": {
31+
"defaults": {
32+
"color": {
33+
"mode": "palette-classic"
34+
},
35+
"custom": {
36+
"axisCenteredZero": false,
37+
"axisColorMode": "text",
38+
"axisLabel": "",
39+
"axisPlacement": "auto",
40+
"barAlignment": 0,
41+
"drawStyle": "line",
42+
"fillOpacity": 0,
43+
"gradientMode": "none",
44+
"hideFrom": {
45+
"legend": false,
46+
"tooltip": false,
47+
"viz": false
48+
},
49+
"lineInterpolation": "linear",
50+
"lineWidth": 1,
51+
"pointSize": 5,
52+
"scaleDistribution": {
53+
"type": "linear"
54+
},
55+
"showPoints": "auto",
56+
"spanNulls": false,
57+
"stacking": {
58+
"group": "A",
59+
"mode": "none"
60+
},
61+
"thresholdsStyle": {
62+
"mode": "off"
63+
}
64+
},
65+
"mappings": [],
66+
"thresholds": {
67+
"mode": "absolute",
68+
"steps": [
69+
{
70+
"color": "green",
71+
"value": null
72+
},
73+
{
74+
"color": "red",
75+
"value": 80
76+
}
77+
]
78+
}
79+
},
80+
"overrides": []
81+
},
82+
"gridPos": {
83+
"h": 13,
84+
"w": 24,
85+
"x": 0,
86+
"y": 0
87+
},
88+
"id": 1,
89+
"options": {
90+
"legend": {
91+
"calcs": [],
92+
"displayMode": "list",
93+
"placement": "bottom",
94+
"showLegend": true
95+
},
96+
"tooltip": {
97+
"mode": "single",
98+
"sort": "none"
99+
}
100+
},
101+
"targets": [
102+
{
103+
"datasource": {
104+
"type": "prometheus",
105+
"uid": "prometheus"
106+
},
107+
"editorMode": "code",
108+
"expr": "sum(capi_runtime_sdk_requests_total{hook=~\"$hook\"}) by (hook)",
109+
"range": true,
110+
"refId": "A"
111+
}
112+
],
113+
"title": "Request total",
114+
"type": "timeseries"
115+
},
116+
{
117+
"datasource": {
118+
"type": "prometheus",
119+
"uid": "prometheus"
120+
},
121+
"fieldConfig": {
122+
"defaults": {
123+
"color": {
124+
"mode": "palette-classic"
125+
},
126+
"custom": {
127+
"axisCenteredZero": false,
128+
"axisColorMode": "text",
129+
"axisLabel": "",
130+
"axisPlacement": "auto",
131+
"barAlignment": 0,
132+
"drawStyle": "line",
133+
"fillOpacity": 0,
134+
"gradientMode": "none",
135+
"hideFrom": {
136+
"legend": false,
137+
"tooltip": false,
138+
"viz": false
139+
},
140+
"lineInterpolation": "linear",
141+
"lineWidth": 1,
142+
"pointSize": 5,
143+
"scaleDistribution": {
144+
"type": "linear"
145+
},
146+
"showPoints": "auto",
147+
"spanNulls": false,
148+
"stacking": {
149+
"group": "A",
150+
"mode": "none"
151+
},
152+
"thresholdsStyle": {
153+
"mode": "off"
154+
}
155+
},
156+
"mappings": [],
157+
"thresholds": {
158+
"mode": "absolute",
159+
"steps": [
160+
{
161+
"color": "green",
162+
"value": null
163+
},
164+
{
165+
"color": "red",
166+
"value": 80
167+
}
168+
]
169+
}
170+
},
171+
"overrides": [
172+
{
173+
"__systemRef": "hideSeriesFrom",
174+
"matcher": {
175+
"id": "byNames",
176+
"options": {
177+
"mode": "exclude",
178+
"names": [
179+
"{hook=\"GeneratePatches\"}"
180+
],
181+
"prefix": "All except:",
182+
"readOnly": true
183+
}
184+
},
185+
"properties": [
186+
{
187+
"id": "custom.hideFrom",
188+
"value": {
189+
"legend": false,
190+
"tooltip": false,
191+
"viz": true
192+
}
193+
}
194+
]
195+
}
196+
]
197+
},
198+
"gridPos": {
199+
"h": 8,
200+
"w": 24,
201+
"x": 0,
202+
"y": 13
203+
},
204+
"id": 2,
205+
"options": {
206+
"legend": {
207+
"calcs": [],
208+
"displayMode": "list",
209+
"placement": "bottom",
210+
"showLegend": true
211+
},
212+
"tooltip": {
213+
"mode": "single",
214+
"sort": "none"
215+
}
216+
},
217+
"targets": [
218+
{
219+
"datasource": {
220+
"type": "prometheus",
221+
"uid": "prometheus"
222+
},
223+
"editorMode": "code",
224+
"expr": "sum(rate(capi_runtime_sdk_requests_total{hook=~\"$hook\"}[1m])) by (hook)",
225+
"range": true,
226+
"refId": "A"
227+
}
228+
],
229+
"title": "Request per minute",
230+
"type": "timeseries"
231+
},
232+
{
233+
"datasource": {
234+
"type": "prometheus",
235+
"uid": "prometheus"
236+
},
237+
"fieldConfig": {
238+
"defaults": {
239+
"color": {
240+
"mode": "palette-classic"
241+
},
242+
"custom": {
243+
"axisCenteredZero": false,
244+
"axisColorMode": "text",
245+
"axisLabel": "",
246+
"axisPlacement": "auto",
247+
"barAlignment": 0,
248+
"drawStyle": "line",
249+
"fillOpacity": 0,
250+
"gradientMode": "none",
251+
"hideFrom": {
252+
"legend": false,
253+
"tooltip": false,
254+
"viz": false
255+
},
256+
"lineInterpolation": "linear",
257+
"lineWidth": 1,
258+
"pointSize": 5,
259+
"scaleDistribution": {
260+
"type": "linear"
261+
},
262+
"showPoints": "auto",
263+
"spanNulls": false,
264+
"stacking": {
265+
"group": "A",
266+
"mode": "none"
267+
},
268+
"thresholdsStyle": {
269+
"mode": "off"
270+
}
271+
},
272+
"mappings": [],
273+
"thresholds": {
274+
"mode": "absolute",
275+
"steps": [
276+
{
277+
"color": "green",
278+
"value": null
279+
},
280+
{
281+
"color": "red",
282+
"value": 80
283+
}
284+
]
285+
}
286+
},
287+
"overrides": []
288+
},
289+
"gridPos": {
290+
"h": 13,
291+
"w": 24,
292+
"x": 0,
293+
"y": 21
294+
},
295+
"id": 3,
296+
"options": {
297+
"legend": {
298+
"calcs": [],
299+
"displayMode": "list",
300+
"placement": "bottom",
301+
"showLegend": true
302+
},
303+
"tooltip": {
304+
"mode": "single",
305+
"sort": "none"
306+
}
307+
},
308+
"targets": [
309+
{
310+
"datasource": {
311+
"type": "prometheus",
312+
"uid": "prometheus"
313+
},
314+
"editorMode": "code",
315+
"expr": "sum(rate(capi_runtime_sdk_request_duration_seconds_sum{hook=~\"$hook\"}[5m])) by (hook) / sum(rate(capi_runtime_sdk_request_duration_seconds_count{hook=~\"$hook\"}[5m])) by (hook)",
316+
"range": true,
317+
"refId": "A"
318+
}
319+
],
320+
"title": "Request average duration",
321+
"type": "timeseries"
322+
}
323+
],
324+
"refresh": "10s",
325+
"schemaVersion": 38,
326+
"style": "dark",
327+
"tags": [],
328+
"templating": {
329+
"list": [
330+
{
331+
"current": {
332+
"selected": true,
333+
"text": [
334+
"GeneratePatches",
335+
"DiscoverVariables"
336+
],
337+
"value": [
338+
"GeneratePatches",
339+
"DiscoverVariables"
340+
]
341+
},
342+
"datasource": {
343+
"type": "prometheus",
344+
"uid": "prometheus"
345+
},
346+
"definition": "label_values(hook)",
347+
"hide": 0,
348+
"includeAll": false,
349+
"label": "hook",
350+
"multi": true,
351+
"name": "hook",
352+
"options": [],
353+
"query": {
354+
"query": "label_values(hook)",
355+
"refId": "PrometheusVariableQueryEditor-VariableQuery"
356+
},
357+
"refresh": 1,
358+
"regex": "",
359+
"skipUrlSync": false,
360+
"sort": 0,
361+
"type": "query"
362+
}
363+
]
364+
},
365+
"time": {
366+
"from": "now-15m",
367+
"to": "now"
368+
},
369+
"timepicker": {},
370+
"timezone": "",
371+
"title": "Runtime Extensions",
372+
"uid": "eefe124a-7ad8-488f-8078-ef30f7b2ac21",
373+
"version": 3,
374+
"weekStart": ""
375+
}

hack/observability/grafana/kustomization.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,4 @@ configMapGenerator:
1717
- dashboards/cluster-api-state.json
1818
- dashboards/cluster-api-wl-apiserver-requests.json
1919
- dashboards/controller-runtime.json
20+
- dashboards/runtime-extensions.json

0 commit comments

Comments
 (0)