From 0b4c16e881ab155a341eade6da0e3be43c9b265b Mon Sep 17 00:00:00 2001 From: Thomas Draebing Date: Thu, 10 Sep 2020 15:07:46 +0200 Subject: [PATCH] Convert latency dashboard to grafonnet Change-Id: Id97759996259eea802c80c2ef3261ba1883d92d3 --- dashboards/gerrit-latency.json | 1349 ----------------- .../gerrit/latency/gerrit-latency.jsonnet | 110 ++ .../gerrit/latency/panels/latency.libsonnet | 41 + 3 files changed, 151 insertions(+), 1349 deletions(-) delete mode 100644 dashboards/gerrit-latency.json create mode 100644 dashboards/gerrit/latency/gerrit-latency.jsonnet create mode 100644 dashboards/gerrit/latency/panels/latency.libsonnet diff --git a/dashboards/gerrit-latency.json b/dashboards/gerrit-latency.json deleted file mode 100644 index 69c5935..0000000 --- a/dashboards/gerrit-latency.json +++ /dev/null @@ -1,1349 +0,0 @@ -{ - "__inputs": [ - { - "name": "DS_PROMETHEUS", - "label": "Prometheus", - "description": "", - "type": "datasource", - "pluginId": "prometheus", - "pluginName": "Prometheus" - } - ], - "__requires": [ - { - "type": "grafana", - "id": "grafana", - "name": "Grafana", - "version": "7.1.5" - }, - { - "type": "panel", - "id": "graph", - "name": "Graph", - "version": "" - }, - { - "type": "datasource", - "id": "prometheus", - "name": "Prometheus", - "version": "1.0.0" - } - ], - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "editable": true, - "gnetId": null, - "graphTooltip": 0, - "links": [], - "panels": [ - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "description": "", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 0 - }, - "hiddenSeries": false, - "id": 2, - "interval": "", - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "quantile: 0.75", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.98", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.99", - "hiddenSeries": true - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "receivecommits_latency_total{instance=\"$instance\",replica=\"$replica\"}", - "interval": "", - "legendFormat": "quantile: {{quantile}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "receive-commit latency", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "label": null, - "logBase": 10, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 0 - }, - "hiddenSeries": false, - "id": 22, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "quantile: 0.75", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.98", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.99", - "hiddenSeries": true - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "http_server_rest_api_server_latency_total{instance=\"$instance\",replica=\"$replica\"}", - "interval": "", - "legendFormat": "quantile: {{quantile}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "REST total latency", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "label": null, - "logBase": 10, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 7 - }, - "hiddenSeries": false, - "id": 4, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "quantile: 0.75", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.98", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.99", - "hiddenSeries": true - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "query_query_latency_total{instance=\"$instance\",replica=\"$replica\"}", - "interval": "", - "legendFormat": "quantile: {{quantile}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "query total latency", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "label": null, - "logBase": 10, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 7 - }, - "hiddenSeries": false, - "id": 12, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "quantile: 0.75", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.98", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.99", - "hiddenSeries": true - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "http_server_rest_api_server_latency_restapi_change_GetDetail{instance=\"$instance\",replica=\"$replica\"}", - "interval": "", - "legendFormat": "quantile: {{quantile}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "REST get change detail latency", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "label": null, - "logBase": 10, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 14 - }, - "hiddenSeries": false, - "id": 6, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "quantile: 0.75", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.98", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.99", - "hiddenSeries": true - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "query_query_latency_changes{instance=\"$instance\",replica=\"$replica\"}", - "interval": "", - "legendFormat": "quantile: {{quantile}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "query changes latency", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "label": null, - "logBase": 10, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 14 - }, - "hiddenSeries": false, - "id": 14, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "quantile: 0.75", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.98", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.99", - "hiddenSeries": true - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "http_server_rest_api_server_latency_restapi_change_GetDiff{instance=\"$instance\",replica=\"$replica\"}", - "interval": "", - "legendFormat": "quantile: {{quantile}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "REST get change diff latency", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "label": null, - "logBase": 10, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 21 - }, - "hiddenSeries": false, - "id": 18, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "quantile: 0.75", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.98", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.99", - "hiddenSeries": true - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "http_server_rest_api_server_latency_restapi_change_ListChangeComments{instance=\"$instance\",replica=\"$replica\"}", - "interval": "", - "legendFormat": "quantile: {{quantile}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "REST change list comments latency", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "label": null, - "logBase": 10, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 21 - }, - "hiddenSeries": false, - "id": 8, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "quantile: 0.75", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.98", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.99", - "hiddenSeries": true - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "http_server_rest_api_server_latency_restapi_change_GetChange{instance=\"$instance\",replica=\"$replica\"}", - "interval": "", - "legendFormat": "quantile: {{quantile}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "REST get change latency", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "label": null, - "logBase": 10, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 28 - }, - "hiddenSeries": false, - "id": 24, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "quantile: 0.75", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.98", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.99", - "hiddenSeries": true - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "http_server_rest_api_server_latency_restapi_change_ListChangeRobotComments{instance=\"$instance\",replica=\"$replica\"}", - "interval": "", - "legendFormat": "quantile: {{quantile}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "REST change list robot comments latency", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "label": null, - "logBase": 10, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 28 - }, - "hiddenSeries": false, - "id": 10, - "interval": "", - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "quantile: 0.75", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.98", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.99", - "hiddenSeries": true - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "http_server_rest_api_server_latency_restapi_change_GetCommit{instance=\"$instance\",replica=\"$replica\"}", - "interval": "", - "legendFormat": "quantile: {{quantile}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "REST get commit latency", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "label": null, - "logBase": 10, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 35 - }, - "hiddenSeries": false, - "id": 20, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "quantile: 0.75", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.98", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.99", - "hiddenSeries": true - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "http_server_rest_api_server_latency_restapi_change_PostReview{instance=\"$instance\",replica=\"$replica\"}", - "interval": "", - "legendFormat": "quantile: {{quantile}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "REST post change review latency", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "label": null, - "logBase": 10, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 35 - }, - "hiddenSeries": false, - "id": 16, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "quantile: 0.75", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.98", - "hiddenSeries": true - }, - { - "alias": "quantile: 0.99", - "hiddenSeries": true - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "http_server_rest_api_server_latency_restapi_change_GetRevisionActions{instance=\"$instance\",replica=\"$replica\"}", - "interval": "", - "legendFormat": "quantile: {{quantile}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "REST get change revision actions latency", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "label": null, - "logBase": 10, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - } - ], - "refresh": "1m", - "schemaVersion": 22, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "allValue": null, - "current": { - "text": "", - "value": "" - }, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(git_upload_pack_phase_writing_total, instance)", - "hide": 0, - "includeAll": false, - "label": "Gerrit Instance", - "multi": false, - "name": "instance", - "options": [], - "query": "label_values(git_upload_pack_phase_writing_total, instance)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": { - "text": "", - "value": "" - }, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(git_upload_pack_phase_writing_total{instance=\"$instance\"}, replica)", - "hide": 0, - "includeAll": false, - "label": "Replica", - "multi": false, - "name": "replica", - "options": [], - "query": "label_values(git_upload_pack_phase_writing_total{instance=\"$instance\"}, replica)", - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - } - ] - }, - "time": { - "from": "now-6h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ] - }, - "timezone": "", - "title": "Latency", - "uid": "IDkFbYeWz", - "variables": { - "list": [] - }, - "version": 1 -} diff --git a/dashboards/gerrit/latency/gerrit-latency.jsonnet b/dashboards/gerrit/latency/gerrit-latency.jsonnet new file mode 100644 index 0000000..332a0fe --- /dev/null +++ b/dashboards/gerrit/latency/gerrit-latency.jsonnet @@ -0,0 +1,110 @@ +local grafana = import '../../../vendor/grafonnet/grafana.libsonnet'; +local dashboard = grafana.dashboard; +local template = grafana.template; +local graphPanel = grafana.graphPanel; +local prometheus = grafana.prometheus; + +local defaults = import '../../globals/defaults.libsonnet'; +local gridPos = import '../../globals/grid_pos.libsonnet'; +local publishVariables = import '../../globals/publish.libsonnet'; +local variables = import '../globals/variables.libsonnet'; + +local latency_panel = import './panels/latency.libsonnet'; + +dashboard.new( + 'Gerrit - Latency', + tags=['gerrit'], + schemaVersion=defaults.dashboards.schemaVersion, + editable=defaults.dashboards.editable, + time_from=defaults.dashboards.timeFrom, + time_to=defaults.dashboards.timeTo, + refresh=defaults.dashboards.refresh, + graphTooltip='shared_tooltip', +) +.addTemplate(variables.instance) +.addTemplate(variables.replica) +.addPanel( + latency_panel.new( + metric='receivecommits_latency_total', + title='RECEIVE-COMMIT latency' + ), + gridPos=gridPos.new(0, 0) +) +.addPanel( + latency_panel.new( + metric='http_server_rest_api_server_latency_total', + title='REST total latency' + ), + gridPos=gridPos.new(0, 1) +) +.addPanel( + latency_panel.new( + metric='query_query_latency_total', + title='QUERY total latency' + ), + gridPos=gridPos.new(1, 0) +) +.addPanel( + latency_panel.new( + metric='http_server_rest_api_server_latency_restapi_change_GetDetail', + title='REST get change detail latency' + ), + gridPos=gridPos.new(1, 1) +) +.addPanel( + latency_panel.new( + metric='query_query_latency_changes', + title='QUERY changes latency' + ), + gridPos=gridPos.new(2, 0) +) +.addPanel( + latency_panel.new( + metric='http_server_rest_api_server_latency_restapi_change_GetDiff', + title='REST get change diff latency' + ), + gridPos=gridPos.new(2, 1) +) +.addPanel( + latency_panel.new( + metric='http_server_rest_api_server_latency_restapi_change_ListChangeComments', + title='REST change list comments latency' + ), + gridPos=gridPos.new(3, 0) +) +.addPanel( + latency_panel.new( + metric='http_server_rest_api_server_latency_restapi_change_GetChange', + title='REST get change latency' + ), + gridPos=gridPos.new(3, 1) +) +.addPanel( + latency_panel.new( + metric='http_server_rest_api_server_latency_restapi_change_ListChangeRobotComments', + title='REST change list robot comments latency' + ), + gridPos=gridPos.new(4, 0) +) +.addPanel( + latency_panel.new( + metric='http_server_rest_api_server_latency_restapi_change_GetCommit', + title='REST get commit latency' + ), + gridPos=gridPos.new(4, 1) +) +.addPanel( + latency_panel.new( + metric='http_server_rest_api_server_latency_restapi_change_PostReview', + title='REST post change review latency' + ), + gridPos=gridPos.new(5, 0) +) +.addPanel( + latency_panel.new( + metric='http_server_rest_api_server_latency_restapi_change_GetRevisionActions', + title='REST get change revision actions latency' + ), + gridPos=gridPos.new(5, 1) +) ++ if std.extVar('publish') then publishVariables else {} diff --git a/dashboards/gerrit/latency/panels/latency.libsonnet b/dashboards/gerrit/latency/panels/latency.libsonnet new file mode 100644 index 0000000..884b359 --- /dev/null +++ b/dashboards/gerrit/latency/panels/latency.libsonnet @@ -0,0 +1,41 @@ +local grafana = import '../../../../vendor/grafonnet/grafana.libsonnet'; +local graphPanel = grafana.graphPanel; +local prometheus = grafana.prometheus; + +local lineGraph = import '../../../globals/line-graph.libsonnet'; +local yAxis = import '../../../globals/yaxis.libsonnet'; + +{ + new( + metric, + title, + ):: lineGraph.new( + title=title, + yAxis1=yAxis.latency, + ) + .addTarget( + prometheus.target( + std.format( + '%s{instance="$instance",replica="$replica"}', metric), + legendFormat='quantile: {{quantile}}', + ) + ) + .addSeriesOverride( + { + alias: 'quantile: 0.75', + hiddenSeries: true, + } + ) + .addSeriesOverride( + { + alias: 'quantile: 0.98', + hiddenSeries: true, + } + ) + .addSeriesOverride( + { + alias: 'quantile: 0.99', + hiddenSeries: true, + } + ) +}