This is an automated email from the ASF dual-hosted git repository.
emilyye pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git
The following commit(s) were added to refs/heads/master by this push:
new 4437b2a [BEAM-10913] - Updating Grafana from v6.7.3 to v8.1.2 (#15503)
4437b2a is described below
commit 4437b2a1190262c151d53f279bed347b51f3d8a5
Author: Fernando Morales <[email protected]>
AuthorDate: Tue Sep 14 15:38:54 2021 -0600
[BEAM-10913] - Updating Grafana from v6.7.3 to v8.1.2 (#15503)
---
.test-infra/metrics/grafana/Dockerfile | 4 +-
.../github_actions_post-commit_tests.json | 4 +-
.../grafana/dashboards/post-commit_tests.json | 907 ++++++++++++---------
.../grafana/dashboards/pre-commit_tests.json | 413 +++++-----
.../dashboards/stability_critical_jobs_status.json | 447 +++++-----
.../datasources/beamgithubjavatests-api.yaml} | 19 +-
.../datasources/beamgithubpythontests-api.yaml} | 19 +-
7 files changed, 987 insertions(+), 826 deletions(-)
diff --git a/.test-infra/metrics/grafana/Dockerfile
b/.test-infra/metrics/grafana/Dockerfile
index ff5b66d..5eadd2a 100644
--- a/.test-infra/metrics/grafana/Dockerfile
+++ b/.test-infra/metrics/grafana/Dockerfile
@@ -16,7 +16,9 @@
# limitations under the License.
################################################################################
-FROM grafana/grafana:6.7.3
+FROM grafana/grafana:8.1.2
+
+RUN grafana-cli plugins install marcusolsson-json-datasource
COPY ./provisioning /etc/beamgrafana/provisioning
COPY ./dashboards /etc/beamgrafana/dashboards
diff --git
a/.test-infra/metrics/grafana/dashboards/github_actions_post-commit_tests.json
b/.test-infra/metrics/grafana/dashboards/github_actions_post-commit_tests.json
index 11ad969..d5be402 100644
---
a/.test-infra/metrics/grafana/dashboards/github_actions_post-commit_tests.json
+++
b/.test-infra/metrics/grafana/dashboards/github_actions_post-commit_tests.json
@@ -280,7 +280,7 @@
"type": "table"
},
{
- "datasource": null,
+ "datasource": "Java Tests",
"fieldConfig": {
"defaults": {
"color": {
@@ -420,7 +420,7 @@
"type": "piechart"
},
{
- "datasource": null,
+ "datasource": "Java Tests",
"fieldConfig": {
"defaults": {
"color": {
diff --git a/.test-infra/metrics/grafana/dashboards/post-commit_tests.json
b/.test-infra/metrics/grafana/dashboards/post-commit_tests.json
index 0a7b2a4..2914306 100644
--- a/.test-infra/metrics/grafana/dashboards/post-commit_tests.json
+++ b/.test-infra/metrics/grafana/dashboards/post-commit_tests.json
@@ -10,6 +10,12 @@
"limit": 100,
"name": "Annotations & Alerts",
"showIn": 0,
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
"type": "dashboard"
}
]
@@ -17,11 +23,10 @@
"editable": true,
"gnetId": null,
"graphTooltip": 0,
- "id": 1,
"links": [],
"panels": [
{
- "content": "This dashboard tracks Post-commit test reliability
over-time.\n\n* [Post-commit test
policies](https://beam.apache.org/contribute/postcommits-policies/)\n*
[Existing test failure
issues](https://issues.apache.org/jira/issues/?jql=project%20%3D%20BEAM%20AND%20status%20in%20(Open%2C%20%22In%20Progress%22%2C%20Reopened)%20AND%20resolution%20%3D%20Unresolved%20AND%20component%20%3D%20test-failures%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC)\n*
[File a new test failu [...]
+ "datasource": null,
"gridPos": {
"h": 4,
"w": 24,
@@ -30,7 +35,11 @@
},
"id": 11,
"links": [],
- "mode": "markdown",
+ "options": {
+ "content": "This dashboard tracks Post-commit test reliability
over-time.\n\n* [Post-commit test
policies](https://beam.apache.org/contribute/postcommits-policies/)\n*
[Existing test failure
issues](https://issues.apache.org/jira/issues/?jql=project%20%3D%20BEAM%20AND%20status%20in%20(Open%2C%20%22In%20Progress%22%2C%20Reopened)%20AND%20resolution%20%3D%20Unresolved%20AND%20component%20%3D%20test-failures%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC)\n*
[File a new test fai [...]
+ "mode": "markdown"
+ },
+ "pluginVersion": "8.1.2",
"title": "Dashboard guidelines",
"type": "text"
},
@@ -68,14 +77,62 @@
"noDataState": "keep_state",
"notifications": []
},
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
"datasource": "BeamPSQL",
- "decimals": 0,
"description": "Percent reliability of all post-commit job runs for a
given week.\n\nUnreliability of a test suite impact developer productivity by
forcing contributors to re-run tests. When tests are consistently unreliable,
developers will simply ignore them.\n\nWe aim for >= 70% reliability per test
suite.",
- "fill": 0,
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "% successful runs",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "line+area"
+ }
+ },
+ "decimals": 1,
+ "mappings": [],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "transparent",
+ "value": 0.7
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
"gridPos": {
"h": 7,
"w": 24,
@@ -83,31 +140,20 @@
"y": 4
},
"id": 6,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "hideEmpty": false,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 1,
"links": [],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.1.2",
"targets": [
{
"alias": "",
@@ -115,7 +161,7 @@
"group": [],
"metricColumn": "none",
"rawQuery": true,
- "rawSql": "SELECT\n DATE_TRUNC('week', build_timestamp) as time,\n
avg(\n case \n when build_result = 'SUCCESS' then 1\n else 0\n end) as
value,\n substring(job_name from 'beam_#\"%#\"' for '#') as job_name\nFROM\n
jenkins_builds\nWHERE\n (build_timestamp BETWEEN $__timeFrom() AND
$__timeTo())\n AND (((job_name LIKE 'beam_PostCommit_%')\n AND NOT (job_name
like '%_PR')) OR job_name like '%_Cron')\nGROUP BY\n time, job_name\norder
BY\n job_name, time\n",
+ "rawSql": "SELECT\n DATE_TRUNC('week', build_timestamp) as time,\n
avg(\n case \n when build_result = 'SUCCESS' then 1\n else 0\n end) as
value,\n substring(job_name from 'beam_#\"%#\"' for '#') as job_name\nFROM\n
jenkins_builds\nWHERE\n (build_timestamp BETWEEN $__timeFrom() AND
$__timeTo())\n AND (((job_name LIKE 'beam_PostCommit_%')\n AND NOT (job_name
like '%_PR')) OR job_name like '%_Cron')\nGROUP BY\n time, job_name\norder
BY\n time, job_name\n",
"refId": "A",
"select": [
[
@@ -137,55 +183,10 @@
]
}
],
- "thresholds": [
- {
- "colorMode": "critical",
- "fill": true,
- "line": true,
- "op": "lt",
- "value": 0.7
- }
- ],
"timeFrom": null,
- "timeRegions": [],
"timeShift": null,
"title": "Post-commit reliability per week",
- "tooltip": {
- "shared": true,
- "sort": 1,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "decimals": 1,
- "format": "percentunit",
- "label": "% successful runs",
- "logBase": 1,
- "max": "1",
- "min": "0",
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ "type": "timeseries"
},
{
"alert": {
@@ -221,14 +222,62 @@
"noDataState": "no_data",
"notifications": []
},
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
"datasource": "BeamPSQL",
- "decimals": 0,
"description": "Percent reliability of all post-commit job runs
per-day.\n\nUnreliability of a test suite impact developer productivity by
forcing contributors to re-run tests. When tests are consistently unreliable,
developers will simply ignore them.\n\nWe aim for >= 70% reliability per test
suite.",
- "fill": 0,
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "% successful runs",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "line+area"
+ }
+ },
+ "decimals": 1,
+ "mappings": [],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "transparent",
+ "value": 0.7
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
"gridPos": {
"h": 12,
"w": 15,
@@ -236,31 +285,20 @@
"y": 11
},
"id": 9,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": false,
- "sideWidth": null,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 1,
"links": [],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "hidden",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.1.2",
"targets": [
{
"alias": "",
@@ -268,7 +306,7 @@
"group": [],
"metricColumn": "none",
"rawQuery": true,
- "rawSql": "SELECT\n DATE_TRUNC('day', build_timestamp) as time,\n
avg(\n case \n when build_result = 'SUCCESS' then 1\n else 0\n end) as
value,\n substring(job_name from 'beam_PostCommit_#\"%#\"' for '#') as
job_name\nFROM\n jenkins_builds\nWHERE\n (build_timestamp BETWEEN
$__timeFrom() AND $__timeTo())\n AND (job_name LIKE 'beam_PostCommit_%')\n
AND NOT (job_name like '%_PR')\nGROUP BY\n time, job_name\norder BY\n
job_name, time\n",
+ "rawSql": "SELECT\n DATE_TRUNC('day', build_timestamp) as time,\n
avg(\n case \n when build_result = 'SUCCESS' then 1\n else 0\n end) as
value,\n substring(job_name from 'beam_PostCommit_#\"%#\"' for '#') as
job_name\nFROM\n jenkins_builds\nWHERE\n (build_timestamp BETWEEN
$__timeFrom() AND $__timeTo())\n AND (job_name LIKE 'beam_PostCommit_%')\n
AND NOT (job_name like '%_PR')\nGROUP BY\n time, job_name\norder BY\n time,
job_name\n",
"refId": "A",
"select": [
[
@@ -290,61 +328,197 @@
]
}
],
- "thresholds": [
- {
- "colorMode": "critical",
- "fill": true,
- "line": true,
- "op": "lt",
- "value": 0.7
- }
- ],
"timeFrom": null,
- "timeRegions": [],
"timeShift": null,
"title": "Post-commit reliability per day",
- "tooltip": {
- "shared": true,
- "sort": 1,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "decimals": 1,
- "format": "percentunit",
- "label": "% successful runs",
- "logBase": 1,
- "max": "1",
- "min": "0",
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ "type": "timeseries"
},
{
- "columns": [],
"datasource": "BeamPSQL",
"description": "List of jobs which have failed. Click on the job to view
it in Jenkins.",
- "fontSize": "100%",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto"
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Time"
+ },
+ {
+ "id": "unit",
+ "value": "time: YYYY-MM-DD HH:mm:ss"
+ },
+ {
+ "id": "custom.align",
+ "value": null
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "build_url"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Build Url"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "Link to Jenkins job.",
+ "url": "${__cell:raw}"
+ }
+ ]
+ },
+ {
+ "id": "custom.align",
+ "value": null
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "job_name"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Job Name"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "View Jenkins job: ${__cell_1}_${__cell_2}",
+ "url": "${__cell_0:raw}"
+ }
+ ]
+ },
+ {
+ "id": "custom.align",
+ "value": null
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "build_id"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Build ID"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "View Jenkins job: ${__cell_1}_${__cell_2}",
+ "url": "${__cell_0:raw}"
+ }
+ ]
+ },
+ {
+ "id": "custom.align",
+ "value": null
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "build_timestamp"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Start Time"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "unit",
+ "value": "time: MM/DD/YY h:mm:ss a"
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "View Jenkins job: ${__cell_1}_${__cell_2}",
+ "url": "${__cell_0:raw}"
+ }
+ ]
+ },
+ {
+ "id": "custom.align",
+ "value": null
+ }
+ ]
+ }
+ ]
+ },
"gridPos": {
"h": 12,
"w": 9,
@@ -355,109 +529,15 @@
"id": 8,
"links": [
{
- "includeVars": false,
"targetBlank": true,
"title": "Beam Jenkins",
- "type": "absolute",
"url": "https://ci-beam.apache.org/"
}
],
- "pageSize": null,
- "scroll": true,
- "showHeader": true,
- "sort": {
- "col": 0,
- "desc": true
+ "options": {
+ "showHeader": true
},
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "link": false,
- "pattern": "Time",
- "type": "date"
- },
- {
- "alias": "Build Url",
- "colorMode": null,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(50, 172, 45, 0.97)"
- ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": true,
- "linkTargetBlank": true,
- "linkTooltip": "Link to Jenkins job.",
- "linkUrl": "${__cell:raw}",
- "mappingType": 1,
- "pattern": "build_url",
- "thresholds": [],
- "type": "hidden",
- "unit": "short"
- },
- {
- "alias": "Job Name",
- "colorMode": null,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(50, 172, 45, 0.97)"
- ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": true,
- "linkTargetBlank": true,
- "linkTooltip": "View Jenkins job: ${__cell_1}_${__cell_2}",
- "linkUrl": "${__cell_0:raw}",
- "mappingType": 1,
- "pattern": "job_name",
- "thresholds": [],
- "type": "string",
- "unit": "short"
- },
- {
- "alias": "Build ID",
- "colorMode": null,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(50, 172, 45, 0.97)"
- ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 0,
- "link": true,
- "linkTargetBlank": true,
- "linkTooltip": "View Jenkins job: ${__cell_1}_${__cell_2}",
- "linkUrl": "${__cell_0:raw}",
- "mappingType": 1,
- "pattern": "build_id",
- "thresholds": [],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "Start Time",
- "colorMode": null,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(50, 172, 45, 0.97)"
- ],
- "dateFormat": "MM/DD/YY h:mm:ss a",
- "decimals": 2,
- "link": true,
- "linkTargetBlank": true,
- "linkTooltip": "View Jenkins job: ${__cell_1}_${__cell_2}",
- "linkUrl": "${__cell_0:raw}",
- "mappingType": 1,
- "pattern": "build_timestamp",
- "thresholds": [],
- "type": "date",
- "unit": "short"
- }
- ],
+ "pluginVersion": "8.1.2",
"targets": [
{
"alias": "",
@@ -489,18 +569,71 @@
],
"timeShift": null,
"title": "Failed builds",
- "transform": "table",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": []
+ }
+ }
+ ],
"type": "table"
},
{
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
"datasource": "BeamPSQL",
- "decimals": 1,
"description": "Execution time for each post-commit job",
- "fill": 0,
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "Average job duration",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": []
+ },
"gridPos": {
"h": 8,
"w": 15,
@@ -508,29 +641,20 @@
"y": 23
},
"id": 5,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": false,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 1,
"links": [],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "hidden",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.1.2",
"targets": [
{
"alias": "",
@@ -538,7 +662,7 @@
"group": [],
"metricColumn": "none",
"rawQuery": true,
- "rawSql": "SELECT\n build_timestamp as time,\n build_duration as
value,\n substring(job_name from 'beam_PostCommit_#\"%#\"' for '#') as
metric\nFROM\n jenkins_builds\nWHERE\n (build_timestamp BETWEEN $__timeFrom()
AND $__timeTo())\n AND (job_name LIKE 'beam_PostCommit_%')\n AND NOT
(job_name LIKE '%_PR')\nORDER BY\n job_name, time",
+ "rawSql": "SELECT\n build_timestamp as time,\n build_duration as
value,\n substring(job_name from 'beam_PostCommit_#\"%#\"' for '#') as
metric\nFROM\n jenkins_builds\nWHERE\n (build_timestamp BETWEEN $__timeFrom()
AND $__timeTo())\n AND (job_name LIKE 'beam_PostCommit_%')\n AND NOT
(job_name LIKE '%_PR')\nORDER BY\n time, job_name",
"refId": "A",
"select": [
[
@@ -560,57 +684,98 @@
]
}
],
- "thresholds": [],
"timeFrom": null,
- "timeRegions": [],
"timeShift": null,
"title": "Post-commit job duration",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "decimals": null,
- "format": "ms",
- "label": "Average job duration",
- "logBase": 1,
- "max": null,
- "min": "0",
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ "type": "timeseries"
},
{
- "aliasColors": {},
- "bars": true,
- "dashLength": 10,
- "dashes": false,
"datasource": "BeamPSQL",
- "decimals": 0,
"description": "Tracks the count of test failure JIRA issues currently
open.",
- "fill": 3,
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "# of JIRA issues",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "total_open"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#eab839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "currently_failing"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
"gridPos": {
"h": 8,
"w": 9,
@@ -618,45 +783,24 @@
"y": 23
},
"id": 14,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": false,
- "linewidth": 1,
"links": [
{
"targetBlank": true,
"title": "Jira tickets",
- "type": "absolute",
"url":
"https://issues.apache.org/jira/issues/?jql=project%20%3D%20BEAM%20AND%20resolution%20%3D%20Unresolved%20AND%20component%20%3D%20test-failures%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC"
}
],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [
- {
- "alias": "total_open",
- "color": "#eab839"
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom"
},
- {
- "alias": "currently_failing",
- "color": "#bf1b00"
+ "tooltip": {
+ "mode": "single"
}
- ],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ },
+ "pluginVersion": "8.1.2",
"targets": [
{
"format": "time_series",
@@ -713,51 +857,14 @@
]
}
],
- "thresholds": [],
"timeFrom": null,
- "timeRegions": [],
"timeShift": null,
"title": "Test Failure JIRA issues",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "decimals": 0,
- "format": "short",
- "label": "# of JIRA issues",
- "logBase": 1,
- "max": null,
- "min": "0",
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ "type": "timeseries"
}
],
"refresh": false,
- "schemaVersion": 18,
+ "schemaVersion": 30,
"style": "dark",
"tags": [],
"templating": {
@@ -793,5 +900,5 @@
"timezone": "",
"title": "Post-commit Test Reliability",
"uid": "D81lW0pmk",
- "version": 46
+ "version": 2
}
diff --git a/.test-infra/metrics/grafana/dashboards/pre-commit_tests.json
b/.test-infra/metrics/grafana/dashboards/pre-commit_tests.json
index e5ab46e..a518b2a 100644
--- a/.test-infra/metrics/grafana/dashboards/pre-commit_tests.json
+++ b/.test-infra/metrics/grafana/dashboards/pre-commit_tests.json
@@ -8,6 +8,12 @@
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
"type": "dashboard"
}
]
@@ -15,7 +21,6 @@
"editable": true,
"gnetId": null,
"graphTooltip": 0,
- "id": 2,
"links": [],
"panels": [
{
@@ -52,13 +57,60 @@
"noDataState": "keep_state",
"notifications": []
},
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
"datasource": "BeamPSQL",
"description": "Execution time for each pre-commit job.\n\nLong test
suite execution impacts developer productivity by delaying the quality signal
of a pull request of current HEAD. If tests are consistently slow, developers
won't wait for them to complete.\n\nWe aim for under 2 hour execution per test
suite, but ideally under 30 mins.",
- "fill": 0,
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "Average job duration",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "line+area"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "transparent",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 7200000
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": []
+ },
"gridPos": {
"h": 8,
"w": 24,
@@ -66,31 +118,20 @@
"y": 0
},
"id": 4,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sort": "current",
- "sortDesc": true,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 1,
"links": [],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.1.2",
"targets": [
{
"alias": "",
@@ -98,7 +139,7 @@
"group": [],
"metricColumn": "none",
"rawQuery": true,
- "rawSql": "SELECT\n build_timestamp as time,\n build_duration as
value,\n substring(job_name from 'beam_PreCommit_#\"%#\"_(Cron|Commit)' for
'#') as metric\nFROM\n jenkins_builds\nWHERE\n (build_timestamp BETWEEN
$__timeFrom() AND $__timeTo())\n AND build_result = 'SUCCESS'\n AND
((job_name LIKE 'beam_PreCommit_%_Commit')\n OR (job_name LIKE
'beam_PreCommit_%_Cron'))\nORDER BY\n metric, time",
+ "rawSql": "SELECT\n build_timestamp as time,\n build_duration as
value,\n substring(job_name from 'beam_PreCommit_#\"%#\"_(Cron|Commit)' for
'#') as metric\nFROM\n jenkins_builds\nWHERE\n (build_timestamp BETWEEN
$__timeFrom() AND $__timeTo())\n AND build_result = 'SUCCESS'\n AND
((job_name LIKE 'beam_PreCommit_%_Commit')\n OR (job_name LIKE
'beam_PreCommit_%_Cron'))\nORDER BY\n time, metric",
"refId": "A",
"select": [
[
@@ -120,62 +161,64 @@
]
}
],
- "thresholds": [
- {
- "colorMode": "critical",
- "fill": true,
- "line": true,
- "op": "gt",
- "value": 7200000
- }
- ],
"timeFrom": null,
- "timeRegions": [],
"timeShift": null,
"title": "Pre-commit job duration",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "ms",
- "label": "Average job duration",
- "logBase": 1,
- "max": null,
- "min": "0",
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ "type": "timeseries"
},
{
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
"datasource": "BeamPSQL",
- "fill": 1,
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "dtdurationms"
+ },
+ "overrides": []
+ },
"gridPos": {
"h": 8,
"w": 24,
@@ -183,38 +226,25 @@
"y": 8
},
"id": 6,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
"links": [],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "table",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.1.2",
"targets": [
{
"format": "time_series",
"group": [],
"metricColumn": "none",
"rawQuery": true,
- "rawSql": "SELECT\n build_timestamp as time,\n
timing_queuingDurationMillis as value,\n substring(job_name from
'beam_PreCommit_#\"%#\"_(Cron|Commit|Phrase)' for '#') as metric\nFROM\n
jenkins_builds\nWHERE\n (build_timestamp BETWEEN $__timeFrom() AND
$__timeTo())\n AND build_result = 'SUCCESS'\n AND ((job_name LIKE
'beam_PreCommit_%_Commit')\n OR (job_name LIKE 'beam_PreCommit_%_Cron')\n
OR (job_name LIKE 'beam_PreCommit_%_Phrase'))\nORDER BY\n metric, time",
+ "rawSql": "SELECT\n build_timestamp as time,\n
timing_queuingDurationMillis as value,\n substring(job_name from
'beam_PreCommit_#\"%#\"_(Cron|Commit|Phrase)' for '#') as metric\nFROM\n
jenkins_builds\nWHERE\n (build_timestamp BETWEEN $__timeFrom() AND
$__timeTo())\n AND build_result = 'SUCCESS'\n AND ((job_name LIKE
'beam_PreCommit_%_Commit')\n OR (job_name LIKE 'beam_PreCommit_%_Cron')\n
OR (job_name LIKE 'beam_PreCommit_%_Phrase'))\nORDER BY\n time, metric",
"refId": "A",
"select": [
[
@@ -236,54 +266,64 @@
]
}
],
- "thresholds": [],
"timeFrom": null,
- "timeRegions": [],
"timeShift": null,
"title": "Time in queue",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "dtdurationms",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ "type": "timeseries"
},
{
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
"datasource": "BeamPSQL",
- "fill": 0,
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "dtdurationms"
+ },
+ "overrides": []
+ },
"gridPos": {
"h": 8,
"w": 24,
@@ -291,31 +331,18 @@
"y": 16
},
"id": 8,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
"links": [],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "table",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.1.2",
"targets": [
{
"aggregation": "Last",
@@ -351,49 +378,13 @@
]
}
],
- "thresholds": [],
"timeFrom": null,
- "timeRegions": [],
"timeShift": null,
"title": "Time in queue: 0.9 percentile on month period",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "format": "dtdurationms",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ "type": "timeseries"
}
],
- "schemaVersion": 18,
+ "schemaVersion": 30,
"style": "dark",
"tags": [],
"templating": {
@@ -431,5 +422,5 @@
"timezone": "utc",
"title": "Pre-commit Test Latency",
"uid": "_TNndF2iz",
- "version": 18
+ "version": 1
}
diff --git
a/.test-infra/metrics/grafana/dashboards/stability_critical_jobs_status.json
b/.test-infra/metrics/grafana/dashboards/stability_critical_jobs_status.json
index 83695dc..f0ffe63 100644
--- a/.test-infra/metrics/grafana/dashboards/stability_critical_jobs_status.json
+++ b/.test-infra/metrics/grafana/dashboards/stability_critical_jobs_status.json
@@ -8,6 +8,12 @@
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
"type": "dashboard"
}
]
@@ -15,11 +21,10 @@
"editable": true,
"gnetId": null,
"graphTooltip": 0,
- "id": 3,
"links": [],
"panels": [
{
- "content": "The graph shows: average greenness of critical post-commit
tests jobs per week. This graph show health of our project.\n\nTable shows list
of relevant jobs failures during selected time interval (You can change time
interval on top-right corner of the dashboard). Please, triage failed jobs and
update or create corresponding jira tickets. You can utilized provided links to
help with this.",
+ "datasource": null,
"gridPos": {
"h": 3,
"w": 10,
@@ -28,15 +33,97 @@
},
"id": 8,
"links": [],
- "mode": "markdown",
- "options": {},
+ "options": {
+ "content": "The graph shows: average greenness of critical post-commit
tests jobs per week. This graph show health of our project.\n\nTable shows list
of relevant jobs failures during selected time interval (You can change time
interval on top-right corner of the dashboard). Please, triage failed jobs and
update or create corresponding jira tickets. You can utilized provided links to
help with this.",
+ "mode": "markdown"
+ },
+ "pluginVersion": "8.1.2",
"title": "Dashboard guidelines",
"type": "text"
},
{
- "columns": [],
"datasource": "BeamPSQL",
- "fontSize": "100%",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto"
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Time"
+ },
+ {
+ "id": "unit",
+ "value": "time: YYYY-MM-DD HH:mm:ss"
+ },
+ {
+ "id": "custom.align",
+ "value": null
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "build_url"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Build Url"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "Link to Jenkins job.",
+ "url": "${__cell:raw}"
+ }
+ ]
+ },
+ {
+ "id": "custom.align",
+ "value": null
+ }
+ ]
+ }
+ ]
+ },
"gridPos": {
"h": 6,
"w": 14,
@@ -46,43 +133,10 @@
"hideTimeOverride": false,
"id": 4,
"links": [],
- "options": {},
- "pageSize": null,
- "scroll": true,
- "showHeader": true,
- "sort": {
- "col": 0,
- "desc": true
+ "options": {
+ "showHeader": true
},
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "link": false,
- "pattern": "Time",
- "type": "date"
- },
- {
- "alias": "Build Url",
- "colorMode": null,
- "colors": [
- "rgba(245, 54, 54, 0.9)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(50, 172, 45, 0.97)"
- ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": true,
- "linkTargetBlank": true,
- "linkTooltip": "Link to Jenkins job.",
- "linkUrl": "${__cell:raw}",
- "mappingType": 1,
- "pattern": "build_url",
- "thresholds": [],
- "type": "number",
- "unit": "short"
- }
- ],
+ "pluginVersion": "8.1.2",
"targets": [
{
"alias": "",
@@ -114,11 +168,18 @@
],
"timeShift": null,
"title": "Failed builds",
- "transform": "table",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": []
+ }
+ }
+ ],
"type": "table"
},
{
- "content": "[List existing jira
tickets](https://issues.apache.org/jira/issues/?jql=project%20%3D%20BEAM%20AND%20status%20in%20(Open%2C%20%22In%20Progress%22%2C%20Reopened)%20AND%20resolution%20%3D%20Unresolved%20AND%20component%20%3D%20test-failures%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC)\n\n[Create
new Jira
ticket](https://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12319527&issuetype=1&summary=%5BjobName%5D%5BTestName%5D%5BIsFlake%5D%20Failure%20su
[...]
+ "datasource": null,
"gridPos": {
"h": 3,
"w": 10,
@@ -127,19 +188,70 @@
},
"id": 6,
"links": [],
- "mode": "markdown",
- "options": {},
+ "options": {
+ "content": "[List existing jira
tickets](https://issues.apache.org/jira/issues/?jql=project%20%3D%20BEAM%20AND%20status%20in%20(Open%2C%20%22In%20Progress%22%2C%20Reopened)%20AND%20resolution%20%3D%20Unresolved%20AND%20component%20%3D%20test-failures%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC)\n\n[Create
new Jira
ticket](https://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12319527&issuetype=1&summary=%5BjobName%5D%5BTestName%5D%5BIsFlake%5D%20Failure%20
[...]
+ "mode": "markdown"
+ },
+ "pluginVersion": "8.1.2",
"title": "Useful links",
"type": "text"
},
{
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
"datasource": "BeamPSQL",
"description": "Each data point shows aggregation for corresponding
week.\nLatest (rightmost) data point aggregates all data available for current
week, so it may change based on new data and should not be considered a final
value.",
- "fill": 0,
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "line"
+ }
+ },
+ "mappings": [],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#3f6833",
+ "value": null
+ },
+ {
+ "color": "transparent",
+ "value": 0.7
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
"gridPos": {
"h": 7,
"w": 10,
@@ -147,29 +259,18 @@
"y": 6
},
"id": 2,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
"links": [],
- "nullPointMode": "null",
- "options": {},
- "percentage": false,
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.1.2",
"targets": [
{
"alias": "",
@@ -177,7 +278,7 @@
"group": [],
"metricColumn": "none",
"rawQuery": true,
- "rawSql": "SELECT\n DATE_TRUNC('week', build_timestamp) as time,\n
avg(\n case \n when build_result = 'SUCCESS' then 1\n else 0\n end) as
value,\n substring(job_name from 'beam_PostCommit_#\"%#\"' for '#') as
job_name\nFROM\n /*\n We perform a union here to create a fake
\"Python_All\" job_name in\n order to graph a new line for all the python
results combined.\n */\n ( SELECT build_timestamp, build_result, job_name\n
FROM jenkins_builds\n UNION\n SEL [...]
+ "rawSql": "SELECT\n DATE_TRUNC('week', build_timestamp) as time,\n
avg(\n case \n when build_result = 'SUCCESS' then 1\n else 0\n end) as
value,\n substring(job_name from 'beam_PostCommit_#\"%#\"' for '#') as
job_name\nFROM\n /*\n We perform a union here to create a fake
\"Python_All\" job_name in\n order to graph a new line for all the python
results combined.\n */\n ( SELECT build_timestamp, build_result, job_name\n
FROM jenkins_builds\n UNION\n SEL [...]
"refId": "A",
"select": [
[
@@ -199,66 +300,67 @@
]
}
],
- "thresholds": [
- {
- "colorMode": "custom",
- "fill": false,
- "line": true,
- "lineColor": "#3f6833",
- "op": "lt",
- "value": 0.7,
- "yaxis": "left"
- }
- ],
"timeFrom": null,
- "timeRegions": [],
"timeShift": null,
"title": "Greenness per Week (in %)",
- "tooltip": {
- "shared": true,
- "sort": 1,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "decimals": null,
- "format": "percentunit",
- "label": "",
- "logBase": 1,
- "max": "1",
- "min": "0",
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ "type": "timeseries"
},
{
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
"datasource": "BeamPSQL",
"description": "Each data point shows aggregation for corresponding
month.\nLatest (rightmost) data point aggregates all data available for current
month, so it may change based on new data and should not be considered a final
value.",
- "fill": 0,
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "line"
+ }
+ },
+ "mappings": [],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#3f6833",
+ "value": null
+ },
+ {
+ "color": "transparent",
+ "value": 0.7
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
"gridPos": {
"h": 7,
"w": 14,
@@ -266,30 +368,18 @@
"y": 6
},
"id": 10,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
"links": [],
- "nullPointMode": "null",
- "options": {},
- "percentage": false,
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "table",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.1.2",
"targets": [
{
"alias": "",
@@ -297,7 +387,7 @@
"group": [],
"metricColumn": "none",
"rawQuery": true,
- "rawSql": "SELECT\n DATE_TRUNC('month', build_timestamp) as time,\n
avg(\n case \n when build_result = 'SUCCESS' then 1\n else 0\n end) as
value,\n substring(job_name from 'beam_PostCommit_#\"%#\"' for '#') as
job_name\nFROM\n /*\n We perform a union here to create a fake \"Python_All\"
job_name in\n order to graph a new line for all the python results combined.\n
*/\n ( SELECT build_timestamp, build_result, job_name\n FROM
jenkins_builds\n UNION\n SELECT [...]
+ "rawSql": "SELECT\n DATE_TRUNC('month', build_timestamp) as time,\n
avg(\n case \n when build_result = 'SUCCESS' then 1\n else 0\n end) as
value,\n substring(job_name from 'beam_PostCommit_#\"%#\"' for '#') as
job_name\nFROM\n /*\n We perform a union here to create a fake \"Python_All\"
job_name in\n order to graph a new line for all the python results combined.\n
*/\n ( SELECT build_timestamp, build_result, job_name\n FROM
jenkins_builds\n UNION\n SELECT [...]
"refId": "A",
"select": [
[
@@ -319,61 +409,14 @@
]
}
],
- "thresholds": [
- {
- "colorMode": "custom",
- "fill": false,
- "line": true,
- "lineColor": "#3f6833",
- "op": "lt",
- "value": 0.7,
- "yaxis": "left"
- }
- ],
"timeFrom": null,
- "timeRegions": [],
"timeShift": null,
"title": "Greenness per Month (in %)",
- "tooltip": {
- "shared": true,
- "sort": 1,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "decimals": null,
- "format": "percentunit",
- "label": "",
- "logBase": 1,
- "max": "1",
- "min": "0",
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ "type": "timeseries"
}
],
"refresh": false,
- "schemaVersion": 18,
+ "schemaVersion": 30,
"style": "dark",
"tags": [],
"templating": {
@@ -411,5 +454,5 @@
"timezone": "utc",
"title": "Stability critical jobs status",
"uid": "McTAiu0ik",
- "version": 1
-}
\ No newline at end of file
+ "version": 2
+}
diff --git a/.test-infra/metrics/grafana/Dockerfile
b/.test-infra/metrics/grafana/provisioning/datasources/beamgithubjavatests-api.yaml
similarity index 69%
copy from .test-infra/metrics/grafana/Dockerfile
copy to
.test-infra/metrics/grafana/provisioning/datasources/beamgithubjavatests-api.yaml
index ff5b66d..a3a0e9b 100644
--- a/.test-infra/metrics/grafana/Dockerfile
+++
b/.test-infra/metrics/grafana/provisioning/datasources/beamgithubjavatests-api.yaml
@@ -16,10 +16,19 @@
# limitations under the License.
################################################################################
-FROM grafana/grafana:6.7.3
+apiVersion: 1
-COPY ./provisioning /etc/beamgrafana/provisioning
-COPY ./dashboards /etc/beamgrafana/dashboards
-
-ENV GF_PATHS_PROVISIONING /etc/beamgrafana/provisioning
+deleteDatasources:
+datasources:
+ - name: Java Tests
+ type: marcusolsson-json-datasource
+ access: proxy
+ orgId: 1
+ url:
https://api.github.com/repos/apache/beam/actions/workflows/java_tests.yml/runs
+ jsonData:
+ httpHeaderName1: "accept"
+ customQueryParameters: "per_page=100"
+ secureJsonData:
+ httpHeaderValue1: "application/vnd.github.v3+json"
+ editable: false
diff --git a/.test-infra/metrics/grafana/Dockerfile
b/.test-infra/metrics/grafana/provisioning/datasources/beamgithubpythontests-api.yaml
similarity index 69%
copy from .test-infra/metrics/grafana/Dockerfile
copy to
.test-infra/metrics/grafana/provisioning/datasources/beamgithubpythontests-api.yaml
index ff5b66d..abcd060 100644
--- a/.test-infra/metrics/grafana/Dockerfile
+++
b/.test-infra/metrics/grafana/provisioning/datasources/beamgithubpythontests-api.yaml
@@ -16,10 +16,19 @@
# limitations under the License.
################################################################################
-FROM grafana/grafana:6.7.3
+apiVersion: 1
-COPY ./provisioning /etc/beamgrafana/provisioning
-COPY ./dashboards /etc/beamgrafana/dashboards
-
-ENV GF_PATHS_PROVISIONING /etc/beamgrafana/provisioning
+deleteDatasources:
+datasources:
+ - name: Python Tests
+ type: marcusolsson-json-datasource
+ access: proxy
+ orgId: 1
+ url:
https://api.github.com/repos/apache/beam/actions/workflows/python_tests.yml/runs
+ jsonData:
+ httpHeaderName1: "accept"
+ customQueryParameters: "per_page=100"
+ secureJsonData:
+ httpHeaderValue1: "application/vnd.github.v3+json"
+ editable: false