github.com/munnerz/test-infra@v0.0.0-20190108210205-ce3d181dc989/velodrome/grafana-stack/dashboards/github-cache.json (about) 1 { 2 "__inputs": [ 3 { 4 "name": "DS_PROMETHEUS", 5 "label": "prometheus", 6 "description": "", 7 "type": "datasource", 8 "pluginId": "prometheus", 9 "pluginName": "Prometheus" 10 } 11 ], 12 "__requires": [ 13 { 14 "type": "grafana", 15 "id": "grafana", 16 "name": "Grafana", 17 "version": "4.4.2" 18 }, 19 { 20 "type": "panel", 21 "id": "graph", 22 "name": "Graph", 23 "version": "" 24 }, 25 { 26 "type": "datasource", 27 "id": "prometheus", 28 "name": "Prometheus", 29 "version": "1.0.0" 30 }, 31 { 32 "type": "panel", 33 "id": "singlestat", 34 "name": "Singlestat", 35 "version": "" 36 } 37 ], 38 "annotations": { 39 "list": [] 40 }, 41 "description": "Metrics from the GitHub API reverse proxy HTTP cache in the Prow cluster.", 42 "editable": true, 43 "gnetId": null, 44 "graphTooltip": 0, 45 "hideControls": false, 46 "id": null, 47 "links": [], 48 "refresh": "1m", 49 "rows": [ 50 { 51 "collapse": false, 52 "height": 246, 53 "panels": [ 54 { 55 "aliasColors": {}, 56 "bars": false, 57 "dashLength": 10, 58 "dashes": false, 59 "datasource": "${DS_PROMETHEUS}", 60 "description": "Count of cache requests of each cache mode over the last hour.", 61 "fill": 1, 62 "height": "", 63 "id": 1, 64 "legend": { 65 "avg": false, 66 "current": false, 67 "max": false, 68 "min": false, 69 "rightSide": true, 70 "show": true, 71 "sideWidth": 95, 72 "total": false, 73 "values": false 74 }, 75 "lines": true, 76 "linewidth": 1, 77 "links": [], 78 "nullPointMode": "null", 79 "percentage": false, 80 "pointradius": 5, 81 "points": false, 82 "renderer": "flot", 83 "seriesOverrides": [], 84 "spaceLength": 10, 85 "span": 10, 86 "stack": false, 87 "steppedLine": false, 88 "targets": [ 89 { 90 "dsType": "influxdb", 91 "expr": "sum(increase(ghcache_responses[1h])) by (mode)", 92 "format": "time_series", 93 "groupBy": [ 94 { 95 "params": [ 96 "$__interval" 97 ], 98 "type": "time" 99 }, 100 { 101 "params": [ 102 "null" 103 ], 104 "type": "fill" 105 } 106 ], 107 "intervalFactor": 2, 108 "legendFormat": "{{mode}}", 109 "metric": "ghcache_responses", 110 "orderByTime": "ASC", 111 "policy": "default", 112 "refId": "A", 113 "resultFormat": "time_series", 114 "select": [ 115 [ 116 { 117 "params": [ 118 "value" 119 ], 120 "type": "field" 121 }, 122 { 123 "params": [], 124 "type": "mean" 125 } 126 ] 127 ], 128 "step": 60, 129 "tags": [] 130 }, 131 { 132 "expr": "sum(increase(ghcache_responses{mode=~\"COALESCED|REVALIDATED\"}[1h]))", 133 "format": "time_series", 134 "intervalFactor": 2, 135 "legendFormat": "(No Cost)", 136 "metric": "ghcache_responses", 137 "refId": "B", 138 "step": 60 139 } 140 ], 141 "thresholds": [], 142 "timeFrom": null, 143 "timeShift": null, 144 "title": "Cache Requests (per hour)", 145 "tooltip": { 146 "shared": true, 147 "sort": 0, 148 "value_type": "individual" 149 }, 150 "type": "graph", 151 "xaxis": { 152 "buckets": null, 153 "mode": "time", 154 "name": null, 155 "show": true, 156 "values": [] 157 }, 158 "yaxes": [ 159 { 160 "format": "short", 161 "label": null, 162 "logBase": 1, 163 "max": null, 164 "min": "0", 165 "show": true 166 }, 167 { 168 "format": "short", 169 "label": "", 170 "logBase": 1, 171 "max": null, 172 "min": "0", 173 "show": true 174 } 175 ] 176 }, 177 { 178 "cacheTimeout": null, 179 "colorBackground": false, 180 "colorValue": false, 181 "colors": [ 182 "rgba(245, 54, 54, 0.9)", 183 "rgba(237, 129, 40, 0.89)", 184 "rgba(50, 172, 45, 0.97)" 185 ], 186 "datasource": "${DS_PROMETHEUS}", 187 "description": "The number of no cost requests in the last hour.\nThis includes both \"COALESCED\" and \"REVALIDATED\" modes.", 188 "format": "none", 189 "gauge": { 190 "maxValue": 100, 191 "minValue": 0, 192 "show": false, 193 "thresholdLabels": false, 194 "thresholdMarkers": true 195 }, 196 "id": 5, 197 "interval": null, 198 "links": [], 199 "mappingType": 1, 200 "mappingTypes": [ 201 { 202 "name": "value to text", 203 "value": 1 204 }, 205 { 206 "name": "range to text", 207 "value": 2 208 } 209 ], 210 "maxDataPoints": 100, 211 "nullPointMode": "connected", 212 "nullText": null, 213 "postfix": "", 214 "postfixFontSize": "50%", 215 "prefix": "", 216 "prefixFontSize": "50%", 217 "rangeMaps": [ 218 { 219 "from": "null", 220 "text": "N/A", 221 "to": "null" 222 } 223 ], 224 "span": 2, 225 "sparkline": { 226 "fillColor": "rgba(31, 118, 189, 0.18)", 227 "full": false, 228 "lineColor": "rgb(31, 120, 193)", 229 "show": false 230 }, 231 "tableColumn": "", 232 "targets": [ 233 { 234 "dsType": "influxdb", 235 "expr": "sum(increase(ghcache_responses{mode=~\"COALESCED|REVALIDATED\"}[1h]))", 236 "format": "time_series", 237 "groupBy": [ 238 { 239 "params": [ 240 "$__interval" 241 ], 242 "type": "time" 243 }, 244 { 245 "params": [ 246 "null" 247 ], 248 "type": "fill" 249 } 250 ], 251 "intervalFactor": 2, 252 "metric": "ghcache_responses", 253 "orderByTime": "ASC", 254 "policy": "default", 255 "refId": "A", 256 "resultFormat": "time_series", 257 "select": [ 258 [ 259 { 260 "params": [ 261 "value" 262 ], 263 "type": "field" 264 }, 265 { 266 "params": [], 267 "type": "mean" 268 } 269 ] 270 ], 271 "step": 600, 272 "tags": [] 273 } 274 ], 275 "thresholds": "", 276 "title": "API Tokens Saved (last hour)", 277 "type": "singlestat", 278 "valueFontSize": "100%", 279 "valueMaps": [ 280 { 281 "op": "=", 282 "text": "N/A", 283 "value": "null" 284 } 285 ], 286 "valueName": "current" 287 } 288 ], 289 "repeat": null, 290 "repeatIteration": null, 291 "repeatRowId": null, 292 "showTitle": false, 293 "title": "Dashboard Row", 294 "titleSize": "h6" 295 }, 296 { 297 "collapse": false, 298 "height": 240, 299 "panels": [ 300 { 301 "aliasColors": {}, 302 "bars": false, 303 "dashLength": 10, 304 "dashes": false, 305 "datasource": "${DS_PROMETHEUS}", 306 "decimals": null, 307 "description": "Count of cache requests of each cache mode over all time.", 308 "fill": 1, 309 "id": 2, 310 "legend": { 311 "alignAsTable": false, 312 "avg": false, 313 "current": false, 314 "max": false, 315 "min": false, 316 "rightSide": true, 317 "show": true, 318 "sideWidth": 95, 319 "total": false, 320 "values": false 321 }, 322 "lines": true, 323 "linewidth": 1, 324 "links": [], 325 "nullPointMode": "null", 326 "percentage": false, 327 "pointradius": 5, 328 "points": false, 329 "renderer": "flot", 330 "seriesOverrides": [], 331 "spaceLength": 10, 332 "span": 10, 333 "stack": false, 334 "steppedLine": false, 335 "targets": [ 336 { 337 "dsType": "influxdb", 338 "expr": "sum(ghcache_responses) by (mode)", 339 "format": "time_series", 340 "groupBy": [ 341 { 342 "params": [ 343 "$__interval" 344 ], 345 "type": "time" 346 }, 347 { 348 "params": [ 349 "null" 350 ], 351 "type": "fill" 352 } 353 ], 354 "intervalFactor": 2, 355 "legendFormat": "{{mode}}", 356 "metric": "ghcache_responses", 357 "orderByTime": "ASC", 358 "policy": "default", 359 "refId": "A", 360 "resultFormat": "time_series", 361 "select": [ 362 [ 363 { 364 "params": [ 365 "value" 366 ], 367 "type": "field" 368 }, 369 { 370 "params": [], 371 "type": "mean" 372 } 373 ] 374 ], 375 "step": 60, 376 "tags": [] 377 }, 378 { 379 "expr": "sum(ghcache_responses{mode=~\"COALESCED|REVALIDATED\"})", 380 "format": "time_series", 381 "intervalFactor": 2, 382 "legendFormat": "(No Cost)", 383 "metric": "ghcache_responses", 384 "refId": "B", 385 "step": 60 386 } 387 ], 388 "thresholds": [], 389 "timeFrom": null, 390 "timeShift": null, 391 "title": "Cache Requests (total)", 392 "tooltip": { 393 "shared": true, 394 "sort": 0, 395 "value_type": "individual" 396 }, 397 "type": "graph", 398 "xaxis": { 399 "buckets": null, 400 "mode": "time", 401 "name": null, 402 "show": true, 403 "values": [] 404 }, 405 "yaxes": [ 406 { 407 "format": "short", 408 "label": null, 409 "logBase": 1, 410 "max": null, 411 "min": "0", 412 "show": true 413 }, 414 { 415 "format": "short", 416 "label": "", 417 "logBase": 1, 418 "max": null, 419 "min": "0", 420 "show": true 421 } 422 ] 423 }, 424 { 425 "cacheTimeout": null, 426 "colorBackground": false, 427 "colorValue": false, 428 "colors": [ 429 "rgba(245, 54, 54, 0.9)", 430 "rgba(237, 129, 40, 0.89)", 431 "rgba(50, 172, 45, 0.97)" 432 ], 433 "datasource": "${DS_PROMETHEUS}", 434 "description": "The number of no cost requests to date.\nThis includes both \"COALESCED\" and \"REVALIDATED\" modes.", 435 "format": "none", 436 "gauge": { 437 "maxValue": 100, 438 "minValue": 0, 439 "show": false, 440 "thresholdLabels": false, 441 "thresholdMarkers": true 442 }, 443 "id": 4, 444 "interval": null, 445 "links": [], 446 "mappingType": 1, 447 "mappingTypes": [ 448 { 449 "name": "value to text", 450 "value": 1 451 }, 452 { 453 "name": "range to text", 454 "value": 2 455 } 456 ], 457 "maxDataPoints": 100, 458 "nullPointMode": "connected", 459 "nullText": null, 460 "postfix": "", 461 "postfixFontSize": "50%", 462 "prefix": "", 463 "prefixFontSize": "50%", 464 "rangeMaps": [ 465 { 466 "from": "null", 467 "text": "N/A", 468 "to": "null" 469 } 470 ], 471 "span": 2, 472 "sparkline": { 473 "fillColor": "rgba(31, 118, 189, 0.18)", 474 "full": false, 475 "lineColor": "rgb(31, 120, 193)", 476 "show": false 477 }, 478 "tableColumn": "", 479 "targets": [ 480 { 481 "dsType": "influxdb", 482 "expr": "sum(ghcache_responses{mode=~\"COALESCED|REVALIDATED\"})", 483 "format": "time_series", 484 "groupBy": [ 485 { 486 "params": [ 487 "$__interval" 488 ], 489 "type": "time" 490 }, 491 { 492 "params": [ 493 "null" 494 ], 495 "type": "fill" 496 } 497 ], 498 "intervalFactor": 2, 499 "legendFormat": "", 500 "metric": "ghcache_responses", 501 "orderByTime": "ASC", 502 "policy": "default", 503 "refId": "A", 504 "resultFormat": "time_series", 505 "select": [ 506 [ 507 { 508 "params": [ 509 "value" 510 ], 511 "type": "field" 512 }, 513 { 514 "params": [], 515 "type": "mean" 516 } 517 ] 518 ], 519 "step": 600, 520 "tags": [] 521 } 522 ], 523 "thresholds": "", 524 "title": "API Tokens Saved (total)", 525 "type": "singlestat", 526 "valueFontSize": "100%", 527 "valueMaps": [ 528 { 529 "op": "=", 530 "text": "N/A", 531 "value": "null" 532 } 533 ], 534 "valueName": "current" 535 } 536 ], 537 "repeat": null, 538 "repeatIteration": null, 539 "repeatRowId": null, 540 "showTitle": false, 541 "title": "Dashboard Row", 542 "titleSize": "h6" 543 }, 544 { 545 "collapse": false, 546 "height": 250, 547 "panels": [ 548 { 549 "aliasColors": {}, 550 "bars": false, 551 "dashLength": 10, 552 "dashes": false, 553 "datasource": "${DS_PROMETHEUS}", 554 "description": "Percentage of cacheable requests that are fulfilled for free.\nNo cost modes are \"COALESCED\" and \"REVALIDATED\".\nCacheable modes include the no cost modes, \"CHANGED\" and \"MISS\".", 555 "fill": 1, 556 "id": 6, 557 "legend": { 558 "avg": false, 559 "current": false, 560 "max": false, 561 "min": false, 562 "show": true, 563 "total": false, 564 "values": false 565 }, 566 "lines": true, 567 "linewidth": 1, 568 "links": [], 569 "nullPointMode": "null", 570 "percentage": false, 571 "pointradius": 5, 572 "points": false, 573 "renderer": "flot", 574 "seriesOverrides": [], 575 "spaceLength": 10, 576 "span": 8, 577 "stack": false, 578 "steppedLine": false, 579 "targets": [ 580 { 581 "dsType": "influxdb", 582 "expr": "sum(increase(ghcache_responses{mode=~\"COALESCED|REVALIDATED\"}[1h])) \n/ sum(increase(ghcache_responses{mode=~\"COALESCED|REVALIDATED|MISS|CHANGED\"}[1h]))", 583 "format": "time_series", 584 "groupBy": [ 585 { 586 "params": [ 587 "$__interval" 588 ], 589 "type": "time" 590 }, 591 { 592 "params": [ 593 "null" 594 ], 595 "type": "fill" 596 } 597 ], 598 "intervalFactor": 2, 599 "legendFormat": "Percentage of cacheable requests that are fulfilled for free.", 600 "metric": "ghcache_responses", 601 "orderByTime": "ASC", 602 "policy": "default", 603 "refId": "A", 604 "resultFormat": "time_series", 605 "select": [ 606 [ 607 { 608 "params": [ 609 "value" 610 ], 611 "type": "field" 612 }, 613 { 614 "params": [], 615 "type": "mean" 616 } 617 ] 618 ], 619 "step": 60, 620 "tags": [] 621 } 622 ], 623 "thresholds": [], 624 "timeFrom": null, 625 "timeShift": null, 626 "title": "Cache Efficiency", 627 "tooltip": { 628 "shared": true, 629 "sort": 0, 630 "value_type": "individual" 631 }, 632 "type": "graph", 633 "xaxis": { 634 "buckets": null, 635 "mode": "time", 636 "name": null, 637 "show": true, 638 "values": [] 639 }, 640 "yaxes": [ 641 { 642 "format": "percentunit", 643 "label": null, 644 "logBase": 1, 645 "max": "1", 646 "min": "0", 647 "show": true 648 }, 649 { 650 "format": "short", 651 "label": null, 652 "logBase": 1, 653 "max": null, 654 "min": null, 655 "show": false 656 } 657 ] 658 }, 659 { 660 "aliasColors": {}, 661 "bars": false, 662 "dashLength": 10, 663 "dashes": false, 664 "datasource": "${DS_PROMETHEUS}", 665 "description": "", 666 "fill": 1, 667 "id": 3, 668 "legend": { 669 "avg": false, 670 "current": false, 671 "max": false, 672 "min": false, 673 "rightSide": true, 674 "show": true, 675 "sideWidth": 50, 676 "total": false, 677 "values": false 678 }, 679 "lines": true, 680 "linewidth": 1, 681 "links": [], 682 "nullPointMode": "connected", 683 "percentage": true, 684 "pointradius": 5, 685 "points": false, 686 "renderer": "flot", 687 "seriesOverrides": [], 688 "spaceLength": 10, 689 "span": 4, 690 "stack": true, 691 "steppedLine": false, 692 "targets": [ 693 { 694 "dsType": "influxdb", 695 "expr": "avg(avg_over_time(ghcache_disk_used[1m])) without(instance)", 696 "format": "time_series", 697 "groupBy": [ 698 { 699 "params": [ 700 "$__interval" 701 ], 702 "type": "time" 703 }, 704 { 705 "params": [ 706 "null" 707 ], 708 "type": "fill" 709 } 710 ], 711 "intervalFactor": 2, 712 "legendFormat": "Used", 713 "metric": "ghcache_disk_used", 714 "orderByTime": "ASC", 715 "policy": "default", 716 "refId": "A", 717 "resultFormat": "time_series", 718 "select": [ 719 [ 720 { 721 "params": [ 722 "value" 723 ], 724 "type": "field" 725 }, 726 { 727 "params": [], 728 "type": "mean" 729 } 730 ] 731 ], 732 "step": 120, 733 "tags": [] 734 }, 735 { 736 "expr": "avg(avg_over_time(ghcache_disk_free[1m])) without (instance)", 737 "format": "time_series", 738 "intervalFactor": 2, 739 "legendFormat": "Free", 740 "metric": "ghcache_disk_free", 741 "refId": "B", 742 "step": 120 743 } 744 ], 745 "thresholds": [], 746 "timeFrom": null, 747 "timeShift": null, 748 "title": "Disk Usage", 749 "tooltip": { 750 "shared": true, 751 "sort": 0, 752 "value_type": "individual" 753 }, 754 "type": "graph", 755 "xaxis": { 756 "buckets": null, 757 "mode": "time", 758 "name": null, 759 "show": true, 760 "values": [] 761 }, 762 "yaxes": [ 763 { 764 "format": "decgbytes", 765 "label": null, 766 "logBase": 1, 767 "max": "101", 768 "min": "0", 769 "show": true 770 }, 771 { 772 "format": "short", 773 "label": null, 774 "logBase": 1, 775 "max": null, 776 "min": null, 777 "show": false 778 } 779 ] 780 } 781 ], 782 "repeat": null, 783 "repeatIteration": null, 784 "repeatRowId": null, 785 "showTitle": false, 786 "title": "Dashboard Row", 787 "titleSize": "h6" 788 } 789 ], 790 "schemaVersion": 14, 791 "style": "dark", 792 "tags": [], 793 "templating": { 794 "list": [] 795 }, 796 "time": { 797 "from": "now-12h", 798 "to": "now" 799 }, 800 "timepicker": { 801 "refresh_intervals": [ 802 "5s", 803 "10s", 804 "30s", 805 "1m", 806 "5m", 807 "15m", 808 "30m", 809 "1h", 810 "2h", 811 "1d" 812 ], 813 "time_options": [ 814 "5m", 815 "15m", 816 "1h", 817 "6h", 818 "12h", 819 "24h", 820 "2d", 821 "7d", 822 "30d" 823 ] 824 }, 825 "timezone": "", 826 "title": "GitHub Cache", 827 "version": 6 828 }