| { |
| "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, |
| "id": 2, |
| "links": [], |
| "panels": [ |
| { |
| "alert": { |
| "conditions": [ |
| { |
| "evaluator": { |
| "params": [ |
| 7200000 |
| ], |
| "type": "gt" |
| }, |
| "operator": { |
| "type": "and" |
| }, |
| "query": { |
| "params": [ |
| "A", |
| "5m", |
| "now" |
| ] |
| }, |
| "reducer": { |
| "params": [], |
| "type": "max" |
| }, |
| "type": "query" |
| } |
| ], |
| "executionErrorState": "alerting", |
| "frequency": "30m", |
| "handler": 1, |
| "name": "Pre-commit job duration per-day alert", |
| "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, |
| "gridPos": { |
| "h": 8, |
| "w": 24, |
| "x": 0, |
| "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, |
| "targets": [ |
| { |
| "alias": "", |
| "format": "time_series", |
| "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", |
| "refId": "A", |
| "select": [ |
| [ |
| { |
| "params": [ |
| "value" |
| ], |
| "type": "column" |
| } |
| ] |
| ], |
| "timeColumn": "time", |
| "where": [ |
| { |
| "name": "$__timeFilter", |
| "params": [], |
| "type": "macro" |
| } |
| ] |
| } |
| ], |
| "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 |
| } |
| }, |
| { |
| "aliasColors": {}, |
| "bars": false, |
| "dashLength": 10, |
| "dashes": false, |
| "datasource": "BeamPSQL", |
| "fill": 1, |
| "gridPos": { |
| "h": 8, |
| "w": 24, |
| "x": 0, |
| "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, |
| "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", |
| "refId": "A", |
| "select": [ |
| [ |
| { |
| "params": [ |
| "value" |
| ], |
| "type": "column" |
| } |
| ] |
| ], |
| "timeColumn": "time", |
| "where": [ |
| { |
| "name": "$__timeFilter", |
| "params": [], |
| "type": "macro" |
| } |
| ] |
| } |
| ], |
| "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 |
| } |
| }, |
| { |
| "aliasColors": {}, |
| "bars": false, |
| "dashLength": 10, |
| "dashes": false, |
| "datasource": "BeamPSQL", |
| "fill": 0, |
| "gridPos": { |
| "h": 8, |
| "w": 24, |
| "x": 0, |
| "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, |
| "targets": [ |
| { |
| "aggregation": "Last", |
| "decimals": 2, |
| "displayAliasType": "Warning / Critical", |
| "displayType": "Regular", |
| "displayValueWithAlias": "Never", |
| "format": "time_series", |
| "group": [], |
| "metricColumn": "none", |
| "rawQuery": true, |
| "rawSql": "SELECT\n DATE_TRUNC('month', build_timestamp) as time,\n percentile_disc(0.9) within group (order by 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'))\nGROUP BY\n time, metric\nORDER BY\n time, metric", |
| "refId": "A", |
| "select": [ |
| [ |
| { |
| "params": [ |
| "value" |
| ], |
| "type": "column" |
| } |
| ] |
| ], |
| "timeColumn": "time", |
| "units": "none", |
| "valueHandler": "Number Threshold", |
| "where": [ |
| { |
| "name": "$__timeFilter", |
| "params": [], |
| "type": "macro" |
| } |
| ] |
| } |
| ], |
| "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 |
| } |
| } |
| ], |
| "schemaVersion": 18, |
| "style": "dark", |
| "tags": [], |
| "templating": { |
| "list": [] |
| }, |
| "time": { |
| "from": "now-7d", |
| "to": "now" |
| }, |
| "timepicker": { |
| "refresh_intervals": [ |
| "5s", |
| "10s", |
| "30s", |
| "1m", |
| "5m", |
| "15m", |
| "30m", |
| "1h", |
| "2h", |
| "1d" |
| ], |
| "time_options": [ |
| "5m", |
| "15m", |
| "1h", |
| "6h", |
| "12h", |
| "24h", |
| "2d", |
| "7d", |
| "30d" |
| ] |
| }, |
| "timezone": "utc", |
| "title": "Pre-commit Test Latency", |
| "uid": "_TNndF2iz", |
| "version": 18 |
| } |