unoffical wafrn mirror
wafrn.net
atproto
social-network
activitypub
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 "type": "dashboard"
15 }
16 ]
17 },
18 "description": "Only \"pg_stat_statements\" extension expected",
19 "editable": true,
20 "fiscalYearStartMonth": 0,
21 "graphTooltip": 0,
22 "links": [],
23 "panels": [
24 {
25 "datasource": {
26 "type": "grafana-postgresql-datasource",
27 "uid": "pgwatch-metrics"
28 },
29 "description": "Last 5m data",
30 "fieldConfig": {
31 "defaults": {
32 "color": {
33 "mode": "thresholds"
34 },
35 "mappings": [
36 {
37 "options": {
38 "0": {
39 "text": "PRIMARY"
40 },
41 "1": {
42 "text": "REPLICA"
43 }
44 },
45 "type": "value"
46 }
47 ],
48 "thresholds": {
49 "mode": "absolute",
50 "steps": [
51 {
52 "color": "green",
53 "value": null
54 },
55 {
56 "color": "red",
57 "value": 80
58 }
59 ]
60 },
61 "unit": "none"
62 },
63 "overrides": []
64 },
65 "gridPos": {
66 "h": 2,
67 "w": 3,
68 "x": 0,
69 "y": 0
70 },
71 "hideTimeOverride": true,
72 "id": 1,
73 "interval": "",
74 "maxDataPoints": 100,
75 "options": {
76 "colorMode": "none",
77 "graphMode": "none",
78 "justifyMode": "auto",
79 "orientation": "horizontal",
80 "reduceOptions": {
81 "calcs": [
82 "lastNotNull"
83 ],
84 "fields": "",
85 "values": false
86 },
87 "showPercentChange": false,
88 "textMode": "auto",
89 "wideLayout": true
90 },
91 "pluginVersion": "10.4.1",
92 "targets": [
93 {
94 "alias": "TPS",
95 "datasource": {
96 "type": "grafana-postgresql-datasource",
97 "uid": "pgwatch-metrics"
98 },
99 "format": "time_series",
100 "group": [],
101 "groupBy": [
102 {
103 "params": [
104 "$interval"
105 ],
106 "type": "time"
107 },
108 {
109 "params": [
110 "null"
111 ],
112 "type": "fill"
113 }
114 ],
115 "metricColumn": "none",
116 "orderByTime": "ASC",
117 "policy": "default",
118 "rawQuery": true,
119 "rawSql": "SELECT\n time,\n (data->'in_recovery_int')::int\nFROM\n wal\nWHERE\n $__timeFilter(time)\n AND dbname = '$dbname'\nORDER BY time DESC\nLIMIT 1\n",
120 "refId": "A",
121 "resultFormat": "time_series",
122 "select": [
123 [
124 {
125 "params": [
126 "value"
127 ],
128 "type": "field"
129 },
130 {
131 "params": [],
132 "type": "mean"
133 }
134 ]
135 ],
136 "tags": [],
137 "timeColumn": "time",
138 "where": [
139 {
140 "name": "$__timeFilter",
141 "params": [],
142 "type": "macro"
143 }
144 ]
145 }
146 ],
147 "timeFrom": "5m",
148 "title": "Instance state",
149 "type": "stat"
150 },
151 {
152 "datasource": {
153 "type": "grafana-postgresql-datasource",
154 "uid": "pgwatch-metrics"
155 },
156 "description": "Last 5min data",
157 "fieldConfig": {
158 "defaults": {
159 "color": {
160 "mode": "thresholds"
161 },
162 "mappings": [
163 {
164 "options": {
165 "match": "null",
166 "result": {
167 "text": "N/A"
168 }
169 },
170 "type": "special"
171 }
172 ],
173 "thresholds": {
174 "mode": "absolute",
175 "steps": [
176 {
177 "color": "green",
178 "value": null
179 },
180 {
181 "color": "red",
182 "value": 80
183 }
184 ]
185 },
186 "unit": "dtdurations"
187 },
188 "overrides": []
189 },
190 "gridPos": {
191 "h": 2,
192 "w": 3,
193 "x": 3,
194 "y": 0
195 },
196 "hideTimeOverride": true,
197 "id": 17,
198 "interval": "",
199 "maxDataPoints": 100,
200 "options": {
201 "colorMode": "none",
202 "graphMode": "none",
203 "justifyMode": "auto",
204 "orientation": "horizontal",
205 "reduceOptions": {
206 "calcs": [
207 "lastNotNull"
208 ],
209 "fields": "",
210 "values": false
211 },
212 "showPercentChange": false,
213 "textMode": "auto",
214 "wideLayout": true
215 },
216 "pluginVersion": "10.4.1",
217 "targets": [
218 {
219 "alias": "TPS",
220 "datasource": {
221 "type": "grafana-postgresql-datasource",
222 "uid": "pgwatch-metrics"
223 },
224 "format": "time_series",
225 "group": [],
226 "groupBy": [
227 {
228 "params": [
229 "$interval"
230 ],
231 "type": "time"
232 },
233 {
234 "params": [
235 "null"
236 ],
237 "type": "fill"
238 }
239 ],
240 "metricColumn": "none",
241 "orderByTime": "ASC",
242 "policy": "default",
243 "rawQuery": true,
244 "rawSql": "SELECT\n time,\n (data->'postmaster_uptime_s')::int\nFROM\n wal\nWHERE\n $__timeFilter(time)\n AND dbname = '$dbname'\nORDER BY time DESC\nLIMIT 1\n",
245 "refId": "A",
246 "resultFormat": "time_series",
247 "select": [
248 [
249 {
250 "params": [
251 "value"
252 ],
253 "type": "field"
254 },
255 {
256 "params": [],
257 "type": "mean"
258 }
259 ]
260 ],
261 "tags": [],
262 "timeColumn": "time",
263 "where": [
264 {
265 "name": "$__timeFilter",
266 "params": [],
267 "type": "macro"
268 }
269 ]
270 }
271 ],
272 "timeFrom": "5m",
273 "title": "Instance uptime",
274 "type": "stat"
275 },
276 {
277 "datasource": {
278 "type": "grafana-postgresql-datasource",
279 "uid": "pgwatch-metrics"
280 },
281 "description": "Current Transaction Per Second (10m avg) + last 6h history",
282 "fieldConfig": {
283 "defaults": {
284 "color": {
285 "fixedColor": "rgb(31, 120, 193)",
286 "mode": "fixed"
287 },
288 "mappings": [
289 {
290 "options": {
291 "match": "null",
292 "result": {
293 "text": "N/A"
294 }
295 },
296 "type": "special"
297 }
298 ],
299 "thresholds": {
300 "mode": "absolute",
301 "steps": [
302 {
303 "color": "green",
304 "value": null
305 },
306 {
307 "color": "red",
308 "value": 80
309 }
310 ]
311 },
312 "unit": "none"
313 },
314 "overrides": []
315 },
316 "gridPos": {
317 "h": 2,
318 "w": 3,
319 "x": 6,
320 "y": 0
321 },
322 "hideTimeOverride": true,
323 "id": 18,
324 "interval": "10m",
325 "maxDataPoints": 100,
326 "options": {
327 "colorMode": "none",
328 "graphMode": "area",
329 "justifyMode": "auto",
330 "orientation": "horizontal",
331 "reduceOptions": {
332 "calcs": [
333 "lastNotNull"
334 ],
335 "fields": "",
336 "values": false
337 },
338 "showPercentChange": false,
339 "textMode": "auto",
340 "wideLayout": true
341 },
342 "pluginVersion": "10.4.1",
343 "targets": [
344 {
345 "alias": "TPS",
346 "datasource": {
347 "type": "grafana-postgresql-datasource",
348 "uid": "pgwatch-metrics"
349 },
350 "format": "time_series",
351 "group": [],
352 "groupBy": [
353 {
354 "params": [
355 "$interval"
356 ],
357 "type": "time"
358 },
359 {
360 "params": [
361 "null"
362 ],
363 "type": "fill"
364 }
365 ],
366 "metricColumn": "none",
367 "orderByTime": "ASC",
368 "policy": "default",
369 "rawQuery": true,
370 "rawSql": "select\n $__timeGroup(time, $__interval),\n avg(((c - c_lag) + (r - r_lag)) / extract(epoch from time - time_lag)) as tps\nfrom (\n select \n (data->>'xact_commit')::int8 as c, lag((data->>'xact_commit')::int8) over w as c_lag,\n (data->>'xact_rollback')::int8 as r, lag((data->>'xact_rollback')::int8) over w as r_lag,\n time, lag(time) over w as time_lag\n from db_stats\n where dbname = '$dbname' and $__timeFilter(time)\n window w as (order by time) \n) x\nwhere c >= c_lag and r >= r_lag and time > time_lag\ngroup by 1\norder by 1",
371 "refId": "A",
372 "resultFormat": "time_series",
373 "select": [
374 [
375 {
376 "params": [
377 "value"
378 ],
379 "type": "field"
380 },
381 {
382 "params": [],
383 "type": "mean"
384 }
385 ]
386 ],
387 "tags": [],
388 "timeColumn": "time",
389 "where": [
390 {
391 "name": "$__timeFilter",
392 "params": [],
393 "type": "macro"
394 }
395 ]
396 }
397 ],
398 "timeFrom": "6h",
399 "title": "TPS",
400 "type": "stat"
401 },
402 {
403 "datasource": {
404 "type": "grafana-postgresql-datasource",
405 "uid": "pgwatch-metrics"
406 },
407 "description": "Queries Per Second based on pg_stat_statements.calls. Last 10m avg. + last 6h history",
408 "fieldConfig": {
409 "defaults": {
410 "color": {
411 "fixedColor": "rgb(31, 120, 193)",
412 "mode": "fixed"
413 },
414 "mappings": [
415 {
416 "options": {
417 "match": "null",
418 "result": {
419 "text": "N/A"
420 }
421 },
422 "type": "special"
423 }
424 ],
425 "thresholds": {
426 "mode": "absolute",
427 "steps": [
428 {
429 "color": "green",
430 "value": null
431 },
432 {
433 "color": "red",
434 "value": 80
435 }
436 ]
437 },
438 "unit": "none"
439 },
440 "overrides": []
441 },
442 "gridPos": {
443 "h": 2,
444 "w": 3,
445 "x": 9,
446 "y": 0
447 },
448 "hideTimeOverride": true,
449 "id": 2,
450 "interval": "10m",
451 "maxDataPoints": 100,
452 "options": {
453 "colorMode": "none",
454 "graphMode": "area",
455 "justifyMode": "auto",
456 "orientation": "horizontal",
457 "reduceOptions": {
458 "calcs": [
459 "lastNotNull"
460 ],
461 "fields": "",
462 "values": false
463 },
464 "showPercentChange": false,
465 "textMode": "auto",
466 "wideLayout": true
467 },
468 "pluginVersion": "10.4.1",
469 "targets": [
470 {
471 "alias": "QPS",
472 "datasource": {
473 "type": "grafana-postgresql-datasource",
474 "uid": "pgwatch-metrics"
475 },
476 "format": "time_series",
477 "group": [],
478 "groupBy": [
479 {
480 "params": [
481 "$interval"
482 ],
483 "type": "time"
484 },
485 {
486 "params": [
487 "null"
488 ],
489 "type": "fill"
490 }
491 ],
492 "metricColumn": "none",
493 "orderByTime": "ASC",
494 "policy": "default",
495 "rawQuery": true,
496 "rawSql": "select\n $__timeGroup(time, $__interval),\n avg((c - c_lag) / extract(epoch from time - time_lag)) as qps\nfrom (\n select \n (data->>'calls')::int8 as c, lag((data->>'calls')::int8) over w as c_lag,\n time, lag(time) over w as time_lag\n from stat_statements_calls\n where dbname = '$dbname' and $__timeFilter(time)\n window w as (order by time) \n) x\nwhere c >= c_lag\ngroup by 1\norder by 1\n",
497 "refId": "A",
498 "resultFormat": "time_series",
499 "select": [
500 [
501 {
502 "params": [
503 "value"
504 ],
505 "type": "field"
506 },
507 {
508 "params": [],
509 "type": "mean"
510 }
511 ]
512 ],
513 "tags": [],
514 "timeColumn": "time",
515 "where": [
516 {
517 "name": "$__timeFilter",
518 "params": [],
519 "type": "macro"
520 }
521 ]
522 }
523 ],
524 "timeFrom": "6h",
525 "title": "QPS",
526 "type": "stat"
527 },
528 {
529 "datasource": {
530 "type": "grafana-postgresql-datasource",
531 "uid": "pgwatch-metrics"
532 },
533 "description": "Approximate value based on pg_stat_statements total_time / calls. Last 10min avg. + last 6h history",
534 "fieldConfig": {
535 "defaults": {
536 "color": {
537 "fixedColor": "rgb(31, 120, 193)",
538 "mode": "fixed"
539 },
540 "mappings": [
541 {
542 "options": {
543 "match": "null",
544 "result": {
545 "text": "N/A"
546 }
547 },
548 "type": "special"
549 }
550 ],
551 "thresholds": {
552 "mode": "absolute",
553 "steps": [
554 {
555 "color": "green",
556 "value": null
557 },
558 {
559 "color": "red",
560 "value": 80
561 }
562 ]
563 },
564 "unit": "none"
565 },
566 "overrides": []
567 },
568 "gridPos": {
569 "h": 2,
570 "w": 3,
571 "x": 12,
572 "y": 0
573 },
574 "hideTimeOverride": true,
575 "id": 3,
576 "interval": "10m",
577 "maxDataPoints": 100,
578 "options": {
579 "colorMode": "none",
580 "graphMode": "area",
581 "justifyMode": "auto",
582 "orientation": "horizontal",
583 "reduceOptions": {
584 "calcs": [
585 "lastNotNull"
586 ],
587 "fields": "",
588 "values": false
589 },
590 "showPercentChange": false,
591 "textMode": "auto",
592 "wideLayout": true
593 },
594 "pluginVersion": "10.4.1",
595 "targets": [
596 {
597 "alias": "avg_query_runtime_per_db",
598 "datasource": {
599 "type": "grafana-postgresql-datasource",
600 "uid": "pgwatch-metrics"
601 },
602 "format": "time_series",
603 "group": [],
604 "groupBy": [
605 {
606 "params": [
607 "$interval"
608 ],
609 "type": "time"
610 },
611 {
612 "params": [
613 "null"
614 ],
615 "type": "fill"
616 }
617 ],
618 "metricColumn": "none",
619 "orderByTime": "ASC",
620 "policy": "default",
621 "rawQuery": true,
622 "rawSql": "select\n$__timeGroup(time, $__interval),\navg((tt-tt_lag)::numeric / (c-c_lag))\n\nfrom (\n\n select \n (data->>'total_time')::float8 as tt, lag((data->>'total_time')::float8) over w as tt_lag,\n (data->>'calls')::int8 as c, lag((data->>'calls')::int8) over w as c_lag,\n time\n from stat_statements_calls\n where dbname = '$dbname' and $__timeFilter(time)\n window w as (order by time)\n) x\nwhere c > c_lag and tt >= tt_lag\ngroup by 1\norder by 1",
623 "refId": "A",
624 "resultFormat": "time_series",
625 "select": [
626 [
627 {
628 "params": [
629 "value"
630 ],
631 "type": "field"
632 },
633 {
634 "params": [],
635 "type": "mean"
636 }
637 ]
638 ],
639 "tags": [],
640 "timeColumn": "time",
641 "where": [
642 {
643 "name": "$__timeFilter",
644 "params": [],
645 "type": "macro"
646 }
647 ]
648 }
649 ],
650 "timeFrom": "6h",
651 "title": "Query runtime",
652 "type": "stat"
653 },
654 {
655 "datasource": {
656 "type": "grafana-postgresql-datasource",
657 "uid": "pgwatch-metrics"
658 },
659 "description": "Based on pg_stat_database.numbackends. Last 10m avg + 6h history",
660 "fieldConfig": {
661 "defaults": {
662 "color": {
663 "fixedColor": "rgb(31, 120, 193)",
664 "mode": "fixed"
665 },
666 "decimals": 1,
667 "mappings": [
668 {
669 "options": {
670 "match": "null",
671 "result": {
672 "text": "N/A"
673 }
674 },
675 "type": "special"
676 }
677 ],
678 "thresholds": {
679 "mode": "absolute",
680 "steps": [
681 {
682 "color": "green",
683 "value": null
684 },
685 {
686 "color": "red",
687 "value": 80
688 }
689 ]
690 },
691 "unit": "short"
692 },
693 "overrides": []
694 },
695 "gridPos": {
696 "h": 2,
697 "w": 3,
698 "x": 15,
699 "y": 0
700 },
701 "hideTimeOverride": true,
702 "id": 5,
703 "interval": "10m",
704 "maxDataPoints": 100,
705 "options": {
706 "colorMode": "none",
707 "graphMode": "area",
708 "justifyMode": "auto",
709 "orientation": "horizontal",
710 "reduceOptions": {
711 "calcs": [
712 "lastNotNull"
713 ],
714 "fields": "",
715 "values": false
716 },
717 "showPercentChange": false,
718 "textMode": "auto",
719 "wideLayout": true
720 },
721 "pluginVersion": "10.4.1",
722 "targets": [
723 {
724 "alias": "",
725 "datasource": {
726 "type": "grafana-postgresql-datasource",
727 "uid": "pgwatch-metrics"
728 },
729 "format": "time_series",
730 "group": [],
731 "groupBy": [
732 {
733 "params": [
734 "10m"
735 ],
736 "type": "time"
737 },
738 {
739 "params": [
740 "none"
741 ],
742 "type": "fill"
743 }
744 ],
745 "measurement": "db_stats",
746 "metricColumn": "none",
747 "orderByTime": "ASC",
748 "policy": "default",
749 "rawQuery": true,
750 "rawSql": "select\n $__timeGroup(time, $__interval),\n avg(nb) as \"# Sessions ($agg_interval avg)\"\nfrom (\n select \n (data->>'numbackends')::int8 as nb,\n time\n from db_stats\n where dbname = '$dbname' and $__timeFilter(time)\n) x\ngroup by 1\norder by 1\n",
751 "refId": "A",
752 "resultFormat": "time_series",
753 "select": [
754 [
755 {
756 "params": [
757 "numbackends"
758 ],
759 "type": "field"
760 },
761 {
762 "params": [],
763 "type": "mean"
764 }
765 ]
766 ],
767 "tags": [
768 {
769 "key": "dbname",
770 "operator": "=~",
771 "value": "/^$dbname$/"
772 }
773 ],
774 "timeColumn": "time",
775 "where": [
776 {
777 "name": "$__timeFilter",
778 "params": [],
779 "type": "macro"
780 }
781 ]
782 }
783 ],
784 "timeFrom": "6h",
785 "title": "Sessions",
786 "type": "stat"
787 },
788 {
789 "datasource": {
790 "type": "grafana-postgresql-datasource",
791 "uid": "pgwatch-metrics"
792 },
793 "description": "",
794 "fieldConfig": {
795 "defaults": {
796 "color": {
797 "fixedColor": "rgb(31, 120, 193)",
798 "mode": "fixed"
799 },
800 "mappings": [
801 {
802 "options": {
803 "match": "null",
804 "result": {
805 "text": "N/A"
806 }
807 },
808 "type": "special"
809 }
810 ],
811 "thresholds": {
812 "mode": "absolute",
813 "steps": [
814 {
815 "color": "green",
816 "value": null
817 },
818 {
819 "color": "red",
820 "value": 80
821 }
822 ]
823 },
824 "unit": "bytes"
825 },
826 "overrides": []
827 },
828 "gridPos": {
829 "h": 2,
830 "w": 3,
831 "x": 18,
832 "y": 0
833 },
834 "hideTimeOverride": true,
835 "id": 6,
836 "interval": "10m",
837 "maxDataPoints": 100,
838 "options": {
839 "colorMode": "none",
840 "graphMode": "area",
841 "justifyMode": "auto",
842 "orientation": "horizontal",
843 "reduceOptions": {
844 "calcs": [
845 "lastNotNull"
846 ],
847 "fields": "",
848 "values": false
849 },
850 "showPercentChange": false,
851 "textMode": "auto",
852 "wideLayout": true
853 },
854 "pluginVersion": "10.4.1",
855 "targets": [
856 {
857 "alias": "",
858 "datasource": {
859 "type": "grafana-postgresql-datasource",
860 "uid": "pgwatch-metrics"
861 },
862 "format": "time_series",
863 "group": [],
864 "groupBy": [
865 {
866 "params": [
867 "10m"
868 ],
869 "type": "time"
870 },
871 {
872 "params": [
873 "none"
874 ],
875 "type": "fill"
876 }
877 ],
878 "measurement": "db_stats",
879 "metricColumn": "none",
880 "orderByTime": "ASC",
881 "policy": "default",
882 "rawQuery": true,
883 "rawSql": "select\n $__timeGroup(time, '1h'),\n avg( ((tb-tb_lag)*3600) / (etime - lag_etime)) as \"Temp bytes (1h rate)\"\nfrom (\n select \n (data->>'temp_bytes')::int8 as tb, lag((data->>'temp_bytes')::int8) over w as tb_lag,\n (extract(epoch from time))::int8 as etime,\n (lag(extract(epoch from time)) over w)::int8 as lag_etime,\n time\n from db_stats\n where dbname = '$dbname' and $__timeFilter(time)\n window w as (order by time)\n) x\nwhere tb >= tb_lag and etime > lag_etime\ngroup by 1\norder by 1\n",
884 "refId": "A",
885 "resultFormat": "time_series",
886 "select": [
887 [
888 {
889 "params": [
890 "temp_bytes"
891 ],
892 "type": "field"
893 },
894 {
895 "params": [],
896 "type": "last"
897 },
898 {
899 "params": [
900 "1h"
901 ],
902 "type": "non_negative_derivative"
903 }
904 ]
905 ],
906 "tags": [
907 {
908 "key": "dbname",
909 "operator": "=~",
910 "value": "/^$dbname$/"
911 }
912 ],
913 "timeColumn": "time",
914 "where": [
915 {
916 "name": "$__timeFilter",
917 "params": [],
918 "type": "macro"
919 }
920 ]
921 }
922 ],
923 "timeFrom": "6h",
924 "title": "Temp bytes 1h avg. rate",
925 "type": "stat"
926 },
927 {
928 "datasource": {
929 "type": "grafana-postgresql-datasource",
930 "uid": "pgwatch-metrics"
931 },
932 "description": "Percentage of rows touched by queries that are actually returned to the client. Low numbers (< 10%) for an OLTP workload can hint at missing indexes. Last 10m avg + 6h history.",
933 "fieldConfig": {
934 "defaults": {
935 "color": {
936 "fixedColor": "rgb(31, 120, 193)",
937 "mode": "fixed"
938 },
939 "decimals": 1,
940 "mappings": [
941 {
942 "options": {
943 "match": "null",
944 "result": {
945 "text": "N/A"
946 }
947 },
948 "type": "special"
949 }
950 ],
951 "thresholds": {
952 "mode": "absolute",
953 "steps": [
954 {
955 "color": "green",
956 "value": null
957 },
958 {
959 "color": "red",
960 "value": 80
961 }
962 ]
963 },
964 "unit": "percent"
965 },
966 "overrides": []
967 },
968 "gridPos": {
969 "h": 2,
970 "w": 3,
971 "x": 21,
972 "y": 0
973 },
974 "hideTimeOverride": true,
975 "id": 4,
976 "interval": "10m",
977 "maxDataPoints": 100,
978 "options": {
979 "colorMode": "none",
980 "graphMode": "area",
981 "justifyMode": "auto",
982 "orientation": "horizontal",
983 "reduceOptions": {
984 "calcs": [
985 "lastNotNull"
986 ],
987 "fields": "",
988 "values": false
989 },
990 "showPercentChange": false,
991 "textMode": "auto",
992 "wideLayout": true
993 },
994 "pluginVersion": "10.4.1",
995 "targets": [
996 {
997 "alias": "db_size_change_last_hour",
998 "datasource": {
999 "type": "grafana-postgresql-datasource",
1000 "uid": "pgwatch-metrics"
1001 },
1002 "format": "time_series",
1003 "group": [],
1004 "groupBy": [
1005 {
1006 "params": [
1007 "$interval"
1008 ],
1009 "type": "time"
1010 },
1011 {
1012 "params": [
1013 "null"
1014 ],
1015 "type": "fill"
1016 }
1017 ],
1018 "metricColumn": "none",
1019 "orderByTime": "ASC",
1020 "policy": "default",
1021 "rawQuery": true,
1022 "rawSql": "SELECT\n $__timeGroup(time, $__interval),\n 100 * avg((fetched - fetched_lag)::numeric / (returned - returned_lag)) as fetched_vs_returned_pct\nFROM (\n\nSELECT\n time,\n (data->'tup_fetched')::int8 as fetched,\n lag((data->'tup_fetched')::int8) over w as fetched_lag,\n (data->'tup_returned')::int8 as returned,\n lag((data->'tup_returned')::int8) over w as returned_lag\nFROM\n db_stats\nWHERE\n $__timeFilter(time)\n AND dbname = '$dbname'\nWINDOW w AS (ORDER BY time)\n) x \nWHERE returned > returned_lag AND fetched >= fetched_lag\nGROUP BY 1\nORDER BY 1\n\n",
1023 "refId": "A",
1024 "resultFormat": "time_series",
1025 "select": [
1026 [
1027 {
1028 "params": [
1029 "value"
1030 ],
1031 "type": "field"
1032 },
1033 {
1034 "params": [],
1035 "type": "mean"
1036 }
1037 ]
1038 ],
1039 "tags": [],
1040 "timeColumn": "time",
1041 "where": [
1042 {
1043 "name": "$__timeFilter",
1044 "params": [],
1045 "type": "macro"
1046 }
1047 ]
1048 }
1049 ],
1050 "timeFrom": "6h",
1051 "title": "Tuples fetched vs returned",
1052 "type": "stat"
1053 },
1054 {
1055 "datasource": {
1056 "type": "grafana-postgresql-datasource",
1057 "uid": "pgwatch-metrics"
1058 },
1059 "description": "",
1060 "fieldConfig": {
1061 "defaults": {
1062 "color": {
1063 "mode": "palette-classic"
1064 },
1065 "custom": {
1066 "axisBorderShow": false,
1067 "axisCenteredZero": false,
1068 "axisColorMode": "text",
1069 "axisLabel": "",
1070 "axisPlacement": "auto",
1071 "barAlignment": 0,
1072 "drawStyle": "line",
1073 "fillOpacity": 10,
1074 "gradientMode": "none",
1075 "hideFrom": {
1076 "legend": false,
1077 "tooltip": false,
1078 "viz": false
1079 },
1080 "insertNulls": false,
1081 "lineInterpolation": "linear",
1082 "lineWidth": 2,
1083 "pointSize": 5,
1084 "scaleDistribution": {
1085 "log": 10,
1086 "type": "log"
1087 },
1088 "showPoints": "never",
1089 "spanNulls": true,
1090 "stacking": {
1091 "group": "A",
1092 "mode": "none"
1093 },
1094 "thresholdsStyle": {
1095 "mode": "off"
1096 }
1097 },
1098 "decimals": 1,
1099 "mappings": [],
1100 "thresholds": {
1101 "mode": "absolute",
1102 "steps": [
1103 {
1104 "color": "green",
1105 "value": null
1106 },
1107 {
1108 "color": "red",
1109 "value": 80
1110 }
1111 ]
1112 },
1113 "unit": "short"
1114 },
1115 "overrides": [
1116 {
1117 "matcher": {
1118 "id": "byName",
1119 "options": "db_stats.mean"
1120 },
1121 "properties": [
1122 {
1123 "id": "unit",
1124 "value": "ms"
1125 },
1126 {
1127 "id": "custom.axisPlacement",
1128 "value": "hidden"
1129 }
1130 ]
1131 },
1132 {
1133 "matcher": {
1134 "id": "byName",
1135 "options": "DB size"
1136 },
1137 "properties": [
1138 {
1139 "id": "unit",
1140 "value": "ms"
1141 },
1142 {
1143 "id": "custom.axisPlacement",
1144 "value": "hidden"
1145 }
1146 ]
1147 },
1148 {
1149 "matcher": {
1150 "id": "byName",
1151 "options": "blk_read_time"
1152 },
1153 "properties": [
1154 {
1155 "id": "unit",
1156 "value": "ms"
1157 },
1158 {
1159 "id": "custom.axisPlacement",
1160 "value": "hidden"
1161 }
1162 ]
1163 },
1164 {
1165 "matcher": {
1166 "id": "byName",
1167 "options": "blk_write_time"
1168 },
1169 "properties": [
1170 {
1171 "id": "unit",
1172 "value": "ms"
1173 },
1174 {
1175 "id": "custom.axisPlacement",
1176 "value": "hidden"
1177 }
1178 ]
1179 }
1180 ]
1181 },
1182 "gridPos": {
1183 "h": 4,
1184 "w": 12,
1185 "x": 0,
1186 "y": 2
1187 },
1188 "id": 7,
1189 "interval": "",
1190 "options": {
1191 "legend": {
1192 "calcs": [
1193 "mean"
1194 ],
1195 "displayMode": "list",
1196 "placement": "bottom",
1197 "showLegend": true
1198 },
1199 "tooltip": {
1200 "mode": "multi",
1201 "sort": "desc"
1202 }
1203 },
1204 "pluginVersion": "10.4.1",
1205 "targets": [
1206 {
1207 "alias": "INSERT",
1208 "datasource": {
1209 "type": "grafana-postgresql-datasource",
1210 "uid": "pgwatch-metrics"
1211 },
1212 "format": "time_series",
1213 "group": [],
1214 "groupBy": [
1215 {
1216 "params": [
1217 "$interval"
1218 ],
1219 "type": "time"
1220 },
1221 {
1222 "params": [
1223 "null"
1224 ],
1225 "type": "fill"
1226 }
1227 ],
1228 "metricColumn": "none",
1229 "orderByTime": "ASC",
1230 "policy": "default",
1231 "query": "",
1232 "rawQuery": true,
1233 "rawSql": "select\n $__timeGroup(time, $agg_interval),\n avg((ins-ins_lag) * (extract(epoch from '$agg_interval'::interval)) / extract(epoch from time - time_lag)) as \"INSERT\",\n avg((upd-upd_lag) * (extract(epoch from '$agg_interval'::interval)) / extract(epoch from time - time_lag)) as \"UPDATE\",\n avg((del-del_lag) * (extract(epoch from '$agg_interval'::interval)) / extract(epoch from time - time_lag)) as \"DELETE\"\nfrom (\n select \n (data->>'tup_inserted')::int8 as ins, lag((data->>'tup_inserted')::int8) over w as ins_lag,\n (data->>'tup_updated')::int8 as upd, lag((data->>'tup_updated')::int8) over w as upd_lag,\n (data->>'tup_deleted')::int8 as del, lag((data->>'tup_deleted')::int8) over w as del_lag,\n time, lag(time) over w as time_lag\n from db_stats\n where dbname = '$dbname' and $__timeFilter(time)\n window w as (order by time)\n) x\nwhere ins >= ins_lag and time > time_lag\ngroup by 1\norder by 1",
1234 "refId": "C",
1235 "resultFormat": "time_series",
1236 "select": [
1237 [
1238 {
1239 "params": [
1240 "value"
1241 ],
1242 "type": "field"
1243 },
1244 {
1245 "params": [],
1246 "type": "mean"
1247 }
1248 ]
1249 ],
1250 "tags": [],
1251 "timeColumn": "time",
1252 "where": [
1253 {
1254 "name": "$__timeFilter",
1255 "params": [],
1256 "type": "macro"
1257 }
1258 ]
1259 }
1260 ],
1261 "title": "Tuple Ins. / Upd. / Del. statistics ($agg_interval rate)",
1262 "type": "timeseries"
1263 },
1264 {
1265 "datasource": {
1266 "type": "grafana-postgresql-datasource",
1267 "uid": "pgwatch-metrics"
1268 },
1269 "fieldConfig": {
1270 "defaults": {
1271 "color": {
1272 "mode": "palette-classic"
1273 },
1274 "custom": {
1275 "axisBorderShow": false,
1276 "axisCenteredZero": false,
1277 "axisColorMode": "text",
1278 "axisLabel": "",
1279 "axisPlacement": "auto",
1280 "barAlignment": 0,
1281 "drawStyle": "line",
1282 "fillOpacity": 10,
1283 "gradientMode": "none",
1284 "hideFrom": {
1285 "legend": false,
1286 "tooltip": false,
1287 "viz": false
1288 },
1289 "insertNulls": false,
1290 "lineInterpolation": "linear",
1291 "lineWidth": 2,
1292 "pointSize": 5,
1293 "scaleDistribution": {
1294 "type": "linear"
1295 },
1296 "showPoints": "never",
1297 "spanNulls": true,
1298 "stacking": {
1299 "group": "A",
1300 "mode": "none"
1301 },
1302 "thresholdsStyle": {
1303 "mode": "off"
1304 }
1305 },
1306 "mappings": [],
1307 "max": 105,
1308 "thresholds": {
1309 "mode": "absolute",
1310 "steps": [
1311 {
1312 "color": "green",
1313 "value": null
1314 },
1315 {
1316 "color": "red",
1317 "value": 80
1318 }
1319 ]
1320 },
1321 "unit": "percent"
1322 },
1323 "overrides": [
1324 {
1325 "matcher": {
1326 "id": "byName",
1327 "options": "TX rollback ratio"
1328 },
1329 "properties": [
1330 {
1331 "id": "color",
1332 "value": {
1333 "fixedColor": "#890F02",
1334 "mode": "fixed"
1335 }
1336 }
1337 ]
1338 }
1339 ]
1340 },
1341 "gridPos": {
1342 "h": 4,
1343 "w": 12,
1344 "x": 12,
1345 "y": 2
1346 },
1347 "id": 8,
1348 "interval": "5m",
1349 "options": {
1350 "legend": {
1351 "calcs": [
1352 "mean"
1353 ],
1354 "displayMode": "list",
1355 "placement": "bottom",
1356 "showLegend": true
1357 },
1358 "tooltip": {
1359 "mode": "multi",
1360 "sort": "none"
1361 }
1362 },
1363 "pluginVersion": "10.4.1",
1364 "targets": [
1365 {
1366 "alias": "Shared buffers hit ratio",
1367 "datasource": {
1368 "type": "grafana-postgresql-datasource",
1369 "uid": "pgwatch-metrics"
1370 },
1371 "format": "time_series",
1372 "group": [],
1373 "groupBy": [
1374 {
1375 "params": [
1376 "$interval"
1377 ],
1378 "type": "time"
1379 },
1380 {
1381 "params": [
1382 "null"
1383 ],
1384 "type": "fill"
1385 }
1386 ],
1387 "hide": false,
1388 "measurement": "db_stats",
1389 "metricColumn": "none",
1390 "orderByTime": "ASC",
1391 "policy": "default",
1392 "rawQuery": true,
1393 "rawSql": "select\n $__timeGroup(time, $agg_interval),\n avg((hit-hit_lag)::numeric / ((hit-hit_lag) + (read-read_lag)))*100 as \"Shared buffers hit ratio\",\n avg((roll-roll_lag)::numeric / ((roll-roll_lag) + (comm-comm_lag)))*100 as \"TX rollback ratio\"\nfrom (\n select \n (data->>'blks_hit')::int8 as hit, lag((data->>'blks_hit')::int8) over w as hit_lag,\n (data->>'blks_read')::int8 as read, lag((data->>'blks_read')::int8) over w as read_lag,\n (data->>'xact_rollback')::int8 as roll, lag((data->>'xact_rollback')::int8) over w as roll_lag,\n (data->>'xact_commit')::int8 as comm, lag((data->>'xact_commit')::int8) over w as comm_lag,\n time\n from db_stats\n where dbname = '$dbname' and $__timeFilter(time)\n window w as (order by time)\n) x\nwhere (hit > hit_lag or read > read_lag) and (roll > roll_lag or comm > comm_lag)\ngroup by 1\norder by 1",
1394 "refId": "A",
1395 "resultFormat": "time_series",
1396 "select": [
1397 [
1398 {
1399 "params": [
1400 "blks_hit"
1401 ],
1402 "type": "field"
1403 },
1404 {
1405 "params": [],
1406 "type": "mean"
1407 }
1408 ]
1409 ],
1410 "tags": [],
1411 "timeColumn": "time",
1412 "where": [
1413 {
1414 "name": "$__timeFilter",
1415 "params": [],
1416 "type": "macro"
1417 }
1418 ]
1419 }
1420 ],
1421 "title": "Buffer hit ratio + Rollback ratio",
1422 "type": "timeseries"
1423 },
1424 {
1425 "datasource": {
1426 "type": "grafana-postgresql-datasource",
1427 "uid": "pgwatch-metrics"
1428 },
1429 "description": "Approximate value based on pg_stat_statements total_time / calls",
1430 "fieldConfig": {
1431 "defaults": {
1432 "color": {
1433 "mode": "palette-classic"
1434 },
1435 "custom": {
1436 "axisBorderShow": false,
1437 "axisCenteredZero": false,
1438 "axisColorMode": "text",
1439 "axisLabel": "",
1440 "axisPlacement": "auto",
1441 "barAlignment": 0,
1442 "drawStyle": "line",
1443 "fillOpacity": 10,
1444 "gradientMode": "none",
1445 "hideFrom": {
1446 "legend": false,
1447 "tooltip": false,
1448 "viz": false
1449 },
1450 "insertNulls": false,
1451 "lineInterpolation": "linear",
1452 "lineWidth": 2,
1453 "pointSize": 5,
1454 "scaleDistribution": {
1455 "type": "linear"
1456 },
1457 "showPoints": "never",
1458 "spanNulls": false,
1459 "stacking": {
1460 "group": "A",
1461 "mode": "none"
1462 },
1463 "thresholdsStyle": {
1464 "mode": "off"
1465 }
1466 },
1467 "decimals": 1,
1468 "mappings": [],
1469 "min": 0,
1470 "thresholds": {
1471 "mode": "absolute",
1472 "steps": [
1473 {
1474 "color": "green",
1475 "value": null
1476 },
1477 {
1478 "color": "red",
1479 "value": 80
1480 }
1481 ]
1482 },
1483 "unit": "ms"
1484 },
1485 "overrides": [
1486 {
1487 "matcher": {
1488 "id": "byName",
1489 "options": "avg_query_runtime"
1490 },
1491 "properties": [
1492 {
1493 "id": "color",
1494 "value": {
1495 "fixedColor": "#ef843c",
1496 "mode": "fixed"
1497 }
1498 }
1499 ]
1500 },
1501 {
1502 "matcher": {
1503 "id": "byName",
1504 "options": "load_5"
1505 },
1506 "properties": [
1507 {
1508 "id": "color",
1509 "value": {
1510 "fixedColor": "#BA43A9",
1511 "mode": "fixed"
1512 }
1513 }
1514 ]
1515 }
1516 ]
1517 },
1518 "gridPos": {
1519 "h": 4,
1520 "w": 12,
1521 "x": 0,
1522 "y": 6
1523 },
1524 "id": 12,
1525 "interval": "5m",
1526 "options": {
1527 "legend": {
1528 "calcs": [
1529 "mean"
1530 ],
1531 "displayMode": "list",
1532 "placement": "bottom",
1533 "showLegend": true
1534 },
1535 "tooltip": {
1536 "mode": "multi",
1537 "sort": "none"
1538 }
1539 },
1540 "pluginVersion": "10.4.1",
1541 "targets": [
1542 {
1543 "alias": "avg_query_runtime",
1544 "datasource": {
1545 "type": "grafana-postgresql-datasource",
1546 "uid": "pgwatch-metrics"
1547 },
1548 "format": "time_series",
1549 "group": [],
1550 "groupBy": [
1551 {
1552 "params": [
1553 "$interval"
1554 ],
1555 "type": "time"
1556 },
1557 {
1558 "params": [
1559 "null"
1560 ],
1561 "type": "fill"
1562 }
1563 ],
1564 "measurement": "stat_statements",
1565 "metricColumn": "none",
1566 "orderByTime": "ASC",
1567 "policy": "default",
1568 "rawQuery": true,
1569 "rawSql": "select\n $__timeGroup(time, $agg_interval),\n avg(case when c=c_lag then null else (tt-tt_lag)::numeric / (c-c_lag) end) as \"avg_query_runtime\"\nfrom (\n\n select \n (data->>'total_time')::float8 as tt, lag((data->>'total_time')::float8) over w as tt_lag,\n (data->>'calls')::int8 as c, lag((data->>'calls')::int8) over w as c_lag,\n time\n from stat_statements_calls\n where dbname = '$dbname' and $__timeFilter(time)\n window w as (order by time)\n) x\nwhere c >= c_lag and tt >= tt_lag\ngroup by 1\norder by 1",
1570 "refId": "B",
1571 "resultFormat": "time_series",
1572 "select": [
1573 [
1574 {
1575 "params": [
1576 "value"
1577 ],
1578 "type": "field"
1579 },
1580 {
1581 "params": [],
1582 "type": "mean"
1583 }
1584 ]
1585 ],
1586 "tags": [],
1587 "timeColumn": "time",
1588 "where": [
1589 {
1590 "name": "$__timeFilter",
1591 "params": [],
1592 "type": "macro"
1593 }
1594 ]
1595 }
1596 ],
1597 "title": "Avg. query runtime ($agg_interval avg.)",
1598 "type": "timeseries"
1599 },
1600 {
1601 "datasource": {
1602 "type": "grafana-postgresql-datasource",
1603 "uid": "pgwatch-metrics"
1604 },
1605 "fieldConfig": {
1606 "defaults": {
1607 "color": {
1608 "mode": "palette-classic"
1609 },
1610 "custom": {
1611 "axisBorderShow": false,
1612 "axisCenteredZero": false,
1613 "axisColorMode": "text",
1614 "axisLabel": "",
1615 "axisPlacement": "auto",
1616 "barAlignment": 0,
1617 "drawStyle": "line",
1618 "fillOpacity": 10,
1619 "gradientMode": "none",
1620 "hideFrom": {
1621 "legend": false,
1622 "tooltip": false,
1623 "viz": false
1624 },
1625 "insertNulls": false,
1626 "lineInterpolation": "linear",
1627 "lineWidth": 2,
1628 "pointSize": 5,
1629 "scaleDistribution": {
1630 "type": "linear"
1631 },
1632 "showPoints": "never",
1633 "spanNulls": true,
1634 "stacking": {
1635 "group": "A",
1636 "mode": "none"
1637 },
1638 "thresholdsStyle": {
1639 "mode": "off"
1640 }
1641 },
1642 "decimals": 1,
1643 "mappings": [],
1644 "thresholds": {
1645 "mode": "absolute",
1646 "steps": [
1647 {
1648 "color": "green",
1649 "value": null
1650 },
1651 {
1652 "color": "red",
1653 "value": 80
1654 }
1655 ]
1656 },
1657 "unit": "Bps"
1658 },
1659 "overrides": [
1660 {
1661 "matcher": {
1662 "id": "byName",
1663 "options": "DB Size"
1664 },
1665 "properties": [
1666 {
1667 "id": "color",
1668 "value": {
1669 "fixedColor": "#2F575E",
1670 "mode": "fixed"
1671 }
1672 }
1673 ]
1674 },
1675 {
1676 "matcher": {
1677 "id": "byName",
1678 "options": "WAL rate"
1679 },
1680 "properties": [
1681 {
1682 "id": "color",
1683 "value": {
1684 "fixedColor": "#0A50A1",
1685 "mode": "fixed"
1686 }
1687 }
1688 ]
1689 },
1690 {
1691 "matcher": {
1692 "id": "byName",
1693 "options": "DB Size"
1694 },
1695 "properties": [
1696 {
1697 "id": "unit",
1698 "value": "bytes"
1699 }
1700 ]
1701 }
1702 ]
1703 },
1704 "gridPos": {
1705 "h": 4,
1706 "w": 12,
1707 "x": 12,
1708 "y": 6
1709 },
1710 "id": 10,
1711 "interval": "5m",
1712 "options": {
1713 "legend": {
1714 "calcs": [
1715 "mean"
1716 ],
1717 "displayMode": "list",
1718 "placement": "bottom",
1719 "showLegend": true
1720 },
1721 "tooltip": {
1722 "mode": "multi",
1723 "sort": "none"
1724 }
1725 },
1726 "pluginVersion": "10.4.1",
1727 "targets": [
1728 {
1729 "alias": "WAL rate",
1730 "datasource": {
1731 "type": "grafana-postgresql-datasource",
1732 "uid": "pgwatch-metrics"
1733 },
1734 "format": "time_series",
1735 "group": [],
1736 "groupBy": [
1737 {
1738 "params": [
1739 "$interval"
1740 ],
1741 "type": "time"
1742 },
1743 {
1744 "params": [
1745 "null"
1746 ],
1747 "type": "fill"
1748 }
1749 ],
1750 "measurement": "wal",
1751 "metricColumn": "none",
1752 "orderByTime": "ASC",
1753 "policy": "default",
1754 "query": "",
1755 "rawQuery": true,
1756 "rawSql": "select\n $__timeGroup(time, $agg_interval),\n avg((wal-wal_lag) / (etime-etime_lag)) as \"WAL rate\"\nfrom (\n select \n (data->>'xlog_location_b')::int8 as wal, lag((data->>'xlog_location_b')::int8) over w as wal_lag,\n extract(epoch from time) as etime,\n time, lag(extract(epoch from time)) over w as etime_lag\n from wal\n where dbname = '$dbname' and $__timeFilter(time)\n window w as (order by time)\n) x\nwhere wal >= wal_lag and etime > etime_lag\ngroup by 1\norder by 1",
1757 "refId": "A",
1758 "resultFormat": "time_series",
1759 "select": [
1760 [
1761 {
1762 "params": [
1763 "xlog_location_b"
1764 ],
1765 "type": "field"
1766 },
1767 {
1768 "params": [],
1769 "type": "mean"
1770 },
1771 {
1772 "params": [
1773 "1h"
1774 ],
1775 "type": "derivative"
1776 }
1777 ]
1778 ],
1779 "tags": [
1780 {
1781 "key": "dbname",
1782 "operator": "=~",
1783 "value": "/^$dbname$/"
1784 }
1785 ],
1786 "timeColumn": "time",
1787 "where": [
1788 {
1789 "name": "$__timeFilter",
1790 "params": [],
1791 "type": "macro"
1792 }
1793 ]
1794 },
1795 {
1796 "alias": "DB Size",
1797 "datasource": {
1798 "type": "grafana-postgresql-datasource",
1799 "uid": "pgwatch-metrics"
1800 },
1801 "format": "time_series",
1802 "group": [],
1803 "groupBy": [
1804 {
1805 "params": [
1806 "$__interval"
1807 ],
1808 "type": "time"
1809 },
1810 {
1811 "params": [
1812 "none"
1813 ],
1814 "type": "fill"
1815 }
1816 ],
1817 "measurement": "db_size",
1818 "metricColumn": "none",
1819 "orderByTime": "ASC",
1820 "policy": "default",
1821 "rawQuery": true,
1822 "rawSql": "select\n $__timeGroup(time, $agg_interval),\n avg(size_b) as \"DB Size\"\nfrom (\n select \n (data->>'size_b')::int8 as size_b,\n time\n from db_size\n where dbname = '$dbname' and $__timeFilter(time)\n) x\ngroup by 1\norder by 1",
1823 "refId": "B",
1824 "resultFormat": "time_series",
1825 "select": [
1826 [
1827 {
1828 "params": [
1829 "size_b"
1830 ],
1831 "type": "field"
1832 },
1833 {
1834 "params": [],
1835 "type": "mean"
1836 }
1837 ]
1838 ],
1839 "tags": [
1840 {
1841 "key": "dbname",
1842 "operator": "=~",
1843 "value": "/^$dbname$/"
1844 }
1845 ],
1846 "timeColumn": "time",
1847 "where": [
1848 {
1849 "name": "$__timeFilter",
1850 "params": [],
1851 "type": "macro"
1852 }
1853 ]
1854 }
1855 ],
1856 "title": "WAL rate + DB size ($agg_interval avg.)",
1857 "type": "timeseries"
1858 },
1859 {
1860 "datasource": {
1861 "type": "grafana-postgresql-datasource",
1862 "uid": "pgwatch-metrics"
1863 },
1864 "fieldConfig": {
1865 "defaults": {
1866 "color": {
1867 "mode": "palette-classic"
1868 },
1869 "custom": {
1870 "axisBorderShow": false,
1871 "axisCenteredZero": false,
1872 "axisColorMode": "text",
1873 "axisLabel": "",
1874 "axisPlacement": "auto",
1875 "barAlignment": 0,
1876 "drawStyle": "line",
1877 "fillOpacity": 10,
1878 "gradientMode": "none",
1879 "hideFrom": {
1880 "legend": false,
1881 "tooltip": false,
1882 "viz": false
1883 },
1884 "insertNulls": false,
1885 "lineInterpolation": "linear",
1886 "lineWidth": 2,
1887 "pointSize": 5,
1888 "scaleDistribution": {
1889 "type": "linear"
1890 },
1891 "showPoints": "never",
1892 "spanNulls": true,
1893 "stacking": {
1894 "group": "A",
1895 "mode": "none"
1896 },
1897 "thresholdsStyle": {
1898 "mode": "off"
1899 }
1900 },
1901 "mappings": [],
1902 "min": 0,
1903 "thresholds": {
1904 "mode": "absolute",
1905 "steps": [
1906 {
1907 "color": "green",
1908 "value": null
1909 },
1910 {
1911 "color": "red",
1912 "value": 80
1913 }
1914 ]
1915 },
1916 "unit": "short"
1917 },
1918 "overrides": [
1919 {
1920 "matcher": {
1921 "id": "byName",
1922 "options": "/Deadlocks/"
1923 },
1924 "properties": [
1925 {
1926 "id": "color",
1927 "value": {
1928 "fixedColor": "dark-red",
1929 "mode": "fixed"
1930 }
1931 }
1932 ]
1933 },
1934 {
1935 "matcher": {
1936 "id": "byName",
1937 "options": "/Sessions/"
1938 },
1939 "properties": [
1940 {
1941 "id": "color",
1942 "value": {
1943 "fixedColor": "dark-yellow",
1944 "mode": "fixed"
1945 }
1946 }
1947 ]
1948 },
1949 {
1950 "matcher": {
1951 "id": "byName",
1952 "options": "/Temp bytes/"
1953 },
1954 "properties": [
1955 {
1956 "id": "color",
1957 "value": {
1958 "fixedColor": "light-blue",
1959 "mode": "fixed"
1960 }
1961 }
1962 ]
1963 },
1964 {
1965 "matcher": {
1966 "id": "byRegexp",
1967 "options": "/Temp bytes/"
1968 },
1969 "properties": [
1970 {
1971 "id": "color",
1972 "value": {
1973 "fixedColor": "#3274D9",
1974 "mode": "fixed"
1975 }
1976 },
1977 {
1978 "id": "unit",
1979 "value": "Bps"
1980 }
1981 ]
1982 },
1983 {
1984 "matcher": {
1985 "id": "byRegexp",
1986 "options": "/Deadlocks/"
1987 },
1988 "properties": [
1989 {
1990 "id": "color",
1991 "value": {
1992 "fixedColor": "#C4162A",
1993 "mode": "fixed"
1994 }
1995 }
1996 ]
1997 },
1998 {
1999 "matcher": {
2000 "id": "byRegexp",
2001 "options": "/Sessions/"
2002 },
2003 "properties": [
2004 {
2005 "id": "color",
2006 "value": {
2007 "fixedColor": "#E0B400",
2008 "mode": "fixed"
2009 }
2010 }
2011 ]
2012 }
2013 ]
2014 },
2015 "gridPos": {
2016 "h": 4,
2017 "w": 12,
2018 "x": 0,
2019 "y": 10
2020 },
2021 "id": 9,
2022 "interval": "5m",
2023 "options": {
2024 "legend": {
2025 "calcs": [],
2026 "displayMode": "list",
2027 "placement": "bottom",
2028 "showLegend": true
2029 },
2030 "tooltip": {
2031 "mode": "multi",
2032 "sort": "desc"
2033 }
2034 },
2035 "pluginVersion": "10.4.1",
2036 "targets": [
2037 {
2038 "alias": "# Sessions",
2039 "datasource": {
2040 "type": "grafana-postgresql-datasource",
2041 "uid": "pgwatch-metrics"
2042 },
2043 "format": "time_series",
2044 "group": [],
2045 "groupBy": [
2046 {
2047 "params": [
2048 "$interval"
2049 ],
2050 "type": "time"
2051 },
2052 {
2053 "params": [
2054 "none"
2055 ],
2056 "type": "fill"
2057 }
2058 ],
2059 "measurement": "db_stats",
2060 "metricColumn": "none",
2061 "orderByTime": "ASC",
2062 "policy": "default",
2063 "query": "",
2064 "rawQuery": true,
2065 "rawSql": "select\n $__timeGroup(time, $agg_interval),\n avg(nb) as \"# Sessions ($agg_interval avg)\",\n avg(((dl-dl_lag) * extract(epoch from '$agg_interval'::interval)) / (etime - etime_lag)) as \"Deadlocks ($agg_interval rate)\"\nfrom (\n select \n (data->>'numbackends')::int8 as nb,\n (data->>'deadlocks')::int8 as dl, lag((data->>'deadlocks')::int8) over w as dl_lag,\n (extract(epoch from time))::int8 as etime,\n (lag(extract(epoch from time)) over w)::int8 as etime_lag,\n time\n from db_stats\n where dbname = '$dbname' and $__timeFilter(time)\n window w as (order by time)\n) x\nwhere dl >= dl_lag and etime > etime_lag\ngroup by 1\norder by 1\n",
2066 "refId": "B",
2067 "resultFormat": "time_series",
2068 "select": [
2069 [
2070 {
2071 "params": [
2072 "numbackends"
2073 ],
2074 "type": "field"
2075 },
2076 {
2077 "params": [],
2078 "type": "mean"
2079 }
2080 ]
2081 ],
2082 "tags": [],
2083 "timeColumn": "time",
2084 "where": [
2085 {
2086 "name": "$__timeFilter",
2087 "params": [],
2088 "type": "macro"
2089 }
2090 ]
2091 },
2092 {
2093 "alias": "Deadlocks (1h rate)",
2094 "datasource": {
2095 "type": "grafana-postgresql-datasource",
2096 "uid": "pgwatch-metrics"
2097 },
2098 "format": "time_series",
2099 "group": [],
2100 "groupBy": [
2101 {
2102 "params": [
2103 "$interval"
2104 ],
2105 "type": "time"
2106 },
2107 {
2108 "params": [
2109 "null"
2110 ],
2111 "type": "fill"
2112 }
2113 ],
2114 "metricColumn": "none",
2115 "orderByTime": "ASC",
2116 "policy": "default",
2117 "query": "",
2118 "rawQuery": true,
2119 "rawSql": "select\n $__timeGroup(time, $agg_interval),\n avg((tb-tb_lag) / (etime - lag_etime)) as \"Temp bytes ($agg_interval avg)\"\nfrom (\n select \n (data->>'temp_bytes')::int8 as tb, lag((data->>'temp_bytes')::int8) over w as tb_lag,\n (extract(epoch from time))::int8 as etime,\n (lag(extract(epoch from time)) over w)::int8 as lag_etime,\n time\n from db_stats\n where dbname = '$dbname' and $__timeFilter(time)\n window w as (order by time)\n) x\nwhere tb >= tb_lag\ngroup by 1\norder by 1\n",
2120 "refId": "A",
2121 "resultFormat": "time_series",
2122 "select": [
2123 [
2124 {
2125 "params": [
2126 "value"
2127 ],
2128 "type": "field"
2129 },
2130 {
2131 "params": [],
2132 "type": "mean"
2133 }
2134 ]
2135 ],
2136 "tags": [],
2137 "timeColumn": "time",
2138 "where": [
2139 {
2140 "name": "$__timeFilter",
2141 "params": [],
2142 "type": "macro"
2143 }
2144 ]
2145 }
2146 ],
2147 "title": "Sessions + Deadlocks + Temp bytes",
2148 "type": "timeseries"
2149 },
2150 {
2151 "datasource": {
2152 "type": "grafana-postgresql-datasource",
2153 "uid": "pgwatch-metrics"
2154 },
2155 "description": "Transactions per Second / Queries per Second",
2156 "fieldConfig": {
2157 "defaults": {
2158 "color": {
2159 "mode": "palette-classic"
2160 },
2161 "custom": {
2162 "axisBorderShow": true,
2163 "axisCenteredZero": false,
2164 "axisColorMode": "text",
2165 "axisLabel": "",
2166 "axisPlacement": "auto",
2167 "barAlignment": 0,
2168 "drawStyle": "line",
2169 "fillOpacity": 10,
2170 "gradientMode": "none",
2171 "hideFrom": {
2172 "legend": false,
2173 "tooltip": false,
2174 "viz": false
2175 },
2176 "insertNulls": false,
2177 "lineInterpolation": "linear",
2178 "lineWidth": 1,
2179 "pointSize": 5,
2180 "scaleDistribution": {
2181 "type": "linear"
2182 },
2183 "showPoints": "never",
2184 "spanNulls": false,
2185 "stacking": {
2186 "group": "A",
2187 "mode": "none"
2188 },
2189 "thresholdsStyle": {
2190 "mode": "off"
2191 }
2192 },
2193 "decimals": 0,
2194 "mappings": [],
2195 "min": 0,
2196 "thresholds": {
2197 "mode": "absolute",
2198 "steps": [
2199 {
2200 "color": "green",
2201 "value": null
2202 },
2203 {
2204 "color": "red",
2205 "value": 80
2206 }
2207 ]
2208 },
2209 "unit": "short"
2210 },
2211 "overrides": []
2212 },
2213 "gridPos": {
2214 "h": 4,
2215 "w": 12,
2216 "x": 12,
2217 "y": 10
2218 },
2219 "id": 15,
2220 "interval": "5m",
2221 "options": {
2222 "legend": {
2223 "calcs": [
2224 "mean"
2225 ],
2226 "displayMode": "list",
2227 "placement": "bottom",
2228 "showLegend": true
2229 },
2230 "tooltip": {
2231 "mode": "multi",
2232 "sort": "desc"
2233 }
2234 },
2235 "pluginVersion": "10.4.1",
2236 "targets": [
2237 {
2238 "alias": "TPS",
2239 "datasource": {
2240 "type": "grafana-postgresql-datasource",
2241 "uid": "pgwatch-metrics"
2242 },
2243 "format": "time_series",
2244 "group": [],
2245 "groupBy": [
2246 {
2247 "params": [
2248 "$__interval"
2249 ],
2250 "type": "time"
2251 },
2252 {
2253 "params": [
2254 "null"
2255 ],
2256 "type": "fill"
2257 }
2258 ],
2259 "metricColumn": "none",
2260 "orderByTime": "ASC",
2261 "policy": "default",
2262 "rawQuery": true,
2263 "rawSql": "select\n $__timeGroup(time, $agg_interval),\n avg(((c - c_lag) + (r - r_lag)) / extract(epoch from time - time_lag)) as \"TPS\"\nfrom (\n select \n (data->>'xact_commit')::int8 as c, lag((data->>'xact_commit')::int8) over w as c_lag,\n (data->>'xact_rollback')::int8 as r, lag((data->>'xact_rollback')::int8) over w as r_lag,\n time, lag(time) over w as time_lag\n from db_stats\n where dbname = '$dbname' and $__timeFilter(time)\n window w as (order by time) \n) x\nwhere c >= c_lag and r >= r_lag and time > time_lag\ngroup by 1\norder by 1",
2264 "refId": "A",
2265 "resultFormat": "time_series",
2266 "select": [
2267 [
2268 {
2269 "params": [
2270 "value"
2271 ],
2272 "type": "field"
2273 },
2274 {
2275 "params": [],
2276 "type": "mean"
2277 }
2278 ]
2279 ],
2280 "tags": [],
2281 "timeColumn": "time",
2282 "where": [
2283 {
2284 "name": "$__timeFilter",
2285 "params": [],
2286 "type": "macro"
2287 }
2288 ]
2289 },
2290 {
2291 "alias": "QPS",
2292 "datasource": {
2293 "type": "grafana-postgresql-datasource",
2294 "uid": "pgwatch-metrics"
2295 },
2296 "format": "time_series",
2297 "group": [],
2298 "groupBy": [
2299 {
2300 "params": [
2301 "$__interval"
2302 ],
2303 "type": "time"
2304 },
2305 {
2306 "params": [
2307 "null"
2308 ],
2309 "type": "fill"
2310 }
2311 ],
2312 "metricColumn": "none",
2313 "orderByTime": "ASC",
2314 "policy": "default",
2315 "rawQuery": true,
2316 "rawSql": "select\n $__timeGroup(time, $agg_interval),\n avg((c - c_lag) / extract(epoch from time - time_lag)) as \"QPS\"\nfrom (\n select \n (data->>'calls')::int8 as c, lag((data->>'calls')::int8) over w as c_lag,\n time, lag(time) over w as time_lag\n from stat_statements_calls\n where dbname = '$dbname' and $__timeFilter(time)\n window w as (order by time) \n) x\nwhere c >= c_lag and time > time_lag\ngroup by 1\norder by 1\n",
2317 "refId": "B",
2318 "resultFormat": "time_series",
2319 "select": [
2320 [
2321 {
2322 "params": [
2323 "value"
2324 ],
2325 "type": "field"
2326 },
2327 {
2328 "params": [],
2329 "type": "mean"
2330 }
2331 ]
2332 ],
2333 "tags": [],
2334 "timeColumn": "time",
2335 "where": [
2336 {
2337 "name": "$__timeFilter",
2338 "params": [],
2339 "type": "macro"
2340 }
2341 ]
2342 }
2343 ],
2344 "title": "TPS / QPS ($agg_interval avg.)",
2345 "type": "timeseries"
2346 },
2347 {
2348 "datasource": {
2349 "type": "grafana-postgresql-datasource",
2350 "uid": "pgwatch-metrics"
2351 },
2352 "description": "",
2353 "fieldConfig": {
2354 "defaults": {
2355 "color": {
2356 "mode": "palette-classic"
2357 },
2358 "custom": {
2359 "axisBorderShow": false,
2360 "axisCenteredZero": false,
2361 "axisColorMode": "text",
2362 "axisLabel": "",
2363 "axisPlacement": "auto",
2364 "barAlignment": 0,
2365 "drawStyle": "line",
2366 "fillOpacity": 10,
2367 "gradientMode": "none",
2368 "hideFrom": {
2369 "legend": false,
2370 "tooltip": false,
2371 "viz": false
2372 },
2373 "insertNulls": false,
2374 "lineInterpolation": "linear",
2375 "lineWidth": 1,
2376 "pointSize": 5,
2377 "scaleDistribution": {
2378 "type": "linear"
2379 },
2380 "showPoints": "never",
2381 "spanNulls": false,
2382 "stacking": {
2383 "group": "A",
2384 "mode": "none"
2385 },
2386 "thresholdsStyle": {
2387 "mode": "off"
2388 }
2389 },
2390 "decimals": 1,
2391 "mappings": [],
2392 "min": 0,
2393 "thresholds": {
2394 "mode": "absolute",
2395 "steps": [
2396 {
2397 "color": "green",
2398 "value": null
2399 },
2400 {
2401 "color": "red",
2402 "value": 80
2403 }
2404 ]
2405 },
2406 "unit": "short"
2407 },
2408 "overrides": []
2409 },
2410 "gridPos": {
2411 "h": 4,
2412 "w": 12,
2413 "x": 0,
2414 "y": 14
2415 },
2416 "id": 16,
2417 "interval": "5m",
2418 "options": {
2419 "legend": {
2420 "calcs": [
2421 "mean"
2422 ],
2423 "displayMode": "list",
2424 "placement": "bottom",
2425 "showLegend": true
2426 },
2427 "tooltip": {
2428 "mode": "multi",
2429 "sort": "desc"
2430 }
2431 },
2432 "pluginVersion": "10.4.1",
2433 "targets": [
2434 {
2435 "alias": "seq_scan",
2436 "datasource": {
2437 "type": "grafana-postgresql-datasource",
2438 "uid": "pgwatch-metrics"
2439 },
2440 "format": "time_series",
2441 "group": [],
2442 "groupBy": [
2443 {
2444 "params": [
2445 "$__interval"
2446 ],
2447 "type": "time"
2448 },
2449 {
2450 "params": [
2451 "none"
2452 ],
2453 "type": "fill"
2454 }
2455 ],
2456 "measurement": "table_stats",
2457 "metricColumn": "none",
2458 "orderByTime": "ASC",
2459 "policy": "default",
2460 "rawQuery": true,
2461 "rawSql": "select\n time,\n sum(seq_scan) as seq_scan\nfrom (\n select\n $__timeGroup(time, $agg_interval),\n table_full_name,\n avg((((scan - scan_lag) * (extract(epoch from '$agg_interval'::interval))) / extract(epoch from time - time_lag))) as seq_scan\n from (\n select \n (data->>'seq_scan')::int8 as scan, lag((data->>'seq_scan')::int8) over w as scan_lag,\n time, lag(time) over w as time_lag,\n tag_data->>'table_full_name' as table_full_name\n from table_stats\n where dbname = '$dbname' and $__timeFilter(time)\n and (data->>'table_size_b')::int8 > 10000000\n window w as (partition by tag_data->>'table_full_name' order by time) \n ) x\n where scan >= scan_lag and time > time_lag\n group by 1, 2\n) y\ngroup by 1\norder by 1\n",
2462 "refId": "A",
2463 "resultFormat": "time_series",
2464 "select": [
2465 [
2466 {
2467 "params": [
2468 "seq_scan"
2469 ],
2470 "type": "field"
2471 },
2472 {
2473 "params": [],
2474 "type": "mean"
2475 },
2476 {
2477 "params": [
2478 "1m"
2479 ],
2480 "type": "non_negative_derivative"
2481 }
2482 ]
2483 ],
2484 "tags": [
2485 {
2486 "key": "dbname",
2487 "operator": "=~",
2488 "value": "/^$dbname$/"
2489 }
2490 ],
2491 "timeColumn": "time",
2492 "where": [
2493 {
2494 "name": "$__timeFilter",
2495 "params": [],
2496 "type": "macro"
2497 }
2498 ]
2499 }
2500 ],
2501 "title": "Seq. scans ($agg_interval rate, >10MB tables)",
2502 "type": "timeseries"
2503 },
2504 {
2505 "datasource": {
2506 "type": "grafana-postgresql-datasource",
2507 "uid": "pgwatch-metrics"
2508 },
2509 "description": "",
2510 "fieldConfig": {
2511 "defaults": {
2512 "color": {
2513 "mode": "palette-classic"
2514 },
2515 "custom": {
2516 "axisBorderShow": false,
2517 "axisCenteredZero": false,
2518 "axisColorMode": "text",
2519 "axisLabel": "",
2520 "axisPlacement": "auto",
2521 "barAlignment": 0,
2522 "drawStyle": "line",
2523 "fillOpacity": 10,
2524 "gradientMode": "none",
2525 "hideFrom": {
2526 "legend": false,
2527 "tooltip": false,
2528 "viz": false
2529 },
2530 "insertNulls": false,
2531 "lineInterpolation": "linear",
2532 "lineWidth": 1,
2533 "pointSize": 5,
2534 "scaleDistribution": {
2535 "type": "linear"
2536 },
2537 "showPoints": "never",
2538 "spanNulls": false,
2539 "stacking": {
2540 "group": "A",
2541 "mode": "none"
2542 },
2543 "thresholdsStyle": {
2544 "mode": "off"
2545 }
2546 },
2547 "decimals": 0,
2548 "mappings": [],
2549 "min": 0,
2550 "thresholds": {
2551 "mode": "absolute",
2552 "steps": [
2553 {
2554 "color": "green",
2555 "value": null
2556 },
2557 {
2558 "color": "red",
2559 "value": 80
2560 }
2561 ]
2562 },
2563 "unit": "short"
2564 },
2565 "overrides": []
2566 },
2567 "gridPos": {
2568 "h": 4,
2569 "w": 12,
2570 "x": 12,
2571 "y": 14
2572 },
2573 "id": 11,
2574 "interval": "5m",
2575 "options": {
2576 "legend": {
2577 "calcs": [
2578 "mean"
2579 ],
2580 "displayMode": "list",
2581 "placement": "bottom",
2582 "showLegend": true
2583 },
2584 "tooltip": {
2585 "mode": "multi",
2586 "sort": "desc"
2587 }
2588 },
2589 "pluginVersion": "10.4.1",
2590 "targets": [
2591 {
2592 "alias": "$tag_lockmode",
2593 "datasource": {
2594 "type": "grafana-postgresql-datasource",
2595 "uid": "pgwatch-metrics"
2596 },
2597 "format": "time_series",
2598 "group": [],
2599 "groupBy": [
2600 {
2601 "params": [
2602 "$__interval"
2603 ],
2604 "type": "time"
2605 },
2606 {
2607 "params": [
2608 "lockmode"
2609 ],
2610 "type": "tag"
2611 },
2612 {
2613 "params": [
2614 "none"
2615 ],
2616 "type": "fill"
2617 }
2618 ],
2619 "measurement": "locks_mode",
2620 "metricColumn": "none",
2621 "orderByTime": "ASC",
2622 "policy": "default",
2623 "rawQuery": true,
2624 "rawSql": "select\n $__timeGroup(time, $agg_interval),\n lockmode,\n max(lock_count) as lock_count\nfrom (\n select \n (data->>'count')::int8 as lock_count,\n tag_data->>'lockmode' as lockmode,\n time\n from locks_mode\n where dbname = '$dbname' and $__timeFilter(time)\n and tag_data->>'lockmode' LIKE '%Exclusive%'\n) x\ngroup by 1, 2\norder by 1, 2\n",
2625 "refId": "A",
2626 "resultFormat": "time_series",
2627 "select": [
2628 [
2629 {
2630 "params": [
2631 "count"
2632 ],
2633 "type": "field"
2634 },
2635 {
2636 "params": [],
2637 "type": "max"
2638 }
2639 ]
2640 ],
2641 "tags": [
2642 {
2643 "key": "dbname",
2644 "operator": "=~",
2645 "value": "/^$dbname$/"
2646 },
2647 {
2648 "condition": "AND",
2649 "key": "lockmode",
2650 "operator": "=~",
2651 "value": "/Exclusive/"
2652 }
2653 ],
2654 "timeColumn": "time",
2655 "where": [
2656 {
2657 "name": "$__timeFilter",
2658 "params": [],
2659 "type": "macro"
2660 }
2661 ]
2662 }
2663 ],
2664 "title": "Exclusive locks ($agg_interval max.)",
2665 "type": "timeseries"
2666 },
2667 {
2668 "datasource": {
2669 "type": "grafana-postgresql-datasource",
2670 "uid": "pgwatch-metrics"
2671 },
2672 "editable": true,
2673 "error": false,
2674 "gridPos": {
2675 "h": 7,
2676 "w": 12,
2677 "x": 0,
2678 "y": 18
2679 },
2680 "id": 14,
2681 "options": {
2682 "code": {
2683 "language": "plaintext",
2684 "showLineNumbers": false,
2685 "showMiniMap": false
2686 },
2687 "content": "<h2>Brought to you by</h2><div style=\"padding: 25px;\"><a href=\"https://www.cybertec-postgresql.com/en/\"><img src=\"https://www.cybertec-postgresql.com/wp-content/uploads/2025/02/cybertec-logo-white-blue.svg\" alt=\"Cybertec – The PostgreSQL Database Company\"></a></div>",
2688 "mode": "html"
2689 },
2690 "pluginVersion": "10.4.1",
2691 "targets": [
2692 {
2693 "datasource": {
2694 "type": "grafana-postgresql-datasource",
2695 "uid": "pgwatch-metrics"
2696 },
2697 "refId": "A"
2698 }
2699 ],
2700 "transparent": true,
2701 "type": "text"
2702 }
2703 ],
2704 "schemaVersion": 39,
2705 "tags": [
2706 "pgwatch"
2707 ],
2708 "templating": {
2709 "list": [
2710 {
2711 "current": {
2712 "isNone": true,
2713 "selected": false,
2714 "text": "None",
2715 "value": ""
2716 },
2717 "datasource": {
2718 "type": "grafana-postgresql-datasource",
2719 "uid": "pgwatch-metrics"
2720 },
2721 "definition": "",
2722 "hide": 0,
2723 "includeAll": false,
2724 "multi": false,
2725 "name": "dbname",
2726 "options": [],
2727 "query": "SELECT DISTINCT dbname FROM admin.all_distinct_dbname_metrics ORDER BY 1;",
2728 "refresh": 1,
2729 "regex": "",
2730 "skipUrlSync": false,
2731 "sort": 0,
2732 "type": "query",
2733 "useTags": false
2734 },
2735 {
2736 "auto": false,
2737 "auto_count": 30,
2738 "auto_min": "10s",
2739 "current": {
2740 "selected": false,
2741 "text": "5m",
2742 "value": "5m"
2743 },
2744 "hide": 0,
2745 "name": "agg_interval",
2746 "options": [
2747 {
2748 "selected": false,
2749 "text": "1s",
2750 "value": "1s"
2751 },
2752 {
2753 "selected": false,
2754 "text": "1m",
2755 "value": "1m"
2756 },
2757 {
2758 "selected": true,
2759 "text": "5m",
2760 "value": "5m"
2761 },
2762 {
2763 "selected": false,
2764 "text": "10m",
2765 "value": "10m"
2766 },
2767 {
2768 "selected": false,
2769 "text": "15m",
2770 "value": "15m"
2771 },
2772 {
2773 "selected": false,
2774 "text": "30m",
2775 "value": "30m"
2776 },
2777 {
2778 "selected": false,
2779 "text": "1h",
2780 "value": "1h"
2781 },
2782 {
2783 "selected": false,
2784 "text": "6h",
2785 "value": "6h"
2786 },
2787 {
2788 "selected": false,
2789 "text": "12h",
2790 "value": "12h"
2791 },
2792 {
2793 "selected": false,
2794 "text": "1d",
2795 "value": "1d"
2796 }
2797 ],
2798 "query": "1s,1m,5m,10m,15m,30m,1h,6h,12h,1d",
2799 "refresh": 2,
2800 "skipUrlSync": false,
2801 "type": "interval"
2802 }
2803 ]
2804 },
2805 "time": {
2806 "from": "now-3h",
2807 "to": "now"
2808 },
2809 "timepicker": {
2810 "refresh_intervals": [
2811 "5s",
2812 "10s",
2813 "30s",
2814 "1m",
2815 "5m",
2816 "15m",
2817 "30m",
2818 "1h",
2819 "2h",
2820 "1d"
2821 ],
2822 "time_options": [
2823 "5m",
2824 "15m",
2825 "1h",
2826 "6h",
2827 "12h",
2828 "24h",
2829 "2d",
2830 "7d",
2831 "30d"
2832 ]
2833 },
2834 "timezone": "browser",
2835 "title": "DB overview Unprivileged / Developer mode",
2836 "uid": "db-overview-developer",
2837 "version": 1,
2838 "weekStart": ""
2839}