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