Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
gitpod-io
GitHub Repository: gitpod-io/gitpod
Path: blob/main/operations/observability/mixins/workspace/dashboards/components/image-builder.json
2506 views
1
{
2
"annotations": {
3
"list": [
4
{
5
"builtIn": 1,
6
"datasource": {
7
"type": "datasource",
8
"uid": "grafana"
9
},
10
"enable": true,
11
"hide": true,
12
"iconColor": "rgba(0, 211, 255, 1)",
13
"name": "Annotations & Alerts",
14
"target": {
15
"limit": 100,
16
"matchAny": false,
17
"tags": [],
18
"type": "dashboard"
19
},
20
"type": "dashboard"
21
}
22
]
23
},
24
"editable": true,
25
"fiscalYearStartMonth": 0,
26
"graphTooltip": 1,
27
"links": [],
28
"liveNow": false,
29
"panels": [
30
{
31
"collapsed": false,
32
"gridPos": {
33
"h": 1,
34
"w": 24,
35
"x": 0,
36
"y": 0
37
},
38
"id": 68,
39
"panels": [],
40
"title": "Image build rate (per cluster)",
41
"type": "row"
42
},
43
{
44
"datasource": {
45
"type": "prometheus",
46
"uid": "P4169E866C3094E38"
47
},
48
"fieldConfig": {
49
"defaults": {
50
"color": {
51
"mode": "palette-classic"
52
},
53
"custom": {
54
"axisCenteredZero": false,
55
"axisColorMode": "text",
56
"axisLabel": "",
57
"axisPlacement": "auto",
58
"barAlignment": 0,
59
"drawStyle": "line",
60
"fillOpacity": 100,
61
"gradientMode": "none",
62
"hideFrom": {
63
"legend": false,
64
"tooltip": false,
65
"viz": false
66
},
67
"lineInterpolation": "linear",
68
"lineWidth": 0,
69
"pointSize": 5,
70
"scaleDistribution": {
71
"type": "linear"
72
},
73
"showPoints": "auto",
74
"spanNulls": false,
75
"stacking": {
76
"group": "A",
77
"mode": "normal"
78
},
79
"thresholdsStyle": {
80
"mode": "off"
81
}
82
},
83
"mappings": [],
84
"min": 0,
85
"thresholds": {
86
"mode": "absolute",
87
"steps": [
88
{
89
"color": "green",
90
"value": null
91
},
92
{
93
"color": "red",
94
"value": 80
95
}
96
]
97
},
98
"unit": "reqps"
99
},
100
"overrides": [
101
{
102
"matcher": {
103
"id": "byName",
104
"options": "Success: false"
105
},
106
"properties": [
107
{
108
"id": "color",
109
"value": {
110
"fixedColor": "red",
111
"mode": "fixed"
112
}
113
}
114
]
115
}
116
]
117
},
118
"gridPos": {
119
"h": 8,
120
"w": 6,
121
"x": 0,
122
"y": 1
123
},
124
"id": 70,
125
"options": {
126
"legend": {
127
"calcs": [],
128
"displayMode": "list",
129
"placement": "bottom",
130
"showLegend": true
131
},
132
"tooltip": {
133
"mode": "single",
134
"sort": "none"
135
}
136
},
137
"repeat": "cluster",
138
"repeatDirection": "h",
139
"targets": [
140
{
141
"datasource": {
142
"type": "prometheus",
143
"uid": "P4169E866C3094E38"
144
},
145
"editorMode": "code",
146
"expr": "sum(rate(gitpod_image_builder_builds_done_total{cluster=~\"$cluster\"}[$__rate_interval])) by (success)",
147
"legendFormat": "Success: {{success}}",
148
"range": true,
149
"refId": "A"
150
}
151
],
152
"title": "$cluster",
153
"type": "timeseries"
154
},
155
{
156
"collapsed": false,
157
"datasource": {
158
"type": "datasource",
159
"uid": "grafana"
160
},
161
"gridPos": {
162
"h": 1,
163
"w": 24,
164
"x": 0,
165
"y": 9
166
},
167
"id": 34,
168
"panels": [],
169
"targets": [
170
{
171
"datasource": {
172
"type": "datasource",
173
"uid": "grafana"
174
},
175
"refId": "A"
176
}
177
],
178
"title": "gRPC Metrics",
179
"type": "row"
180
},
181
{
182
"aliasColors": {},
183
"bars": false,
184
"dashLength": 10,
185
"dashes": false,
186
"datasource": {
187
"type": "prometheus",
188
"uid": "$datasource"
189
},
190
"description": "",
191
"fieldConfig": {
192
"defaults": {
193
"links": []
194
},
195
"overrides": []
196
},
197
"fill": 1,
198
"fillGradient": 0,
199
"gridPos": {
200
"h": 9,
201
"w": 12,
202
"x": 0,
203
"y": 10
204
},
205
"hiddenSeries": false,
206
"id": 36,
207
"legend": {
208
"alignAsTable": true,
209
"avg": false,
210
"current": true,
211
"max": true,
212
"min": false,
213
"show": true,
214
"total": false,
215
"values": true
216
},
217
"lines": true,
218
"linewidth": 1,
219
"links": [],
220
"nullPointMode": "null",
221
"options": {
222
"alertThreshold": true
223
},
224
"percentage": false,
225
"pluginVersion": "9.3.2",
226
"pointradius": 2,
227
"points": false,
228
"renderer": "flot",
229
"repeatDirection": "h",
230
"seriesOverrides": [],
231
"spaceLength": 10,
232
"stack": false,
233
"steppedLine": false,
234
"targets": [
235
{
236
"datasource": {
237
"uid": "$datasource"
238
},
239
"editorMode": "code",
240
"expr": "sum(rate(grpc_server_handled_total{job=~\"image-builder.*\", cluster=~\"$cluster\", grpc_method=~\"$grpc_method\"}[1m])) by (grpc_code, grpc_method, cluster)",
241
"interval": "",
242
"legendFormat": "{{cluster}} - {{grpc_method}} - {{grpc_code}}",
243
"queryType": "randomWalk",
244
"range": true,
245
"refId": "A"
246
}
247
],
248
"thresholds": [],
249
"timeRegions": [],
250
"title": "gRPC calls handled (Server-side)",
251
"tooltip": {
252
"shared": true,
253
"sort": 2,
254
"value_type": "individual"
255
},
256
"type": "graph",
257
"xaxis": {
258
"mode": "time",
259
"show": true,
260
"values": []
261
},
262
"yaxes": [
263
{
264
"decimals": 2,
265
"format": "reqps",
266
"logBase": 1,
267
"min": "0",
268
"show": true
269
},
270
{
271
"format": "reqps",
272
"logBase": 1,
273
"show": true
274
}
275
],
276
"yaxis": {
277
"align": false
278
}
279
},
280
{
281
"aliasColors": {},
282
"bars": false,
283
"dashLength": 10,
284
"dashes": false,
285
"datasource": {
286
"type": "prometheus",
287
"uid": "$datasource"
288
},
289
"description": "",
290
"fieldConfig": {
291
"defaults": {
292
"links": []
293
},
294
"overrides": []
295
},
296
"fill": 1,
297
"fillGradient": 0,
298
"gridPos": {
299
"h": 9,
300
"w": 12,
301
"x": 12,
302
"y": 10
303
},
304
"hiddenSeries": false,
305
"id": 38,
306
"legend": {
307
"alignAsTable": true,
308
"avg": false,
309
"current": true,
310
"max": true,
311
"min": false,
312
"show": true,
313
"total": false,
314
"values": true
315
},
316
"lines": true,
317
"linewidth": 1,
318
"links": [],
319
"nullPointMode": "null",
320
"options": {
321
"alertThreshold": true
322
},
323
"percentage": false,
324
"pluginVersion": "9.3.2",
325
"pointradius": 2,
326
"points": false,
327
"renderer": "flot",
328
"repeatDirection": "h",
329
"seriesOverrides": [],
330
"spaceLength": 10,
331
"stack": false,
332
"steppedLine": false,
333
"targets": [
334
{
335
"datasource": {
336
"uid": "$datasource"
337
},
338
"editorMode": "code",
339
"expr": "sum(rate(grpc_server_started_total{job=~\"image-builder.*\", cluster=~\"$cluster\", grpc_method=~\"$grpc_method\"}[1m])) by (grpc_code, grpc_method, cluster)",
340
"interval": "",
341
"legendFormat": "{{cluster}} - {{grpc_method}} - Started",
342
"queryType": "randomWalk",
343
"range": true,
344
"refId": "A"
345
},
346
{
347
"datasource": {
348
"uid": "$datasource"
349
},
350
"editorMode": "code",
351
"expr": "sum(rate(grpc_server_handled_total{job=~\"image-builder.*\", cluster=~\"$cluster\", grpc_method=~\"$grpc_method\"}[1m])) by (grpc_method, cluster)",
352
"hide": false,
353
"interval": "",
354
"legendFormat": "{{cluster}} - {{grpc_method}} - Finished",
355
"queryType": "randomWalk",
356
"range": true,
357
"refId": "B"
358
}
359
],
360
"thresholds": [],
361
"timeRegions": [],
362
"title": "gRPC start and finish rate",
363
"tooltip": {
364
"shared": true,
365
"sort": 2,
366
"value_type": "individual"
367
},
368
"type": "graph",
369
"xaxis": {
370
"mode": "time",
371
"show": true,
372
"values": []
373
},
374
"yaxes": [
375
{
376
"decimals": 2,
377
"format": "reqps",
378
"logBase": 1,
379
"min": "0",
380
"show": true
381
},
382
{
383
"format": "none",
384
"logBase": 1,
385
"show": true
386
}
387
],
388
"yaxis": {
389
"align": false
390
}
391
},
392
{
393
"aliasColors": {},
394
"bars": false,
395
"dashLength": 10,
396
"dashes": false,
397
"datasource": {
398
"type": "prometheus",
399
"uid": "$datasource"
400
},
401
"description": "",
402
"fieldConfig": {
403
"defaults": {
404
"links": []
405
},
406
"overrides": []
407
},
408
"fill": 1,
409
"fillGradient": 0,
410
"gridPos": {
411
"h": 9,
412
"w": 12,
413
"x": 0,
414
"y": 19
415
},
416
"hiddenSeries": false,
417
"id": 40,
418
"legend": {
419
"alignAsTable": true,
420
"avg": false,
421
"current": true,
422
"max": true,
423
"min": false,
424
"show": true,
425
"total": false,
426
"values": true
427
},
428
"lines": true,
429
"linewidth": 1,
430
"links": [],
431
"maxPerRow": 2,
432
"nullPointMode": "null",
433
"options": {
434
"alertThreshold": true
435
},
436
"percentage": false,
437
"pluginVersion": "9.3.2",
438
"pointradius": 2,
439
"points": false,
440
"renderer": "flot",
441
"repeat": "grpc_method",
442
"repeatDirection": "h",
443
"seriesOverrides": [],
444
"spaceLength": 10,
445
"stack": false,
446
"steppedLine": false,
447
"targets": [
448
{
449
"datasource": {
450
"uid": "$datasource"
451
},
452
"editorMode": "code",
453
"expr": "histogram_quantile(0.99, \n sum(\n rate(grpc_server_handling_seconds_bucket{job=~\"image-builder.*\", cluster=~\"$cluster\", grpc_method=~\"$grpc_method\"}[5m])\n ) by (cluster, grpc_method, le)\n)",
454
"interval": "",
455
"legendFormat": "{{cluster}} - {{grpc_method}} - 99th Percentile",
456
"queryType": "randomWalk",
457
"range": true,
458
"refId": "A"
459
},
460
{
461
"datasource": {
462
"uid": "$datasource"
463
},
464
"editorMode": "code",
465
"expr": "histogram_quantile(0.95, \n sum(\n rate(grpc_server_handling_seconds_bucket{job=~\"image-builder.*\", cluster=~\"$cluster\", grpc_method=~\"$grpc_method\"}[5m])\n ) by (cluster, grpc_method, le)\n)",
466
"interval": "",
467
"legendFormat": "{{cluster}} - {{grpc_method}} - 95th Percentile",
468
"queryType": "randomWalk",
469
"range": true,
470
"refId": "B"
471
},
472
{
473
"datasource": {
474
"uid": "$datasource"
475
},
476
"editorMode": "code",
477
"expr": "histogram_quantile(0.50, \n sum(\n rate(grpc_server_handling_seconds_bucket{job=~\"image-builder.*\", cluster=~\"$cluster\", grpc_method=~\"$grpc_method\"}[5m])\n ) by (cluster, grpc_method, le)\n)",
478
"interval": "",
479
"legendFormat": "{{cluster}} - {{grpc_method}} - 50th Percentile",
480
"queryType": "randomWalk",
481
"range": true,
482
"refId": "C"
483
},
484
{
485
"datasource": {
486
"uid": "$datasource"
487
},
488
"editorMode": "code",
489
"expr": " sum(\n rate(grpc_server_handling_seconds_sum{job=~\"image-builder.*\", cluster=~\"$cluster\", grpc_method=\"$grpc_method\"}[5m])\n ) by (cluster, grpc_method)\n /\n sum(\n rate(grpc_server_handling_seconds_count{job=~\"image-builder.*\", cluster=~\"$cluster\", grpc_method=\"$grpc_method\"}[5m])\n ) by (cluster, grpc_method)",
490
"hide": false,
491
"interval": "",
492
"legendFormat": "{{cluster}} - {{grpc_method}} - avg",
493
"queryType": "randomWalk",
494
"range": true,
495
"refId": "D"
496
}
497
],
498
"thresholds": [],
499
"timeRegions": [],
500
"title": "$grpc_method: Time handling gRPC calls",
501
"tooltip": {
502
"shared": true,
503
"sort": 0,
504
"value_type": "individual"
505
},
506
"type": "graph",
507
"xaxis": {
508
"mode": "time",
509
"show": true,
510
"values": []
511
},
512
"yaxes": [
513
{
514
"format": "s",
515
"logBase": 1,
516
"min": "0",
517
"show": true
518
},
519
{
520
"format": "reqps",
521
"logBase": 1,
522
"show": true
523
}
524
],
525
"yaxis": {
526
"align": false
527
}
528
},
529
{
530
"collapsed": true,
531
"datasource": {
532
"type": "datasource",
533
"uid": "grafana"
534
},
535
"gridPos": {
536
"h": 1,
537
"w": 24,
538
"x": 0,
539
"y": 37
540
},
541
"id": 16,
542
"panels": [
543
{
544
"datasource": {
545
"uid": "$datasource"
546
},
547
"fieldConfig": {
548
"defaults": {
549
"color": {
550
"mode": "palette-classic"
551
},
552
"custom": {
553
"axisCenteredZero": false,
554
"axisColorMode": "text",
555
"axisLabel": "",
556
"axisPlacement": "auto",
557
"barAlignment": 0,
558
"drawStyle": "line",
559
"fillOpacity": 0,
560
"gradientMode": "none",
561
"hideFrom": {
562
"legend": false,
563
"tooltip": false,
564
"viz": false
565
},
566
"lineInterpolation": "linear",
567
"lineWidth": 1,
568
"pointSize": 5,
569
"scaleDistribution": {
570
"type": "linear"
571
},
572
"showPoints": "auto",
573
"spanNulls": false,
574
"stacking": {
575
"group": "A",
576
"mode": "none"
577
},
578
"thresholdsStyle": {
579
"mode": "off"
580
}
581
},
582
"mappings": [],
583
"thresholds": {
584
"mode": "absolute",
585
"steps": [
586
{
587
"color": "green"
588
},
589
{
590
"color": "red",
591
"value": 80
592
}
593
]
594
}
595
},
596
"overrides": []
597
},
598
"gridPos": {
599
"h": 7,
600
"w": 10,
601
"x": 0,
602
"y": 36
603
},
604
"id": 64,
605
"options": {
606
"legend": {
607
"calcs": [],
608
"displayMode": "table",
609
"placement": "right",
610
"showLegend": true
611
},
612
"tooltip": {
613
"mode": "single",
614
"sort": "none"
615
}
616
},
617
"targets": [
618
{
619
"datasource": {
620
"uid": "$datasource"
621
},
622
"exemplar": true,
623
"expr": "kube_pod_container_info{cluster=~\"$cluster\", pod=~\"$pod\", image=~\".+\", container=~\"service|image-builder-mk3\"}",
624
"interval": "",
625
"legendFormat": "{{cluster}} - {{image}}",
626
"queryType": "randomWalk",
627
"refId": "A"
628
}
629
],
630
"title": "Container image version",
631
"type": "timeseries"
632
},
633
{
634
"aliasColors": {},
635
"bars": false,
636
"dashLength": 10,
637
"dashes": false,
638
"datasource": {
639
"uid": "$datasource"
640
},
641
"decimals": 2,
642
"fill": 1,
643
"fillGradient": 0,
644
"gridPos": {
645
"h": 7,
646
"w": 7,
647
"x": 10,
648
"y": 36
649
},
650
"hiddenSeries": false,
651
"id": 2,
652
"legend": {
653
"alignAsTable": true,
654
"avg": true,
655
"current": true,
656
"max": true,
657
"min": false,
658
"show": true,
659
"sort": "current",
660
"sortDesc": true,
661
"total": false,
662
"values": true
663
},
664
"lines": true,
665
"linewidth": 1,
666
"nullPointMode": "null",
667
"options": {
668
"alertThreshold": true
669
},
670
"percentage": false,
671
"pluginVersion": "9.3.1",
672
"pointradius": 2,
673
"points": false,
674
"renderer": "flot",
675
"seriesOverrides": [],
676
"spaceLength": 10,
677
"stack": false,
678
"steppedLine": false,
679
"targets": [
680
{
681
"datasource": {
682
"uid": "$datasource"
683
},
684
"expr": "sum(\n rate(container_cpu_usage_seconds_total{container!=\"POD\", pod!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
685
"interval": "",
686
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Cores being used",
687
"queryType": "randomWalk",
688
"refId": "A"
689
}
690
],
691
"thresholds": [],
692
"timeRegions": [],
693
"title": "CPU Utilization",
694
"tooltip": {
695
"shared": true,
696
"sort": 2,
697
"value_type": "individual"
698
},
699
"type": "graph",
700
"xaxis": {
701
"mode": "time",
702
"show": true,
703
"values": []
704
},
705
"yaxes": [
706
{
707
"decimals": 2,
708
"format": "short",
709
"logBase": 1,
710
"min": "0",
711
"show": true
712
},
713
{
714
"format": "short",
715
"logBase": 1,
716
"show": true
717
}
718
],
719
"yaxis": {
720
"align": false
721
}
722
},
723
{
724
"aliasColors": {},
725
"bars": false,
726
"dashLength": 10,
727
"dashes": false,
728
"datasource": {
729
"uid": "$datasource"
730
},
731
"description": "Saturation > 100% means that the container is requesting more than its limits.\n\nKubernetes will start to throttle CPU when that happens. That's a sign of degraded performance.\n\n'No Data' indicates that the pod has no CPU limits.",
732
"fill": 1,
733
"fillGradient": 0,
734
"gridPos": {
735
"h": 7,
736
"w": 7,
737
"x": 17,
738
"y": 36
739
},
740
"hiddenSeries": false,
741
"id": 4,
742
"legend": {
743
"avg": false,
744
"current": false,
745
"max": false,
746
"min": false,
747
"show": true,
748
"total": false,
749
"values": false
750
},
751
"lines": true,
752
"linewidth": 1,
753
"nullPointMode": "null",
754
"options": {
755
"alertThreshold": true
756
},
757
"percentage": false,
758
"pluginVersion": "9.3.1",
759
"pointradius": 2,
760
"points": false,
761
"renderer": "flot",
762
"seriesOverrides": [
763
{
764
"alias": "/.*CPU Throttles/",
765
"yaxis": 2
766
}
767
],
768
"spaceLength": 10,
769
"stack": false,
770
"steppedLine": false,
771
"targets": [
772
{
773
"datasource": {
774
"uid": "$datasource"
775
},
776
"expr": "sum(\n rate(container_cpu_usage_seconds_total{container!=\"POD\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)\n/\nsum(\n kube_pod_container_resource_limits_cpu_cores{container!=\"POD\", cluster=\"$cluster\", pod=~\"$pod\"}\n) by (pod, cluster, node)\n",
777
"interval": "",
778
"legendFormat": "{{cluster}} - {{node} - {{pod}} - CPU Saturation",
779
"queryType": "randomWalk",
780
"refId": "A"
781
},
782
{
783
"datasource": {
784
"uid": "$datasource"
785
},
786
"expr": "sum(\nrate(container_cpu_cfs_throttled_seconds_total{container!=\"POD\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod)",
787
"interval": "",
788
"legendFormat": "{{pod}} - CPU Throttles",
789
"queryType": "randomWalk",
790
"refId": "B"
791
}
792
],
793
"thresholds": [],
794
"timeRegions": [],
795
"title": "CPU Saturation",
796
"tooltip": {
797
"shared": true,
798
"sort": 2,
799
"value_type": "individual"
800
},
801
"type": "graph",
802
"xaxis": {
803
"mode": "time",
804
"show": true,
805
"values": []
806
},
807
"yaxes": [
808
{
809
"decimals": 2,
810
"format": "percentunit",
811
"logBase": 1,
812
"min": "0",
813
"show": true
814
},
815
{
816
"format": "s",
817
"logBase": 1,
818
"show": true
819
}
820
],
821
"yaxis": {
822
"align": false
823
}
824
},
825
{
826
"aliasColors": {},
827
"bars": false,
828
"dashLength": 10,
829
"dashes": false,
830
"datasource": {
831
"uid": "$datasource"
832
},
833
"fill": 1,
834
"fillGradient": 0,
835
"gridPos": {
836
"h": 7,
837
"w": 12,
838
"x": 0,
839
"y": 43
840
},
841
"hiddenSeries": false,
842
"id": 6,
843
"legend": {
844
"alignAsTable": true,
845
"avg": true,
846
"current": true,
847
"max": true,
848
"min": false,
849
"show": true,
850
"total": false,
851
"values": true
852
},
853
"lines": true,
854
"linewidth": 1,
855
"nullPointMode": "null",
856
"options": {
857
"alertThreshold": true
858
},
859
"percentage": false,
860
"pluginVersion": "9.3.1",
861
"pointradius": 2,
862
"points": false,
863
"renderer": "flot",
864
"seriesOverrides": [],
865
"spaceLength": 10,
866
"stack": false,
867
"steppedLine": false,
868
"targets": [
869
{
870
"datasource": {
871
"uid": "$datasource"
872
},
873
"expr": "sum(container_memory_working_set_bytes{container!=\"POD\", container!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}) by (pod, cluster, node)",
874
"interval": "",
875
"legendFormat": "{{cluster}} - {{node}} - {{pod}}",
876
"queryType": "randomWalk",
877
"refId": "A"
878
}
879
],
880
"thresholds": [],
881
"timeRegions": [],
882
"title": "Memory Utilization",
883
"tooltip": {
884
"shared": true,
885
"sort": 2,
886
"value_type": "individual"
887
},
888
"type": "graph",
889
"xaxis": {
890
"mode": "time",
891
"show": true,
892
"values": []
893
},
894
"yaxes": [
895
{
896
"format": "bytes",
897
"logBase": 1,
898
"min": "0",
899
"show": true
900
},
901
{
902
"format": "short",
903
"logBase": 1,
904
"show": true
905
}
906
],
907
"yaxis": {
908
"align": false
909
}
910
},
911
{
912
"aliasColors": {},
913
"bars": false,
914
"dashLength": 10,
915
"dashes": false,
916
"datasource": {
917
"uid": "$datasource"
918
},
919
"decimals": 4,
920
"description": "Memory can't be throttled. When a container reaches 100% of its memory limits, Kubernetes will kill the container and restart it.\n\n'No Data' indicates that the pod doesn't have Memory limits.",
921
"fill": 1,
922
"fillGradient": 0,
923
"gridPos": {
924
"h": 7,
925
"w": 12,
926
"x": 12,
927
"y": 43
928
},
929
"hiddenSeries": false,
930
"id": 8,
931
"legend": {
932
"alignAsTable": true,
933
"avg": true,
934
"current": true,
935
"max": true,
936
"min": false,
937
"show": true,
938
"total": false,
939
"values": true
940
},
941
"lines": true,
942
"linewidth": 1,
943
"nullPointMode": "null",
944
"options": {
945
"alertThreshold": true
946
},
947
"percentage": false,
948
"pluginVersion": "9.3.1",
949
"pointradius": 2,
950
"points": false,
951
"renderer": "flot",
952
"seriesOverrides": [],
953
"spaceLength": 10,
954
"stack": false,
955
"steppedLine": false,
956
"targets": [
957
{
958
"datasource": {
959
"uid": "$datasource"
960
},
961
"expr": "sum(\nrate(container_memory_working_set_bytes{container!=\"POD\", container!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)\n/\nsum(\n kube_pod_container_resource_limits{container!=\"POD\", cluster=\"$cluster\", pod=~\"$pod\", resource=\"memory\"}\n) by (pod, cluster, node)\n",
962
"interval": "",
963
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Memory Saturation",
964
"queryType": "randomWalk",
965
"refId": "A"
966
}
967
],
968
"thresholds": [],
969
"timeRegions": [],
970
"title": "Memory Saturation",
971
"tooltip": {
972
"shared": true,
973
"sort": 2,
974
"value_type": "individual"
975
},
976
"type": "graph",
977
"xaxis": {
978
"mode": "time",
979
"show": true,
980
"values": []
981
},
982
"yaxes": [
983
{
984
"decimals": 2,
985
"format": "percentunit",
986
"logBase": 1,
987
"min": "0",
988
"show": true
989
},
990
{
991
"format": "short",
992
"logBase": 1,
993
"show": true
994
}
995
],
996
"yaxis": {
997
"align": false
998
}
999
},
1000
{
1001
"aliasColors": {},
1002
"bars": false,
1003
"dashLength": 10,
1004
"dashes": false,
1005
"datasource": {
1006
"uid": "$datasource"
1007
},
1008
"fill": 1,
1009
"fillGradient": 0,
1010
"gridPos": {
1011
"h": 7,
1012
"w": 8,
1013
"x": 0,
1014
"y": 50
1015
},
1016
"hiddenSeries": false,
1017
"id": 10,
1018
"legend": {
1019
"alignAsTable": true,
1020
"avg": false,
1021
"current": true,
1022
"max": false,
1023
"min": false,
1024
"show": true,
1025
"total": false,
1026
"values": true
1027
},
1028
"lines": true,
1029
"linewidth": 1,
1030
"nullPointMode": "null",
1031
"options": {
1032
"alertThreshold": true
1033
},
1034
"percentage": false,
1035
"pluginVersion": "9.3.1",
1036
"pointradius": 2,
1037
"points": false,
1038
"renderer": "flot",
1039
"seriesOverrides": [],
1040
"spaceLength": 10,
1041
"stack": false,
1042
"steppedLine": false,
1043
"targets": [
1044
{
1045
"datasource": {
1046
"uid": "$datasource"
1047
},
1048
"expr": "sum (\n rate(container_network_receive_bytes_total{container!=\"POD\", pod!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
1049
"interval": "",
1050
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Received",
1051
"queryType": "randomWalk",
1052
"refId": "A"
1053
},
1054
{
1055
"datasource": {
1056
"uid": "$datasource"
1057
},
1058
"expr": "sum (\n rate(container_network_transmit_bytes_total{container!=\"POD\", pod!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
1059
"interval": "",
1060
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Transmitted",
1061
"queryType": "randomWalk",
1062
"refId": "B"
1063
}
1064
],
1065
"thresholds": [],
1066
"timeRegions": [],
1067
"title": "Network Utilization",
1068
"tooltip": {
1069
"shared": true,
1070
"sort": 2,
1071
"value_type": "individual"
1072
},
1073
"type": "graph",
1074
"xaxis": {
1075
"mode": "time",
1076
"show": true,
1077
"values": []
1078
},
1079
"yaxes": [
1080
{
1081
"format": "binBps",
1082
"logBase": 1,
1083
"min": "0",
1084
"show": true
1085
},
1086
{
1087
"format": "short",
1088
"logBase": 1,
1089
"show": true
1090
}
1091
],
1092
"yaxis": {
1093
"align": false
1094
}
1095
},
1096
{
1097
"aliasColors": {},
1098
"bars": false,
1099
"dashLength": 10,
1100
"dashes": false,
1101
"datasource": {
1102
"uid": "$datasource"
1103
},
1104
"fill": 1,
1105
"fillGradient": 0,
1106
"gridPos": {
1107
"h": 7,
1108
"w": 8,
1109
"x": 8,
1110
"y": 50
1111
},
1112
"hiddenSeries": false,
1113
"id": 30,
1114
"legend": {
1115
"alignAsTable": true,
1116
"avg": false,
1117
"current": true,
1118
"max": false,
1119
"min": false,
1120
"rightSide": false,
1121
"show": true,
1122
"total": false,
1123
"values": true
1124
},
1125
"lines": true,
1126
"linewidth": 1,
1127
"nullPointMode": "null",
1128
"options": {
1129
"alertThreshold": true
1130
},
1131
"percentage": false,
1132
"pluginVersion": "9.3.1",
1133
"pointradius": 2,
1134
"points": false,
1135
"renderer": "flot",
1136
"seriesOverrides": [],
1137
"spaceLength": 10,
1138
"stack": false,
1139
"steppedLine": false,
1140
"targets": [
1141
{
1142
"datasource": {
1143
"uid": "$datasource"
1144
},
1145
"expr": "sum (\n rate(container_network_receive_packets_dropped_total{container!=\"POD\", pod!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
1146
"interval": "",
1147
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Receive",
1148
"queryType": "randomWalk",
1149
"refId": "A"
1150
},
1151
{
1152
"datasource": {
1153
"uid": "$datasource"
1154
},
1155
"expr": "sum (\n rate(container_network_transmit_packets_dropped_total{container!=\"POD\", pod!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
1156
"interval": "",
1157
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Transmit",
1158
"queryType": "randomWalk",
1159
"refId": "B"
1160
}
1161
],
1162
"thresholds": [],
1163
"timeRegions": [],
1164
"title": "Network Saturation (Packets Dropped)",
1165
"tooltip": {
1166
"shared": true,
1167
"sort": 2,
1168
"value_type": "individual"
1169
},
1170
"type": "graph",
1171
"xaxis": {
1172
"mode": "time",
1173
"show": true,
1174
"values": []
1175
},
1176
"yaxes": [
1177
{
1178
"decimals": 2,
1179
"format": "pps",
1180
"logBase": 1,
1181
"min": "0",
1182
"show": true
1183
},
1184
{
1185
"format": "short",
1186
"logBase": 1,
1187
"show": true
1188
}
1189
],
1190
"yaxis": {
1191
"align": false
1192
}
1193
},
1194
{
1195
"aliasColors": {},
1196
"bars": false,
1197
"dashLength": 10,
1198
"dashes": false,
1199
"datasource": {
1200
"uid": "$datasource"
1201
},
1202
"fill": 1,
1203
"fillGradient": 0,
1204
"gridPos": {
1205
"h": 7,
1206
"w": 8,
1207
"x": 16,
1208
"y": 50
1209
},
1210
"hiddenSeries": false,
1211
"id": 32,
1212
"legend": {
1213
"alignAsTable": true,
1214
"avg": false,
1215
"current": true,
1216
"max": false,
1217
"min": false,
1218
"show": true,
1219
"total": false,
1220
"values": true
1221
},
1222
"lines": true,
1223
"linewidth": 1,
1224
"nullPointMode": "null",
1225
"options": {
1226
"alertThreshold": true
1227
},
1228
"percentage": false,
1229
"pluginVersion": "9.3.1",
1230
"pointradius": 2,
1231
"points": false,
1232
"renderer": "flot",
1233
"seriesOverrides": [],
1234
"spaceLength": 10,
1235
"stack": false,
1236
"steppedLine": false,
1237
"targets": [
1238
{
1239
"datasource": {
1240
"uid": "$datasource"
1241
},
1242
"expr": "sum (\n rate(container_network_receive_errors_total{container!=\"POD\", pod!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
1243
"interval": "",
1244
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Received",
1245
"queryType": "randomWalk",
1246
"refId": "A"
1247
},
1248
{
1249
"datasource": {
1250
"uid": "$datasource"
1251
},
1252
"expr": "sum (\n rate(container_network_transmit_errors_total{container!=\"POD\", pod!=\"\", cluster=~\"$cluster\", node=~\"$node\", pod=~\"$pod\"}[1m])\n) by (pod, cluster, node)",
1253
"interval": "",
1254
"legendFormat": "{{cluster}} - {{node}} - {{pod}} - Transmitted",
1255
"queryType": "randomWalk",
1256
"refId": "B"
1257
}
1258
],
1259
"thresholds": [],
1260
"timeRegions": [],
1261
"title": "Network Errors",
1262
"tooltip": {
1263
"shared": true,
1264
"sort": 2,
1265
"value_type": "individual"
1266
},
1267
"type": "graph",
1268
"xaxis": {
1269
"mode": "time",
1270
"show": true,
1271
"values": []
1272
},
1273
"yaxes": [
1274
{
1275
"decimals": 2,
1276
"format": "Errors/s",
1277
"logBase": 1,
1278
"min": "0",
1279
"show": true
1280
},
1281
{
1282
"format": "short",
1283
"logBase": 1,
1284
"show": true
1285
}
1286
],
1287
"yaxis": {
1288
"align": false
1289
}
1290
},
1291
{
1292
"aliasColors": {},
1293
"bars": false,
1294
"dashLength": 10,
1295
"dashes": false,
1296
"datasource": {
1297
"uid": "$datasource"
1298
},
1299
"decimals": 4,
1300
"description": "",
1301
"fill": 1,
1302
"fillGradient": 0,
1303
"gridPos": {
1304
"h": 9,
1305
"w": 8,
1306
"x": 0,
1307
"y": 57
1308
},
1309
"hiddenSeries": false,
1310
"id": 22,
1311
"legend": {
1312
"alignAsTable": true,
1313
"avg": true,
1314
"current": true,
1315
"max": true,
1316
"min": false,
1317
"show": true,
1318
"total": false,
1319
"values": true
1320
},
1321
"lines": true,
1322
"linewidth": 1,
1323
"nullPointMode": "null",
1324
"options": {
1325
"alertThreshold": true
1326
},
1327
"percentage": false,
1328
"pluginVersion": "9.3.1",
1329
"pointradius": 2,
1330
"points": false,
1331
"renderer": "flot",
1332
"seriesOverrides": [],
1333
"spaceLength": 10,
1334
"stack": false,
1335
"steppedLine": false,
1336
"targets": [
1337
{
1338
"datasource": {
1339
"uid": "$datasource"
1340
},
1341
"expr": "rate(kube_pod_container_status_restarts_total{cluster=~\"$cluster\", pod=~\"$pod\"}[1m])",
1342
"interval": "",
1343
"legendFormat": "{{cluster}} - {{kubernetes_pod_node_name}} - {{pod}} ",
1344
"queryType": "randomWalk",
1345
"refId": "A"
1346
}
1347
],
1348
"thresholds": [],
1349
"timeRegions": [],
1350
"title": "Pod Restarts",
1351
"tooltip": {
1352
"shared": true,
1353
"sort": 2,
1354
"value_type": "individual"
1355
},
1356
"type": "graph",
1357
"xaxis": {
1358
"mode": "time",
1359
"show": true,
1360
"values": []
1361
},
1362
"yaxes": [
1363
{
1364
"decimals": 2,
1365
"format": "short",
1366
"logBase": 1,
1367
"min": "0",
1368
"show": true
1369
},
1370
{
1371
"format": "short",
1372
"logBase": 1,
1373
"show": true
1374
}
1375
],
1376
"yaxis": {
1377
"align": false
1378
}
1379
},
1380
{
1381
"aliasColors": {},
1382
"bars": false,
1383
"dashLength": 10,
1384
"dashes": false,
1385
"datasource": {
1386
"uid": "$datasource"
1387
},
1388
"decimals": 0,
1389
"description": "",
1390
"fill": 1,
1391
"fillGradient": 0,
1392
"gridPos": {
1393
"h": 9,
1394
"w": 8,
1395
"x": 8,
1396
"y": 57
1397
},
1398
"hiddenSeries": false,
1399
"id": 28,
1400
"legend": {
1401
"alignAsTable": true,
1402
"avg": false,
1403
"current": true,
1404
"max": false,
1405
"min": false,
1406
"show": true,
1407
"total": false,
1408
"values": true
1409
},
1410
"lines": true,
1411
"linewidth": 1,
1412
"nullPointMode": "null",
1413
"options": {
1414
"alertThreshold": true
1415
},
1416
"percentage": false,
1417
"pluginVersion": "9.3.1",
1418
"pointradius": 2,
1419
"points": false,
1420
"renderer": "flot",
1421
"seriesOverrides": [],
1422
"spaceLength": 10,
1423
"stack": false,
1424
"steppedLine": false,
1425
"targets": [
1426
{
1427
"datasource": {
1428
"uid": "$datasource"
1429
},
1430
"expr": "kube_pod_container_status_running{cluster=~\"$cluster\", pod=~\"$pod\"} == 1 ",
1431
"interval": "",
1432
"legendFormat": "{{pod}} - RUNNING",
1433
"queryType": "randomWalk",
1434
"refId": "A"
1435
},
1436
{
1437
"datasource": {
1438
"uid": "$datasource"
1439
},
1440
"expr": "(\n sum by (pod) (kube_pod_container_status_terminated{cluster=~\"$cluster\", pod=~\"$pod\"}) == 1\n) * on(pod) group_left(reason) (\n sum by (pod, reason) (kube_pod_container_status_terminated_reason{cluster=~\"$cluster\", pod=~\"$pod\"}) == 1\n)",
1441
"interval": "",
1442
"legendFormat": "{{pod}} - TERMINATED -> {{reason}}",
1443
"queryType": "randomWalk",
1444
"refId": "B"
1445
},
1446
{
1447
"datasource": {
1448
"uid": "$datasource"
1449
},
1450
"expr": "(\n sum by (pod) (kube_pod_container_status_waiting{cluster=~\"$cluster\", pod=~\"$pod\"}) == 1\n) * on(pod) group_left(reason) (\n sum by (pod, reason) (kube_pod_container_status_waiting_reason{cluster=~\"$cluster\", pod=~\"$pod\"}) == 1\n)",
1451
"interval": "",
1452
"legendFormat": "{{pod}} - WAITING -> {{reason}}",
1453
"queryType": "randomWalk",
1454
"refId": "C"
1455
}
1456
],
1457
"thresholds": [],
1458
"timeRegions": [],
1459
"title": "Pod Status",
1460
"tooltip": {
1461
"shared": true,
1462
"sort": 2,
1463
"value_type": "individual"
1464
},
1465
"type": "graph",
1466
"xaxis": {
1467
"mode": "time",
1468
"show": true,
1469
"values": []
1470
},
1471
"yaxes": [
1472
{
1473
"decimals": 0,
1474
"format": "short",
1475
"logBase": 1,
1476
"show": true
1477
},
1478
{
1479
"format": "short",
1480
"logBase": 1,
1481
"show": true
1482
}
1483
],
1484
"yaxis": {
1485
"align": false
1486
}
1487
},
1488
{
1489
"aliasColors": {},
1490
"bars": false,
1491
"dashLength": 10,
1492
"dashes": false,
1493
"datasource": {
1494
"uid": "$datasource"
1495
},
1496
"decimals": 0,
1497
"fill": 1,
1498
"fillGradient": 0,
1499
"gridPos": {
1500
"h": 9,
1501
"w": 8,
1502
"x": 16,
1503
"y": 57
1504
},
1505
"hiddenSeries": false,
1506
"id": 26,
1507
"legend": {
1508
"alignAsTable": true,
1509
"avg": false,
1510
"current": true,
1511
"max": false,
1512
"min": false,
1513
"show": true,
1514
"total": false,
1515
"values": true
1516
},
1517
"lines": true,
1518
"linewidth": 1,
1519
"nullPointMode": "null",
1520
"options": {
1521
"alertThreshold": true
1522
},
1523
"percentage": false,
1524
"pluginVersion": "9.3.1",
1525
"pointradius": 2,
1526
"points": false,
1527
"renderer": "flot",
1528
"seriesOverrides": [],
1529
"spaceLength": 10,
1530
"stack": false,
1531
"steppedLine": false,
1532
"targets": [
1533
{
1534
"datasource": {
1535
"uid": "$datasource"
1536
},
1537
"expr": "kube_deployment_spec_replicas{cluster=~\"$cluster\", deployment=\"image-builder\"}",
1538
"interval": "",
1539
"legendFormat": "{{cluster}} - {{deployment}} - Desired",
1540
"queryType": "randomWalk",
1541
"refId": "C"
1542
},
1543
{
1544
"datasource": {
1545
"uid": "$datasource"
1546
},
1547
"expr": "kube_deployment_status_replicas_available{cluster=~\"$cluster\", deployment=\"image-builder\"}",
1548
"interval": "",
1549
"legendFormat": "{{cluster}} - {{deployment}} - Available replicas",
1550
"queryType": "randomWalk",
1551
"refId": "A"
1552
},
1553
{
1554
"datasource": {
1555
"uid": "$datasource"
1556
},
1557
"expr": "kube_deployment_status_replicas_unavailable{cluster=~\"$cluster\", deployment=\"image-builder\"}",
1558
"interval": "",
1559
"legendFormat": "{{cluster}} - {{deployment}} - Unvailable replicas",
1560
"queryType": "randomWalk",
1561
"refId": "B"
1562
}
1563
],
1564
"thresholds": [],
1565
"timeRegions": [],
1566
"title": "Replicas availability",
1567
"tooltip": {
1568
"shared": true,
1569
"sort": 2,
1570
"value_type": "individual"
1571
},
1572
"type": "graph",
1573
"xaxis": {
1574
"mode": "time",
1575
"show": true,
1576
"values": []
1577
},
1578
"yaxes": [
1579
{
1580
"decimals": 0,
1581
"format": "short",
1582
"logBase": 1,
1583
"show": true
1584
},
1585
{
1586
"format": "short",
1587
"logBase": 1,
1588
"show": true
1589
}
1590
],
1591
"yaxis": {
1592
"align": false
1593
}
1594
}
1595
],
1596
"targets": [
1597
{
1598
"datasource": {
1599
"type": "datasource",
1600
"uid": "grafana"
1601
},
1602
"refId": "A"
1603
}
1604
],
1605
"title": "Pod Metrics",
1606
"type": "row"
1607
},
1608
{
1609
"collapsed": true,
1610
"datasource": {
1611
"type": "datasource",
1612
"uid": "grafana"
1613
},
1614
"gridPos": {
1615
"h": 1,
1616
"w": 24,
1617
"x": 0,
1618
"y": 38
1619
},
1620
"id": 46,
1621
"panels": [
1622
{
1623
"aliasColors": {},
1624
"bars": false,
1625
"dashLength": 10,
1626
"dashes": false,
1627
"datasource": {
1628
"type": "prometheus",
1629
"uid": "$datasource"
1630
},
1631
"fill": 1,
1632
"fillGradient": 0,
1633
"gridPos": {
1634
"h": 9,
1635
"w": 12,
1636
"x": 0,
1637
"y": 37
1638
},
1639
"hiddenSeries": false,
1640
"id": 48,
1641
"legend": {
1642
"alignAsTable": true,
1643
"avg": true,
1644
"current": true,
1645
"max": true,
1646
"min": false,
1647
"show": true,
1648
"total": false,
1649
"values": true
1650
},
1651
"lines": true,
1652
"linewidth": 1,
1653
"nullPointMode": "null",
1654
"options": {
1655
"alertThreshold": true
1656
},
1657
"percentage": false,
1658
"pluginVersion": "9.3.1",
1659
"pointradius": 2,
1660
"points": false,
1661
"renderer": "flot",
1662
"seriesOverrides": [],
1663
"spaceLength": 10,
1664
"stack": false,
1665
"steppedLine": false,
1666
"targets": [
1667
{
1668
"datasource": {
1669
"uid": "$datasource"
1670
},
1671
"editorMode": "code",
1672
"expr": "process_resident_memory_bytes{cluster=~\"$cluster\", job=~\"image-builder.*\", pod=~\"$pod\"}",
1673
"interval": "",
1674
"legendFormat": "{{cluster}} - {{pod}}",
1675
"queryType": "randomWalk",
1676
"range": true,
1677
"refId": "A"
1678
}
1679
],
1680
"thresholds": [],
1681
"timeRegions": [],
1682
"title": "Memory Usage (as seen by the runtime process)",
1683
"tooltip": {
1684
"shared": true,
1685
"sort": 0,
1686
"value_type": "individual"
1687
},
1688
"type": "graph",
1689
"xaxis": {
1690
"mode": "time",
1691
"show": true,
1692
"values": []
1693
},
1694
"yaxes": [
1695
{
1696
"format": "bytes",
1697
"logBase": 1,
1698
"min": "0",
1699
"show": true
1700
},
1701
{
1702
"format": "short",
1703
"logBase": 1,
1704
"show": true
1705
}
1706
],
1707
"yaxis": {
1708
"align": false
1709
}
1710
},
1711
{
1712
"aliasColors": {},
1713
"bars": false,
1714
"dashLength": 10,
1715
"dashes": false,
1716
"datasource": {
1717
"type": "prometheus",
1718
"uid": "$datasource"
1719
},
1720
"decimals": 2,
1721
"editable": true,
1722
"error": false,
1723
"fill": 1,
1724
"fillGradient": 0,
1725
"gridPos": {
1726
"h": 9,
1727
"w": 12,
1728
"x": 12,
1729
"y": 37
1730
},
1731
"hiddenSeries": false,
1732
"id": 50,
1733
"legend": {
1734
"alignAsTable": true,
1735
"avg": true,
1736
"current": true,
1737
"hideEmpty": false,
1738
"max": true,
1739
"min": false,
1740
"rightSide": false,
1741
"show": true,
1742
"total": false,
1743
"values": true
1744
},
1745
"lines": true,
1746
"linewidth": 1,
1747
"links": [],
1748
"nullPointMode": "null",
1749
"options": {
1750
"alertThreshold": true
1751
},
1752
"percentage": false,
1753
"pluginVersion": "9.3.1",
1754
"pointradius": 5,
1755
"points": false,
1756
"renderer": "flot",
1757
"seriesOverrides": [],
1758
"spaceLength": 10,
1759
"stack": false,
1760
"steppedLine": false,
1761
"targets": [
1762
{
1763
"datasource": {
1764
"uid": "$datasource"
1765
},
1766
"editorMode": "code",
1767
"expr": "rate(process_cpu_seconds_total{cluster=~\"$cluster\", job=~\"image-builder.*\", pod=~\"$pod\"}[5m])",
1768
"interval": "",
1769
"intervalFactor": 2,
1770
"legendFormat": "{{cluster}} - {{pod}}",
1771
"metric": "prometheus_local_storage_ingested_samples_total",
1772
"range": true,
1773
"refId": "A",
1774
"step": 10
1775
}
1776
],
1777
"thresholds": [],
1778
"timeRegions": [],
1779
"title": "CPU Usage (as seen by the runtime process)",
1780
"tooltip": {
1781
"msResolution": false,
1782
"shared": true,
1783
"sort": 2,
1784
"value_type": "individual"
1785
},
1786
"type": "graph",
1787
"xaxis": {
1788
"mode": "time",
1789
"show": true,
1790
"values": [
1791
"avg"
1792
]
1793
},
1794
"yaxes": [
1795
{
1796
"decimals": 2,
1797
"format": "none",
1798
"logBase": 1,
1799
"min": "0",
1800
"show": true
1801
},
1802
{
1803
"format": "short",
1804
"logBase": 1,
1805
"show": true
1806
}
1807
],
1808
"yaxis": {
1809
"align": false
1810
}
1811
},
1812
{
1813
"aliasColors": {},
1814
"bars": false,
1815
"dashLength": 10,
1816
"dashes": false,
1817
"datasource": {
1818
"type": "prometheus",
1819
"uid": "$datasource"
1820
},
1821
"fill": 1,
1822
"fillGradient": 0,
1823
"gridPos": {
1824
"h": 9,
1825
"w": 12,
1826
"x": 0,
1827
"y": 46
1828
},
1829
"hiddenSeries": false,
1830
"id": 52,
1831
"legend": {
1832
"alignAsTable": true,
1833
"avg": true,
1834
"current": true,
1835
"max": true,
1836
"min": false,
1837
"show": true,
1838
"total": false,
1839
"values": true
1840
},
1841
"lines": true,
1842
"linewidth": 1,
1843
"nullPointMode": "null",
1844
"options": {
1845
"alertThreshold": true
1846
},
1847
"percentage": false,
1848
"pluginVersion": "9.3.1",
1849
"pointradius": 2,
1850
"points": false,
1851
"renderer": "flot",
1852
"seriesOverrides": [],
1853
"spaceLength": 10,
1854
"stack": false,
1855
"steppedLine": false,
1856
"targets": [
1857
{
1858
"datasource": {
1859
"uid": "$datasource"
1860
},
1861
"editorMode": "code",
1862
"expr": "go_memstats_heap_sys_bytes{cluster=~\"$cluster\", job=~\"image-builder.*\", pod=~\"$pod\"}",
1863
"interval": "",
1864
"legendFormat": "{{cluster}} - {{pod}}",
1865
"queryType": "randomWalk",
1866
"range": true,
1867
"refId": "A"
1868
}
1869
],
1870
"thresholds": [],
1871
"timeRegions": [],
1872
"title": "Heap Usage",
1873
"tooltip": {
1874
"shared": true,
1875
"sort": 2,
1876
"value_type": "individual"
1877
},
1878
"type": "graph",
1879
"xaxis": {
1880
"mode": "time",
1881
"show": true,
1882
"values": []
1883
},
1884
"yaxes": [
1885
{
1886
"format": "bytes",
1887
"logBase": 1,
1888
"min": "0",
1889
"show": true
1890
},
1891
{
1892
"format": "short",
1893
"logBase": 1,
1894
"show": true
1895
}
1896
],
1897
"yaxis": {
1898
"align": false
1899
}
1900
},
1901
{
1902
"aliasColors": {},
1903
"bars": false,
1904
"dashLength": 10,
1905
"dashes": false,
1906
"datasource": {
1907
"type": "prometheus",
1908
"uid": "$datasource"
1909
},
1910
"fieldConfig": {
1911
"defaults": {
1912
"links": []
1913
},
1914
"overrides": []
1915
},
1916
"fill": 1,
1917
"fillGradient": 0,
1918
"gridPos": {
1919
"h": 9,
1920
"w": 12,
1921
"x": 12,
1922
"y": 46
1923
},
1924
"hiddenSeries": false,
1925
"id": 54,
1926
"legend": {
1927
"alignAsTable": true,
1928
"avg": true,
1929
"current": true,
1930
"max": true,
1931
"min": false,
1932
"show": true,
1933
"total": false,
1934
"values": true
1935
},
1936
"lines": true,
1937
"linewidth": 1,
1938
"nullPointMode": "null",
1939
"options": {
1940
"alertThreshold": true
1941
},
1942
"percentage": false,
1943
"pluginVersion": "9.3.1",
1944
"pointradius": 2,
1945
"points": false,
1946
"renderer": "flot",
1947
"repeatDirection": "h",
1948
"seriesOverrides": [
1949
{
1950
"alias": "/GC rate:(.*)/",
1951
"yaxis": 2
1952
}
1953
],
1954
"spaceLength": 10,
1955
"stack": false,
1956
"steppedLine": false,
1957
"targets": [
1958
{
1959
"datasource": {
1960
"uid": "$datasource"
1961
},
1962
"editorMode": "code",
1963
"expr": "rate(go_memstats_alloc_bytes_total{cluster=~\"$cluster\", job=~\"image-builder.*\", pod=~\"$pod\"}[5m])",
1964
"interval": "",
1965
"legendFormat": "{{cluster}} - {{pod}}",
1966
"range": true,
1967
"refId": "A"
1968
}
1969
],
1970
"thresholds": [],
1971
"timeRegions": [],
1972
"title": "Memory Allocation rate",
1973
"tooltip": {
1974
"shared": true,
1975
"sort": 2,
1976
"value_type": "individual"
1977
},
1978
"type": "graph",
1979
"xaxis": {
1980
"mode": "time",
1981
"show": true,
1982
"values": []
1983
},
1984
"yaxes": [
1985
{
1986
"format": "binBps",
1987
"logBase": 1,
1988
"min": "0",
1989
"show": true
1990
},
1991
{
1992
"format": "short",
1993
"logBase": 1,
1994
"show": true
1995
}
1996
],
1997
"yaxis": {
1998
"align": false
1999
}
2000
},
2001
{
2002
"aliasColors": {},
2003
"bars": false,
2004
"dashLength": 10,
2005
"dashes": false,
2006
"datasource": {
2007
"type": "prometheus",
2008
"uid": "$datasource"
2009
},
2010
"fill": 1,
2011
"fillGradient": 0,
2012
"gridPos": {
2013
"h": 9,
2014
"w": 12,
2015
"x": 0,
2016
"y": 55
2017
},
2018
"hiddenSeries": false,
2019
"id": 56,
2020
"legend": {
2021
"alignAsTable": true,
2022
"avg": true,
2023
"current": true,
2024
"max": true,
2025
"min": false,
2026
"show": true,
2027
"total": false,
2028
"values": true
2029
},
2030
"lines": true,
2031
"linewidth": 1,
2032
"nullPointMode": "null",
2033
"options": {
2034
"alertThreshold": true
2035
},
2036
"percentage": false,
2037
"pluginVersion": "9.3.1",
2038
"pointradius": 2,
2039
"points": false,
2040
"renderer": "flot",
2041
"seriesOverrides": [],
2042
"spaceLength": 10,
2043
"stack": false,
2044
"steppedLine": false,
2045
"targets": [
2046
{
2047
"datasource": {
2048
"uid": "$datasource"
2049
},
2050
"editorMode": "code",
2051
"expr": "go_goroutines{cluster=~\"$cluster\", job=~\"image-builder.*\", pod=~\"$pod\"}",
2052
"interval": "",
2053
"legendFormat": "{{cluster}} - {{pod}}",
2054
"queryType": "randomWalk",
2055
"range": true,
2056
"refId": "A"
2057
}
2058
],
2059
"thresholds": [],
2060
"timeRegions": [],
2061
"title": "Go Routines",
2062
"tooltip": {
2063
"shared": true,
2064
"sort": 2,
2065
"value_type": "individual"
2066
},
2067
"type": "graph",
2068
"xaxis": {
2069
"mode": "time",
2070
"show": true,
2071
"values": []
2072
},
2073
"yaxes": [
2074
{
2075
"format": "short",
2076
"logBase": 1,
2077
"min": "0",
2078
"show": true
2079
},
2080
{
2081
"format": "short",
2082
"logBase": 1,
2083
"show": true
2084
}
2085
],
2086
"yaxis": {
2087
"align": false
2088
}
2089
},
2090
{
2091
"aliasColors": {},
2092
"bars": false,
2093
"dashLength": 10,
2094
"dashes": false,
2095
"datasource": {
2096
"type": "prometheus",
2097
"uid": "$datasource"
2098
},
2099
"fill": 1,
2100
"fillGradient": 0,
2101
"gridPos": {
2102
"h": 9,
2103
"w": 12,
2104
"x": 12,
2105
"y": 55
2106
},
2107
"hiddenSeries": false,
2108
"id": 58,
2109
"legend": {
2110
"alignAsTable": true,
2111
"avg": true,
2112
"current": true,
2113
"max": true,
2114
"min": false,
2115
"show": true,
2116
"total": false,
2117
"values": true
2118
},
2119
"lines": true,
2120
"linewidth": 1,
2121
"nullPointMode": "null",
2122
"options": {
2123
"alertThreshold": true
2124
},
2125
"percentage": false,
2126
"pluginVersion": "9.3.1",
2127
"pointradius": 2,
2128
"points": false,
2129
"renderer": "flot",
2130
"seriesOverrides": [],
2131
"spaceLength": 10,
2132
"stack": false,
2133
"steppedLine": false,
2134
"targets": [
2135
{
2136
"datasource": {
2137
"uid": "$datasource"
2138
},
2139
"editorMode": "code",
2140
"expr": "go_gc_duration_seconds{cluster=~\"$cluster\", job=~\"image-builder.*\", pod=~\"$pod\", quantile=\"0.5\"}",
2141
"interval": "",
2142
"legendFormat": "{{cluster}} - {{pod}} - GC Duration - 50th percentile",
2143
"range": true,
2144
"refId": "A"
2145
},
2146
{
2147
"datasource": {
2148
"uid": "$datasource"
2149
},
2150
"editorMode": "code",
2151
"expr": "go_gc_duration_seconds{cluster=~\"$cluster\", job=~\"image-builder.*\", pod=~\"$pod\", quantile=\"0.75\"}",
2152
"interval": "",
2153
"legendFormat": "{{cluster}} - {{pod}} - GC Duration - 75th percentile",
2154
"range": true,
2155
"refId": "B"
2156
},
2157
{
2158
"datasource": {
2159
"uid": "$datasource"
2160
},
2161
"editorMode": "code",
2162
"expr": "go_gc_duration_seconds{cluster=~\"$cluster\", job=~\"image-builder.*\", pod=~\"$pod\", quantile=\"1\"}",
2163
"interval": "",
2164
"legendFormat": "{{cluster}} - {{pod}} - GC Duration - 100th percentile",
2165
"range": true,
2166
"refId": "C"
2167
}
2168
],
2169
"thresholds": [],
2170
"timeRegions": [],
2171
"title": "Garbage collection time",
2172
"tooltip": {
2173
"shared": true,
2174
"sort": 2,
2175
"value_type": "individual"
2176
},
2177
"type": "graph",
2178
"xaxis": {
2179
"mode": "time",
2180
"show": true,
2181
"values": []
2182
},
2183
"yaxes": [
2184
{
2185
"format": "s",
2186
"logBase": 1,
2187
"min": "0",
2188
"show": true
2189
},
2190
{
2191
"format": "short",
2192
"logBase": 1,
2193
"show": true
2194
}
2195
],
2196
"yaxis": {
2197
"align": false
2198
}
2199
}
2200
],
2201
"targets": [
2202
{
2203
"datasource": {
2204
"type": "datasource",
2205
"uid": "grafana"
2206
},
2207
"refId": "A"
2208
}
2209
],
2210
"title": "Go Runtime Metrics",
2211
"type": "row"
2212
}
2213
],
2214
"refresh": "30s",
2215
"schemaVersion": 37,
2216
"style": "dark",
2217
"tags": [
2218
"gitpod-mixin"
2219
],
2220
"templating": {
2221
"list": [
2222
{
2223
"current": {
2224
"selected": true,
2225
"text": [
2226
"All"
2227
],
2228
"value": [
2229
"$__all"
2230
]
2231
},
2232
"datasource": {
2233
"type": "prometheus",
2234
"uid": "$datasource"
2235
},
2236
"definition": "label_values(up{job=~\"image-builder.*\"}, cluster)",
2237
"hide": 0,
2238
"includeAll": true,
2239
"label": "Cluster",
2240
"multi": true,
2241
"name": "cluster",
2242
"options": [],
2243
"query": {
2244
"query": "label_values(up{job=~\"image-builder.*\"}, cluster)",
2245
"refId": "StandardVariableQuery"
2246
},
2247
"refresh": 1,
2248
"regex": "",
2249
"skipUrlSync": false,
2250
"sort": 0,
2251
"tagValuesQuery": "",
2252
"tagsQuery": "",
2253
"type": "query",
2254
"useTags": false
2255
},
2256
{
2257
"current": {
2258
"selected": false,
2259
"text": "All",
2260
"value": "$__all"
2261
},
2262
"datasource": {
2263
"type": "prometheus",
2264
"uid": "$datasource"
2265
},
2266
"definition": "label_values(container_cpu_usage_seconds_total{cluster=~\"$cluster\", pod=~\"image-builder.*\"}, node)",
2267
"hide": 0,
2268
"includeAll": true,
2269
"label": "Node",
2270
"multi": true,
2271
"name": "node",
2272
"options": [],
2273
"query": {
2274
"query": "label_values(container_cpu_usage_seconds_total{cluster=~\"$cluster\", pod=~\"image-builder.*\"}, node)",
2275
"refId": "StandardVariableQuery"
2276
},
2277
"refresh": 1,
2278
"regex": "",
2279
"skipUrlSync": false,
2280
"sort": 0,
2281
"tagValuesQuery": "",
2282
"tagsQuery": "",
2283
"type": "query",
2284
"useTags": false
2285
},
2286
{
2287
"current": {
2288
"selected": false,
2289
"text": "All",
2290
"value": "$__all"
2291
},
2292
"datasource": {
2293
"type": "prometheus",
2294
"uid": "$datasource"
2295
},
2296
"definition": "label_values(container_cpu_usage_seconds_total{cluster=~\"$cluster\", node=~\"$node\", pod=~\"image-builder.*\"}, pod)",
2297
"hide": 0,
2298
"includeAll": true,
2299
"label": "Pod",
2300
"multi": true,
2301
"name": "pod",
2302
"options": [],
2303
"query": {
2304
"query": "label_values(container_cpu_usage_seconds_total{cluster=~\"$cluster\", node=~\"$node\", pod=~\"image-builder.*\"}, pod)",
2305
"refId": "StandardVariableQuery"
2306
},
2307
"refresh": 1,
2308
"regex": "",
2309
"skipUrlSync": false,
2310
"sort": 0,
2311
"tagValuesQuery": "",
2312
"tagsQuery": "",
2313
"type": "query",
2314
"useTags": false
2315
},
2316
{
2317
"current": {
2318
"selected": false,
2319
"text": "All",
2320
"value": "$__all"
2321
},
2322
"datasource": {
2323
"type": "prometheus",
2324
"uid": "$datasource"
2325
},
2326
"definition": "label_values(grpc_server_handled_total{grpc_service=\"builder.ImageBuilder\", cluster=~\"$cluster\"}, grpc_method)",
2327
"hide": 0,
2328
"includeAll": true,
2329
"label": "gRPC Method",
2330
"multi": true,
2331
"name": "grpc_method",
2332
"options": [],
2333
"query": {
2334
"query": "label_values(grpc_server_handled_total{grpc_service=\"builder.ImageBuilder\", cluster=~\"$cluster\"}, grpc_method)",
2335
"refId": "StandardVariableQuery"
2336
},
2337
"refresh": 1,
2338
"regex": "",
2339
"skipUrlSync": false,
2340
"sort": 1,
2341
"tagValuesQuery": "",
2342
"tagsQuery": "",
2343
"type": "query",
2344
"useTags": false
2345
},
2346
{
2347
"current": {
2348
"selected": false,
2349
"text": "VictoriaMetrics",
2350
"value": "VictoriaMetrics"
2351
},
2352
"hide": 2,
2353
"includeAll": false,
2354
"multi": false,
2355
"name": "datasource",
2356
"options": [],
2357
"query": "prometheus",
2358
"refresh": 1,
2359
"regex": "",
2360
"skipUrlSync": false,
2361
"type": "datasource"
2362
}
2363
]
2364
},
2365
"time": {
2366
"from": "now-1h",
2367
"to": "now"
2368
},
2369
"timepicker": {},
2370
"timezone": "utc",
2371
"title": "Gitpod / Component / image-builder",
2372
"uid": "image-builder",
2373
"version": 1,
2374
"weekStart": ""
2375
}
2376
2377