Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
aos
GitHub Repository: aos/docker-otel-lgtm
Path: blob/main/docker/grafana-dashboard-red-metrics-classic.json
401 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
"type": "dashboard"
15
}
16
]
17
},
18
"description": "request rate, error rate, duration",
19
"editable": true,
20
"fiscalYearStartMonth": 0,
21
"graphTooltip": 0,
22
"id": 4,
23
"links": [],
24
"liveNow": false,
25
"panels": [
26
{
27
"datasource": {
28
"type": "datasource",
29
"uid": "grafana"
30
},
31
"description": "",
32
"gridPos": {
33
"h": 5,
34
"w": 12,
35
"x": 0,
36
"y": 0
37
},
38
"id": 6,
39
"options": {
40
"code": {
41
"language": "plaintext",
42
"showLineNumbers": false,
43
"showMiniMap": false
44
},
45
"content": "# RED Metrics: (r)equest rate, (e)rror rate, (d)uration\n\nThis dashboard uses explicit bucket histograms and the stable [OpenTelemetry metrics semantic conventions](https://opentelemetry.io/docs/specs/semconv/general/metrics/).\nTo enable this for the [OpenTelemetry Java instrumentation agent](https://github.com/open-telemetry/opentelemetry-java-instrumentation/), set the following environment variables:\n\n```\nexport OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION=explicit_bucket_histogram\nexport OTEL_SEMCONV_STABILITY_OPT_IN=http\n```",
46
"mode": "markdown"
47
},
48
"pluginVersion": "10.3.3",
49
"type": "text"
50
},
51
{
52
"datasource": {
53
"type": "prometheus",
54
"uid": "prometheus"
55
},
56
"fieldConfig": {
57
"defaults": {
58
"color": {
59
"mode": "palette-classic"
60
},
61
"custom": {
62
"axisBorderShow": false,
63
"axisCenteredZero": false,
64
"axisColorMode": "text",
65
"axisLabel": "",
66
"axisPlacement": "auto",
67
"barAlignment": 0,
68
"drawStyle": "line",
69
"fillOpacity": 0,
70
"gradientMode": "none",
71
"hideFrom": {
72
"legend": false,
73
"tooltip": false,
74
"viz": false
75
},
76
"insertNulls": false,
77
"lineInterpolation": "linear",
78
"lineWidth": 1,
79
"pointSize": 5,
80
"scaleDistribution": {
81
"type": "linear"
82
},
83
"showPoints": "auto",
84
"spanNulls": false,
85
"stacking": {
86
"group": "A",
87
"mode": "none"
88
},
89
"thresholdsStyle": {
90
"mode": "off"
91
}
92
},
93
"mappings": [],
94
"min": 0,
95
"thresholds": {
96
"mode": "absolute",
97
"steps": [
98
{
99
"color": "green",
100
"value": null
101
},
102
{
103
"color": "red",
104
"value": 80
105
}
106
]
107
},
108
"unit": "reqps",
109
"unitScale": true
110
},
111
"overrides": []
112
},
113
"gridPos": {
114
"h": 8,
115
"w": 12,
116
"x": 0,
117
"y": 5
118
},
119
"id": 1,
120
"options": {
121
"legend": {
122
"calcs": [],
123
"displayMode": "list",
124
"placement": "bottom",
125
"showLegend": true
126
},
127
"tooltip": {
128
"mode": "single",
129
"sort": "none"
130
}
131
},
132
"targets": [
133
{
134
"datasource": {
135
"type": "prometheus",
136
"uid": "prometheus"
137
},
138
"editorMode": "code",
139
"expr": "sum(rate({__name__=~\"http_server_request_duration_seconds_count|http_server_request_duration_count|http_server_duration_milliseconds_count|http_server_duration_seconds_count|http_server_duration_count\", job=~\"$job\", instance=~\"$instance\"}[5m]))",
140
"legendFormat": "__auto",
141
"range": true,
142
"refId": "A"
143
}
144
],
145
"title": "Request Rate",
146
"type": "timeseries"
147
},
148
{
149
"datasource": {
150
"type": "prometheus",
151
"uid": "prometheus"
152
},
153
"fieldConfig": {
154
"defaults": {
155
"color": {
156
"mode": "palette-classic"
157
},
158
"custom": {
159
"axisBorderShow": false,
160
"axisCenteredZero": false,
161
"axisColorMode": "text",
162
"axisLabel": "",
163
"axisPlacement": "auto",
164
"barAlignment": 0,
165
"drawStyle": "line",
166
"fillOpacity": 0,
167
"gradientMode": "none",
168
"hideFrom": {
169
"legend": false,
170
"tooltip": false,
171
"viz": false
172
},
173
"insertNulls": false,
174
"lineInterpolation": "linear",
175
"lineWidth": 1,
176
"pointSize": 5,
177
"scaleDistribution": {
178
"type": "linear"
179
},
180
"showPoints": "auto",
181
"spanNulls": false,
182
"stacking": {
183
"group": "A",
184
"mode": "none"
185
},
186
"thresholdsStyle": {
187
"mode": "off"
188
}
189
},
190
"mappings": [],
191
"min": 0,
192
"thresholds": {
193
"mode": "absolute",
194
"steps": [
195
{
196
"color": "green",
197
"value": null
198
},
199
{
200
"color": "red",
201
"value": 80
202
}
203
]
204
},
205
"unit": "percentunit",
206
"unitScale": true
207
},
208
"overrides": []
209
},
210
"gridPos": {
211
"h": 8,
212
"w": 12,
213
"x": 0,
214
"y": 13
215
},
216
"id": 2,
217
"options": {
218
"legend": {
219
"calcs": [],
220
"displayMode": "list",
221
"placement": "bottom",
222
"showLegend": true
223
},
224
"tooltip": {
225
"mode": "single",
226
"sort": "none"
227
}
228
},
229
"targets": [
230
{
231
"datasource": {
232
"type": "prometheus",
233
"uid": "prometheus"
234
},
235
"editorMode": "code",
236
"expr": "sum(rate({__name__=~\"http_server_request_duration_seconds_count|http_server_request_duration_count|http_server_duration_milliseconds_count|http_server_duration_seconds_count|http_server_duration_count\", job=~\"$job\", instance=~\"$instance\", http_response_status_code=~\"5..\"}[5m])) / sum(rate({__name__=~\"http_server_request_duration_seconds_count|http_server_request_duration_count|http_server_duration_milliseconds_count|http_server_duration_seconds_count|http_server_duration_count\", job=~\"$job\", instance=~\"$instance\"}[5m]))",
237
"legendFormat": "__auto",
238
"range": true,
239
"refId": "A"
240
}
241
],
242
"title": "Error Rate",
243
"type": "timeseries"
244
},
245
{
246
"datasource": {
247
"type": "prometheus",
248
"uid": "prometheus"
249
},
250
"description": "",
251
"fieldConfig": {
252
"defaults": {
253
"color": {
254
"mode": "thresholds"
255
},
256
"mappings": [],
257
"thresholds": {
258
"mode": "absolute",
259
"steps": [
260
{
261
"color": "green",
262
"value": null
263
},
264
{
265
"color": "red",
266
"value": 80
267
}
268
]
269
},
270
"unit": "reqps",
271
"unitScale": true
272
},
273
"overrides": []
274
},
275
"gridPos": {
276
"h": 8,
277
"w": 12,
278
"x": 0,
279
"y": 21
280
},
281
"id": 3,
282
"options": {
283
"displayMode": "gradient",
284
"maxVizHeight": 300,
285
"minVizHeight": 10,
286
"minVizWidth": 0,
287
"namePlacement": "auto",
288
"orientation": "auto",
289
"reduceOptions": {
290
"calcs": [
291
"lastNotNull"
292
],
293
"fields": "",
294
"values": false
295
},
296
"showUnfilled": true,
297
"sizing": "auto",
298
"valueMode": "color"
299
},
300
"pluginVersion": "10.3.3",
301
"targets": [
302
{
303
"datasource": {
304
"type": "prometheus",
305
"uid": "prometheus"
306
},
307
"editorMode": "code",
308
"exemplar": true,
309
"expr": "sum by (le) (rate({__name__=~\"http_server_request_duration_seconds_bucket|http_server_request_duration_bucket|http_server_duration_milliseconds_bucket|http_server_duration_seconds_bucket|http_server_duration_bucket\", job=~\"$job\", instance=~\"$instance\"}[5m]))",
310
"format": "heatmap",
311
"instant": false,
312
"legendFormat": "{{le}}",
313
"range": true,
314
"refId": "A"
315
}
316
],
317
"title": "Duration histogram (s)",
318
"type": "bargauge"
319
},
320
{
321
"datasource": {
322
"type": "prometheus",
323
"uid": "prometheus"
324
},
325
"fieldConfig": {
326
"defaults": {
327
"custom": {
328
"hideFrom": {
329
"legend": false,
330
"tooltip": false,
331
"viz": false
332
},
333
"scaleDistribution": {
334
"type": "linear"
335
}
336
}
337
},
338
"overrides": []
339
},
340
"gridPos": {
341
"h": 8,
342
"w": 12,
343
"x": 0,
344
"y": 29
345
},
346
"id": 5,
347
"options": {
348
"calculate": false,
349
"cellGap": 1,
350
"color": {
351
"exponent": 0.5,
352
"fill": "dark-orange",
353
"mode": "scheme",
354
"reverse": false,
355
"scale": "exponential",
356
"scheme": "Oranges",
357
"steps": 64
358
},
359
"exemplars": {
360
"color": "rgba(255,0,255,0.7)"
361
},
362
"filterValues": {
363
"le": 1e-9
364
},
365
"legend": {
366
"show": true
367
},
368
"rowsFrame": {
369
"layout": "auto"
370
},
371
"tooltip": {
372
"show": true,
373
"yHistogram": false
374
},
375
"yAxis": {
376
"axisPlacement": "left",
377
"reverse": false,
378
"unit": "s"
379
}
380
},
381
"pluginVersion": "10.2.0",
382
"targets": [
383
{
384
"datasource": {
385
"type": "prometheus",
386
"uid": "prometheus"
387
},
388
"editorMode": "code",
389
"exemplar": false,
390
"expr": "sum by (le) (rate({__name__=~\"http_server_request_duration_seconds_bucket|http_server_request_duration_bucket|http_server_duration_milliseconds_bucket|http_server_duration_seconds_bucket|http_server_duration_bucket\", job=~\"$job\", instance=~\"$instance\"}[5m]))",
391
"format": "heatmap",
392
"instant": false,
393
"range": true,
394
"refId": "A"
395
}
396
],
397
"title": "Duration Heatmap",
398
"type": "heatmap"
399
},
400
{
401
"datasource": {
402
"type": "prometheus",
403
"uid": "prometheus"
404
},
405
"fieldConfig": {
406
"defaults": {
407
"color": {
408
"mode": "palette-classic"
409
},
410
"custom": {
411
"axisBorderShow": false,
412
"axisCenteredZero": false,
413
"axisColorMode": "text",
414
"axisLabel": "",
415
"axisPlacement": "auto",
416
"barAlignment": 0,
417
"drawStyle": "line",
418
"fillOpacity": 0,
419
"gradientMode": "none",
420
"hideFrom": {
421
"legend": false,
422
"tooltip": false,
423
"viz": false
424
},
425
"insertNulls": false,
426
"lineInterpolation": "linear",
427
"lineWidth": 1,
428
"pointSize": 5,
429
"scaleDistribution": {
430
"type": "linear"
431
},
432
"showPoints": "auto",
433
"spanNulls": false,
434
"stacking": {
435
"group": "A",
436
"mode": "none"
437
},
438
"thresholdsStyle": {
439
"mode": "off"
440
}
441
},
442
"mappings": [],
443
"min": 0,
444
"thresholds": {
445
"mode": "absolute",
446
"steps": [
447
{
448
"color": "green"
449
},
450
{
451
"color": "red",
452
"value": 80
453
}
454
]
455
},
456
"unit": "s"
457
},
458
"overrides": []
459
},
460
"gridPos": {
461
"h": 8,
462
"w": 12,
463
"x": 0,
464
"y": 37
465
},
466
"id": 4,
467
"options": {
468
"legend": {
469
"calcs": [],
470
"displayMode": "list",
471
"placement": "bottom",
472
"showLegend": true
473
},
474
"tooltip": {
475
"mode": "single",
476
"sort": "none"
477
}
478
},
479
"pluginVersion": "9.5.1",
480
"targets": [
481
{
482
"datasource": {
483
"type": "prometheus",
484
"uid": "prometheus"
485
},
486
"editorMode": "code",
487
"exemplar": true,
488
"expr": "histogram_quantile(0.95, sum by (le) (rate({__name__=~\"http_server_request_duration_seconds_bucket|http_server_request_duration_bucket|http_server_duration_milliseconds_bucket|http_server_duration_seconds_bucket|http_server_duration_bucket\", job=~\"$job\", instance=~\"$instance\"}[5m])))",
489
"format": "time_series",
490
"instant": false,
491
"legendFormat": "95th",
492
"range": true,
493
"refId": "A"
494
},
495
{
496
"datasource": {
497
"type": "prometheus",
498
"uid": "prometheus"
499
},
500
"editorMode": "code",
501
"exemplar": true,
502
"expr": "histogram_quantile(0.5, sum by (le) (rate({__name__=~\"http_server_request_duration_seconds_bucket|http_server_request_duration_bucket|http_server_duration_milliseconds_bucket|http_server_duration_seconds_bucket|http_server_duration_bucket\", job=~\"$job\", instance=~\"$instance\"}[5m])))",
503
"hide": false,
504
"legendFormat": "50th",
505
"range": true,
506
"refId": "B"
507
}
508
],
509
"title": "Duration percentiles",
510
"type": "timeseries"
511
}
512
],
513
"refresh": "",
514
"schemaVersion": 39,
515
"tags": [],
516
"templating": {
517
"list": [
518
{
519
"allValue": ".+",
520
"current": {
521
"selected": true,
522
"text": [
523
"All"
524
],
525
"value": [
526
"$__all"
527
]
528
},
529
"datasource": {
530
"type": "prometheus",
531
"uid": "prometheus"
532
},
533
"definition": "label_values(job)",
534
"hide": 0,
535
"includeAll": true,
536
"label": "",
537
"multi": true,
538
"name": "job",
539
"options": [],
540
"query": {
541
"query": "label_values(job)",
542
"refId": "PrometheusVariableQueryEditor-VariableQuery"
543
},
544
"refresh": 1,
545
"regex": "",
546
"skipUrlSync": false,
547
"sort": 0,
548
"type": "query"
549
},
550
{
551
"allValue": ".+",
552
"current": {
553
"selected": true,
554
"text": [
555
"All"
556
],
557
"value": [
558
"$__all"
559
]
560
},
561
"datasource": {
562
"type": "prometheus",
563
"uid": "prometheus"
564
},
565
"definition": "label_values({job=~\"$job\"},instance)",
566
"hide": 0,
567
"includeAll": true,
568
"label": "instance",
569
"multi": true,
570
"name": "instance",
571
"options": [],
572
"query": {
573
"query": "label_values({job=~\"$job\"},instance)",
574
"refId": "PrometheusVariableQueryEditor-VariableQuery"
575
},
576
"refresh": 1,
577
"regex": "",
578
"skipUrlSync": false,
579
"sort": 0,
580
"type": "query"
581
}
582
]
583
},
584
"time": {
585
"from": "now-30m",
586
"to": "now"
587
},
588
"timepicker": {},
589
"timezone": "",
590
"title": "RED Metrics (classic histogram)",
591
"uid": "f543a537-cb96-470d-a349-660ad1513136",
592
"version": 1,
593
"weekStart": ""
594
}
595
596