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