Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
gitpod-io
GitHub Repository: gitpod-io/gitpod
Path: blob/main/operations/observability/mixins/cross-teams/dashboards/gitpod-grpc-client.json
2500 views
1
{
2
"annotations": {
3
"list": [
4
{
5
"builtIn": 1,
6
"datasource": {
7
"type": "grafana",
8
"uid": "-- Grafana --"
9
},
10
"enable": true,
11
"hide": true,
12
"iconColor": "rgba(0, 211, 255, 1)",
13
"name": "Annotations & Alerts",
14
"target": {
15
"limit": 100,
16
"matchAny": false,
17
"tags": [],
18
"type": "dashboard"
19
},
20
"type": "dashboard"
21
}
22
]
23
},
24
"description": "Common visualisations of gRPC Client metrics",
25
"editable": true,
26
"fiscalYearStartMonth": 0,
27
"graphTooltip": 1,
28
"id": 7,
29
"links": [],
30
"liveNow": false,
31
"panels": [
32
{
33
"collapsed": false,
34
"gridPos": {
35
"h": 1,
36
"w": 24,
37
"x": 0,
38
"y": 0
39
},
40
"id": 2,
41
"panels": [],
42
"title": "Requests",
43
"type": "row"
44
},
45
{
46
"datasource": {
47
"type": "prometheus",
48
"uid": "${datasource}"
49
},
50
"description": "Rate of gRPC requests started",
51
"fieldConfig": {
52
"defaults": {
53
"color": {
54
"mode": "palette-classic"
55
},
56
"custom": {
57
"axisCenteredZero": false,
58
"axisColorMode": "text",
59
"axisLabel": "",
60
"axisPlacement": "auto",
61
"barAlignment": 0,
62
"drawStyle": "line",
63
"fillOpacity": 0,
64
"gradientMode": "none",
65
"hideFrom": {
66
"legend": false,
67
"tooltip": false,
68
"viz": false
69
},
70
"lineInterpolation": "linear",
71
"lineWidth": 1,
72
"pointSize": 5,
73
"scaleDistribution": {
74
"type": "linear"
75
},
76
"showPoints": "auto",
77
"spanNulls": false,
78
"stacking": {
79
"group": "A",
80
"mode": "none"
81
},
82
"thresholdsStyle": {
83
"mode": "off"
84
}
85
},
86
"mappings": [],
87
"thresholds": {
88
"mode": "absolute",
89
"steps": [
90
{
91
"color": "green",
92
"value": null
93
},
94
{
95
"color": "red",
96
"value": 80
97
}
98
]
99
},
100
"unit": "opm"
101
},
102
"overrides": []
103
},
104
"gridPos": {
105
"h": 8,
106
"w": 24,
107
"x": 0,
108
"y": 1
109
},
110
"id": 4,
111
"options": {
112
"legend": {
113
"calcs": [],
114
"displayMode": "list",
115
"placement": "bottom",
116
"showLegend": true
117
},
118
"tooltip": {
119
"mode": "single",
120
"sort": "none"
121
}
122
},
123
"targets": [
124
{
125
"datasource": {
126
"type": "prometheus",
127
"uid": "${datasource}"
128
},
129
"editorMode": "code",
130
"expr": "sum(increase(grpc_client_started_total{grpc_service=~\"$service\", grpc_method=~\"$method\", grpc_type=~\"$type\", job=~\"$job\"}[1m])) by (grpc_service, grpc_method)",
131
"legendFormat": "{{grpc_service}}.{{grpc_method}}",
132
"range": true,
133
"refId": "A"
134
}
135
],
136
"title": "Requests started [1m]",
137
"type": "timeseries"
138
},
139
{
140
"datasource": {
141
"type": "prometheus",
142
"uid": "${datasource}"
143
},
144
"description": "Rate of requests completed, by status",
145
"fieldConfig": {
146
"defaults": {
147
"color": {
148
"mode": "palette-classic"
149
},
150
"custom": {
151
"axisCenteredZero": false,
152
"axisColorMode": "text",
153
"axisLabel": "",
154
"axisPlacement": "auto",
155
"barAlignment": 0,
156
"drawStyle": "line",
157
"fillOpacity": 0,
158
"gradientMode": "none",
159
"hideFrom": {
160
"legend": false,
161
"tooltip": false,
162
"viz": false
163
},
164
"lineInterpolation": "linear",
165
"lineWidth": 1,
166
"pointSize": 5,
167
"scaleDistribution": {
168
"type": "linear"
169
},
170
"showPoints": "auto",
171
"spanNulls": false,
172
"stacking": {
173
"group": "A",
174
"mode": "none"
175
},
176
"thresholdsStyle": {
177
"mode": "off"
178
}
179
},
180
"mappings": [],
181
"thresholds": {
182
"mode": "absolute",
183
"steps": [
184
{
185
"color": "green",
186
"value": null
187
},
188
{
189
"color": "red",
190
"value": 80
191
}
192
]
193
},
194
"unit": "opm"
195
},
196
"overrides": []
197
},
198
"gridPos": {
199
"h": 8,
200
"w": 24,
201
"x": 0,
202
"y": 9
203
},
204
"id": 6,
205
"options": {
206
"legend": {
207
"calcs": [],
208
"displayMode": "list",
209
"placement": "bottom",
210
"showLegend": true
211
},
212
"tooltip": {
213
"mode": "single",
214
"sort": "none"
215
}
216
},
217
"targets": [
218
{
219
"datasource": {
220
"type": "prometheus",
221
"uid": "${datasource}"
222
},
223
"editorMode": "code",
224
"expr": "sum(increase(grpc_client_handled_total{grpc_service=~\"$service\", grpc_method=~\"$method\", grpc_type=~\"$type\", job=~\"$job\"}[1m])) by (grpc_service, grpc_method, grpc_code)",
225
"legendFormat": "{{grpc_service}}.{{grpc_method}} - {{grpc_code}}",
226
"range": true,
227
"refId": "A"
228
}
229
],
230
"title": "Requests completed [1m]",
231
"type": "timeseries"
232
},
233
{
234
"collapsed": false,
235
"gridPos": {
236
"h": 1,
237
"w": 24,
238
"x": 0,
239
"y": 17
240
},
241
"id": 11,
242
"panels": [],
243
"title": "Errors",
244
"type": "row"
245
},
246
{
247
"datasource": {
248
"type": "prometheus",
249
"uid": "${datasource}"
250
},
251
"description": "Rate of errors, by status",
252
"fieldConfig": {
253
"defaults": {
254
"color": {
255
"mode": "palette-classic"
256
},
257
"custom": {
258
"axisCenteredZero": false,
259
"axisColorMode": "text",
260
"axisLabel": "",
261
"axisPlacement": "auto",
262
"barAlignment": 0,
263
"drawStyle": "line",
264
"fillOpacity": 0,
265
"gradientMode": "none",
266
"hideFrom": {
267
"legend": false,
268
"tooltip": false,
269
"viz": false
270
},
271
"lineInterpolation": "linear",
272
"lineWidth": 1,
273
"pointSize": 5,
274
"scaleDistribution": {
275
"type": "linear"
276
},
277
"showPoints": "auto",
278
"spanNulls": false,
279
"stacking": {
280
"group": "A",
281
"mode": "none"
282
},
283
"thresholdsStyle": {
284
"mode": "off"
285
}
286
},
287
"mappings": [],
288
"thresholds": {
289
"mode": "absolute",
290
"steps": [
291
{
292
"color": "green",
293
"value": null
294
},
295
{
296
"color": "red",
297
"value": 80
298
}
299
]
300
},
301
"unit": "opm"
302
},
303
"overrides": []
304
},
305
"gridPos": {
306
"h": 8,
307
"w": 24,
308
"x": 0,
309
"y": 18
310
},
311
"id": 7,
312
"options": {
313
"legend": {
314
"calcs": [],
315
"displayMode": "list",
316
"placement": "bottom",
317
"showLegend": true
318
},
319
"tooltip": {
320
"mode": "single",
321
"sort": "none"
322
}
323
},
324
"targets": [
325
{
326
"datasource": {
327
"type": "prometheus",
328
"uid": "${datasource}"
329
},
330
"editorMode": "code",
331
"expr": "sum(increase(grpc_client_handled_total{grpc_service=~\"$service\", grpc_method=~\"$method\", grpc_code!=\"OK\", grpc_type=~\"$type\", job=~\"$job\"}[1m])) by (grpc_service, grpc_method, grpc_code)",
332
"legendFormat": "{{grpc_service}}.{{grpc_method}} - {{grpc_code}}",
333
"range": true,
334
"refId": "A"
335
}
336
],
337
"title": "Request errors [1m]",
338
"type": "timeseries"
339
},
340
{
341
"collapsed": false,
342
"gridPos": {
343
"h": 1,
344
"w": 24,
345
"x": 0,
346
"y": 26
347
},
348
"id": 13,
349
"panels": [],
350
"title": "Latency",
351
"type": "row"
352
},
353
{
354
"datasource": {
355
"type": "prometheus",
356
"uid": "${datasource}"
357
},
358
"description": "",
359
"fieldConfig": {
360
"defaults": {
361
"color": {
362
"mode": "palette-classic"
363
},
364
"custom": {
365
"axisCenteredZero": false,
366
"axisColorMode": "text",
367
"axisLabel": "",
368
"axisPlacement": "auto",
369
"barAlignment": 0,
370
"drawStyle": "line",
371
"fillOpacity": 0,
372
"gradientMode": "none",
373
"hideFrom": {
374
"legend": false,
375
"tooltip": false,
376
"viz": false
377
},
378
"lineInterpolation": "linear",
379
"lineWidth": 1,
380
"pointSize": 5,
381
"scaleDistribution": {
382
"type": "linear"
383
},
384
"showPoints": "auto",
385
"spanNulls": false,
386
"stacking": {
387
"group": "A",
388
"mode": "none"
389
},
390
"thresholdsStyle": {
391
"mode": "off"
392
}
393
},
394
"mappings": [],
395
"thresholds": {
396
"mode": "absolute",
397
"steps": [
398
{
399
"color": "green",
400
"value": null
401
},
402
{
403
"color": "red",
404
"value": 80
405
}
406
]
407
},
408
"unit": "s"
409
},
410
"overrides": []
411
},
412
"gridPos": {
413
"h": 8,
414
"w": 24,
415
"x": 0,
416
"y": 27
417
},
418
"id": 9,
419
"options": {
420
"legend": {
421
"calcs": [],
422
"displayMode": "list",
423
"placement": "bottom",
424
"showLegend": true
425
},
426
"tooltip": {
427
"mode": "single",
428
"sort": "none"
429
}
430
},
431
"targets": [
432
{
433
"datasource": {
434
"type": "prometheus",
435
"uid": "${datasource}"
436
},
437
"editorMode": "code",
438
"expr": "histogram_quantile(0.99, \n sum(rate(grpc_client_handling_seconds_bucket{grpc_type=\"unary\", grpc_service=~\"$service\", grpc_method=~\"$method\", grpc_type=\"unary\", job=~\"$job\"}[5m])) by (grpc_service, grpc_method, le)\n)",
439
"legendFormat": "{{grpc_service}}.{{grpc_method}}",
440
"range": true,
441
"refId": "A"
442
}
443
],
444
"title": "99th percentile response latency [5m]",
445
"type": "timeseries"
446
},
447
{
448
"collapsed": false,
449
"gridPos": {
450
"h": 1,
451
"w": 24,
452
"x": 0,
453
"y": 35
454
},
455
"id": 15,
456
"panels": [],
457
"title": "Messaging",
458
"type": "row"
459
},
460
{
461
"datasource": {
462
"type": "prometheus",
463
"uid": "${datasource}"
464
},
465
"description": "Rate of messages received by server",
466
"fieldConfig": {
467
"defaults": {
468
"color": {
469
"mode": "palette-classic"
470
},
471
"custom": {
472
"axisCenteredZero": false,
473
"axisColorMode": "text",
474
"axisLabel": "",
475
"axisPlacement": "auto",
476
"barAlignment": 0,
477
"drawStyle": "line",
478
"fillOpacity": 0,
479
"gradientMode": "none",
480
"hideFrom": {
481
"legend": false,
482
"tooltip": false,
483
"viz": false
484
},
485
"lineInterpolation": "linear",
486
"lineWidth": 1,
487
"pointSize": 5,
488
"scaleDistribution": {
489
"type": "linear"
490
},
491
"showPoints": "auto",
492
"spanNulls": false,
493
"stacking": {
494
"group": "A",
495
"mode": "none"
496
},
497
"thresholdsStyle": {
498
"mode": "off"
499
}
500
},
501
"mappings": [],
502
"thresholds": {
503
"mode": "absolute",
504
"steps": [
505
{
506
"color": "green",
507
"value": null
508
},
509
{
510
"color": "red",
511
"value": 80
512
}
513
]
514
}
515
},
516
"overrides": []
517
},
518
"gridPos": {
519
"h": 8,
520
"w": 12,
521
"x": 0,
522
"y": 36
523
},
524
"id": 17,
525
"options": {
526
"legend": {
527
"calcs": [],
528
"displayMode": "list",
529
"placement": "bottom",
530
"showLegend": true
531
},
532
"tooltip": {
533
"mode": "single",
534
"sort": "none"
535
}
536
},
537
"targets": [
538
{
539
"datasource": {
540
"type": "prometheus",
541
"uid": "${datasource}"
542
},
543
"editorMode": "code",
544
"expr": "sum(increase(grpc_client_msg_received_total{grpc_service=~\"$service\", grpc_method=~\"$method\", grpc_type=~\"$type\", job=~\"$job\"}[1m])) by (grpc_service, grpc_method)",
545
"legendFormat": "__auto",
546
"range": true,
547
"refId": "A"
548
}
549
],
550
"title": "Server messages received [1m]",
551
"type": "timeseries"
552
},
553
{
554
"datasource": {
555
"type": "prometheus",
556
"uid": "${datasource}"
557
},
558
"description": "Rate of messages sent by server",
559
"fieldConfig": {
560
"defaults": {
561
"color": {
562
"mode": "palette-classic"
563
},
564
"custom": {
565
"axisCenteredZero": false,
566
"axisColorMode": "text",
567
"axisLabel": "",
568
"axisPlacement": "auto",
569
"barAlignment": 0,
570
"drawStyle": "line",
571
"fillOpacity": 0,
572
"gradientMode": "none",
573
"hideFrom": {
574
"legend": false,
575
"tooltip": false,
576
"viz": false
577
},
578
"lineInterpolation": "linear",
579
"lineWidth": 1,
580
"pointSize": 5,
581
"scaleDistribution": {
582
"type": "linear"
583
},
584
"showPoints": "auto",
585
"spanNulls": false,
586
"stacking": {
587
"group": "A",
588
"mode": "none"
589
},
590
"thresholdsStyle": {
591
"mode": "off"
592
}
593
},
594
"mappings": [],
595
"thresholds": {
596
"mode": "absolute",
597
"steps": [
598
{
599
"color": "green",
600
"value": null
601
},
602
{
603
"color": "red",
604
"value": 80
605
}
606
]
607
}
608
},
609
"overrides": []
610
},
611
"gridPos": {
612
"h": 8,
613
"w": 12,
614
"x": 12,
615
"y": 36
616
},
617
"id": 18,
618
"options": {
619
"legend": {
620
"calcs": [],
621
"displayMode": "list",
622
"placement": "bottom",
623
"showLegend": true
624
},
625
"tooltip": {
626
"mode": "single",
627
"sort": "none"
628
}
629
},
630
"targets": [
631
{
632
"datasource": {
633
"type": "prometheus",
634
"uid": "${datasource}"
635
},
636
"editorMode": "code",
637
"expr": "sum(increase(grpc_client_msg_sent_total{grpc_service=~\"$service\", grpc_method=~\"$method\", grpc_type=~\"$type\", job=~\"$job\"}[1m])) by (grpc_service, grpc_method)",
638
"legendFormat": "__auto",
639
"range": true,
640
"refId": "A"
641
}
642
],
643
"title": "Server messages sent [1m]",
644
"type": "timeseries"
645
}
646
],
647
"refresh": false,
648
"schemaVersion": 37,
649
"style": "dark",
650
"tags": [
651
"grpc",
652
"client"
653
],
654
"templating": {
655
"list": [
656
{
657
"current": {
658
"selected": false,
659
"text": "VictoriaMetrics",
660
"value": "VictoriaMetrics"
661
},
662
"hide": 0,
663
"includeAll": false,
664
"multi": false,
665
"name": "datasource",
666
"options": [],
667
"query": "prometheus",
668
"queryValue": "",
669
"refresh": 1,
670
"regex": "",
671
"skipUrlSync": false,
672
"type": "datasource"
673
},
674
{
675
"allValue": ".*",
676
"current": {
677
"selected": true,
678
"text": [
679
"All"
680
],
681
"value": [
682
"$__all"
683
]
684
},
685
"datasource": {
686
"type": "prometheus",
687
"uid": "${datasource}"
688
},
689
"definition": "label_values(grpc_client_started_total, grpc_service)",
690
"description": "gRPC Service Name",
691
"hide": 0,
692
"includeAll": true,
693
"label": "Service",
694
"multi": true,
695
"name": "service",
696
"options": [],
697
"query": {
698
"query": "label_values(grpc_client_started_total, grpc_service)",
699
"refId": "StandardVariableQuery"
700
},
701
"refresh": 1,
702
"regex": "",
703
"skipUrlSync": false,
704
"sort": 5,
705
"type": "query"
706
},
707
{
708
"allValue": ".*",
709
"current": {
710
"selected": true,
711
"text": [
712
"All"
713
],
714
"value": [
715
"$__all"
716
]
717
},
718
"datasource": {
719
"type": "prometheus",
720
"uid": "${datasource}"
721
},
722
"definition": "label_values(grpc_client_started_total{grpc_service=~\"$service\"}, grpc_method)",
723
"description": "gRPC Method Name",
724
"hide": 0,
725
"includeAll": true,
726
"label": "Method",
727
"multi": true,
728
"name": "method",
729
"options": [],
730
"query": {
731
"query": "label_values(grpc_client_started_total{grpc_service=~\"$service\"}, grpc_method)",
732
"refId": "StandardVariableQuery"
733
},
734
"refresh": 1,
735
"regex": "",
736
"skipUrlSync": false,
737
"sort": 5,
738
"type": "query"
739
},
740
{
741
"allValue": ".*",
742
"current": {
743
"selected": true,
744
"text": [
745
"All"
746
],
747
"value": [
748
"$__all"
749
]
750
},
751
"datasource": {
752
"type": "prometheus",
753
"uid": "${datasource}"
754
},
755
"definition": "label_values(grpc_client_started_total{grpc_service=~\"$service\", grpc_method=~\"$method\"}, grpc_type)",
756
"description": "gRPC request type - bidirectional stream, server stream, unary, client_stream",
757
"hide": 0,
758
"includeAll": true,
759
"label": "Type",
760
"multi": true,
761
"name": "type",
762
"options": [],
763
"query": {
764
"query": "label_values(grpc_client_started_total{grpc_service=~\"$service\", grpc_method=~\"$method\"}, grpc_type)",
765
"refId": "StandardVariableQuery"
766
},
767
"refresh": 1,
768
"regex": "",
769
"skipUrlSync": false,
770
"sort": 5,
771
"type": "query"
772
},
773
{
774
"current": {
775
"selected": true,
776
"text": [
777
"All"
778
],
779
"value": [
780
"$__all"
781
]
782
},
783
"datasource": {
784
"type": "prometheus",
785
"uid": "${datasource}"
786
},
787
"definition": "label_values(grpc_client_started_total, job)",
788
"hide": 0,
789
"includeAll": true,
790
"label": "Job",
791
"multi": true,
792
"name": "job",
793
"options": [],
794
"query": {
795
"query": "label_values(grpc_client_started_total, job)",
796
"refId": "StandardVariableQuery"
797
},
798
"refresh": 1,
799
"regex": "",
800
"skipUrlSync": false,
801
"sort": 1,
802
"type": "query"
803
}
804
]
805
},
806
"time": {
807
"from": "now-12h",
808
"to": "now"
809
},
810
"timepicker": {
811
"refresh_intervals": [
812
"30s",
813
"1m",
814
"5m",
815
"15m",
816
"30m",
817
"1h",
818
"2h",
819
"1d"
820
]
821
},
822
"timezone": "utc",
823
"title": "gRPC / Client",
824
"uid": "dxEjpXn4z",
825
"version": 1,
826
"weekStart": "monday"
827
}
828
829