This is an automated email from the ASF dual-hosted git repository.
klesh pushed a commit to branch release-v1.0
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
The following commit(s) were added to refs/heads/release-v1.0 by this push:
new 83ec4a54d cherry-pick #8114 #8179 Fix DORA and lead time for changes
details dashboards (#8180)
83ec4a54d is described below
commit 83ec4a54d37c619bf604c79207144e064647c709
Author: Louis.z <[email protected]>
AuthorDate: Fri Nov 1 19:50:48 2024 +0800
cherry-pick #8114 #8179 Fix DORA and lead time for changes details
dashboards (#8180)
* fix: improve the time filters in DORA dashboards (#8114)
Co-authored-by: Startrekzky <[email protected]>
* fix: update change lead time details dashboard (#8179)
---------
Co-authored-by: Startrekzky <[email protected]>
---
grafana/dashboards/DORA.json | 8 +--
grafana/dashboards/DORAByTeam.json | 2 +-
grafana/dashboards/DORADebug.json | 8 +--
.../dashboards/DORADetails-LeadTimeforChanges.json | 73 +++++++++++++---------
4 files changed, 53 insertions(+), 38 deletions(-)
diff --git a/grafana/dashboards/DORA.json b/grafana/dashboards/DORA.json
index 85ea67ac3..3d3fdaa09 100644
--- a/grafana/dashboards/DORA.json
+++ b/grafana/dashboards/DORA.json
@@ -962,7 +962,7 @@
"metricColumn": "none",
"queryType": "randomWalk",
"rawQuery": true,
- "rawSql": "-- Metric 1: Number of deployments per month\nwith
_deployments as(\n-- When deploying multiple commits in one pipeline, GitLab
and BitBucket may generate more than one deployment. However, DevLake consider
these deployments as ONE production deployment and use the last one's
finished_date as the finished date.\n\tSELECT
\n\t\tdate_format(deployment_finished_date,'%y/%m') as
month,\n\t\tcount(cicd_deployment_id) as deployment_count\n\tFROM
(\n\t\tSELECT\n\t\t\tcdc.ci [...]
+ "rawSql": "-- Metric 1: Number of deployments per month\nwith
_deployments as(\n-- When deploying multiple commits in one pipeline, GitLab
and BitBucket may generate more than one deployment. However, DevLake consider
these deployments as ONE production deployment and use the last one's
finished_date as the finished date.\n\tSELECT
\n\t\tdate_format(deployment_finished_date,'%y/%m') as
month,\n\t\tcount(cicd_deployment_id) as deployment_count\n\tFROM
(\n\t\tSELECT\n\t\t\tcdc.ci [...]
"refId": "A",
"select": [
[
@@ -1095,7 +1095,7 @@
"hide": false,
"metricColumn": "none",
"rawQuery": true,
- "rawSql": "-- Metric 2: median change lead time per month\nwith
_pr_stats as (\n-- get the cycle time of PRs deployed by the deployments
finished each month\n\tSELECT\n\t\tdistinct
pr.id,\n\t\tdate_format(cdc.finished_date,'%y/%m') as
month,\n\t\tppm.pr_cycle_time\n\tFROM\n\t\tpull_requests pr\n\t\tjoin
project_pr_metrics ppm on ppm.id = pr.id\n\t\tjoin project_mapping pm on
pr.base_repo_id = pm.row_id and pm.`table` = 'repos'\n\t\tjoin
cicd_deployment_commits cdc on ppm.deploy [...]
+ "rawSql": "-- Metric 2: median change lead time per month\nwith
_pr_stats as (\n-- get the cycle time of PRs deployed by the deployments
finished each month\n\tSELECT\n\t\tdistinct
pr.id,\n\t\tdate_format(cdc.finished_date,'%y/%m') as
month,\n\t\tppm.pr_cycle_time\n\tFROM\n\t\tpull_requests pr\n\t\tjoin
project_pr_metrics ppm on ppm.id = pr.id\n\t\tjoin project_mapping pm on
pr.base_repo_id = pm.row_id and pm.`table` = 'repos'\n\t\tjoin
cicd_deployment_commits cdc on ppm.deploy [...]
"refId": "A",
"select": [
[
@@ -1249,7 +1249,7 @@
"hide": false,
"metricColumn": "none",
"rawQuery": true,
- "rawSql": "-- Metric 3: change failure rate per month\nwith
_deployments as (\n -- When deploying multiple commits in one pipeline, GitLab
and BitBucket may generate more than one deployment. However, DevLake consider
these deployments as ONE production deployment and use the last one's
finished_date as the finished date.\n SELECT\n cdc.cicd_deployment_id as
deployment_id,\n max(cdc.finished_date) as deployment_finished_date\n
FROM\n cicd_deployment_commits cdc\n [...]
+ "rawSql": "-- Metric 3: change failure rate per month\nwith
_deployments as (\n -- When deploying multiple commits in one pipeline, GitLab
and BitBucket may generate more than one deployment. However, DevLake consider
these deployments as ONE production deployment and use the last one's
finished_date as the finished date.\n SELECT\n cdc.cicd_deployment_id as
deployment_id,\n max(cdc.finished_date) as deployment_finished_date\n
FROM\n cicd_deployment_commits cdc\n [...]
"refId": "A",
"select": [
[
@@ -1407,7 +1407,7 @@
"hide": false,
"metricColumn": "none",
"rawQuery": true,
- "rawSql": "-- ***** 2023 report ***** --\n-- Metric 4: Failed
deployment recovery time\nwith _deployments as (\n SELECT\n
cdc.cicd_deployment_id as deployment_id,\n max(cdc.finished_date) as
deployment_finished_date\n FROM\n cicd_deployment_commits cdc\n JOIN
project_mapping pm on cdc.cicd_scope_id = pm.row_id\n and pm.`table` =
'cicd_scopes'\n WHERE\n pm.project_name in ($project)\n and cdc.result =
'SUCCESS'\n and cdc.environment = 'PRODUCTION'\n [...]
+ "rawSql": "-- ***** 2023 report ***** --\n-- Metric 4: Failed
deployment recovery time\nwith _deployments as (\n SELECT\n
cdc.cicd_deployment_id as deployment_id,\n max(cdc.finished_date) as
deployment_finished_date\n FROM\n cicd_deployment_commits cdc\n JOIN
project_mapping pm on cdc.cicd_scope_id = pm.row_id\n and pm.`table` =
'cicd_scopes'\n WHERE\n pm.project_name in ($project)\n and cdc.result =
'SUCCESS'\n and cdc.environment = 'PRODUCTION'\n [...]
"refId": "A",
"select": [
[
diff --git a/grafana/dashboards/DORAByTeam.json
b/grafana/dashboards/DORAByTeam.json
index 972d11ee2..863aaac35 100644
--- a/grafana/dashboards/DORAByTeam.json
+++ b/grafana/dashboards/DORAByTeam.json
@@ -1143,7 +1143,7 @@
"format": "table",
"hide": false,
"rawQuery": true,
- "rawSql": "-- ***** 2023 report ***** --\n-- Metric 4: Failed
deployment recovery time\nwith _deployments as (\n SELECT\n
cdc.cicd_deployment_id as deployment_id,\n max(cdc.finished_date) as
deployment_finished_date\n FROM\n cicd_deployment_commits cdc\n JOIN
commits c on cdc.commit_sha = c.sha\n join user_accounts ua on c.author_id =
ua.account_id\n join users u on ua.user_id = u.id\n join team_users tu on
u.id = tu.user_id\n join teams t on tu.team [...]
+ "rawSql": "-- ***** 2023 report ***** --\n-- Metric 4: Failed
deployment recovery time\nwith _deployments as (\n SELECT\n
cdc.cicd_deployment_id as deployment_id,\n max(cdc.finished_date) as
deployment_finished_date\n FROM\n cicd_deployment_commits cdc\n JOIN
commits c on cdc.commit_sha = c.sha\n join user_accounts ua on c.author_id =
ua.account_id\n join users u on ua.user_id = u.id\n join team_users tu on
u.id = tu.user_id\n join teams t on tu.team [...]
"refId": "A",
"sql": {
"columns": [
diff --git a/grafana/dashboards/DORADebug.json
b/grafana/dashboards/DORADebug.json
index f547740bb..935b035c1 100644
--- a/grafana/dashboards/DORADebug.json
+++ b/grafana/dashboards/DORADebug.json
@@ -557,7 +557,7 @@
"metricColumn": "none",
"queryType": "randomWalk",
"rawQuery": true,
- "rawSql": "-- Metric 1: Number of deployments per month\nwith
_deployments as(\n-- When deploying multiple commits in one pipeline, GitLab
and BitBucket may generate more than one deployment. However, DevLake consider
these deployments as ONE production deployment and use the last one's
finished_date as the finished date.\n\tSELECT
\n\t\tdate_format(deployment_finished_date,'%y/%m') as
month,\n\t\tcount(cicd_deployment_id) as deployment_count\n\tFROM
(\n\t\tSELECT\n\t\t\tcdc.ci [...]
+ "rawSql": "-- Metric 1: Number of deployments per month\nwith
_deployments as(\n-- When deploying multiple commits in one pipeline, GitLab
and BitBucket may generate more than one deployment. However, DevLake consider
these deployments as ONE production deployment and use the last one's
finished_date as the finished date.\n\tSELECT
\n\t\tdate_format(deployment_finished_date,'%y/%m') as
month,\n\t\tcount(cicd_deployment_id) as deployment_count\n\tFROM
(\n\t\tSELECT\n\t\t\tcdc.ci [...]
"refId": "A",
"select": [
[
@@ -1466,7 +1466,7 @@
"hide": false,
"metricColumn": "none",
"rawQuery": true,
- "rawSql": "-- Metric 2: median change lead time per month\nwith
_pr_stats as (\n-- get the cycle time of PRs deployed by the deployments
finished each month\n\tSELECT\n\t\tdistinct
pr.id,\n\t\tdate_format(cdc.finished_date,'%y/%m') as
month,\n\t\tppm.pr_cycle_time\n\tFROM\n\t\tpull_requests pr\n\t\tjoin
project_pr_metrics ppm on ppm.id = pr.id\n\t\tjoin project_mapping pm on
pr.base_repo_id = pm.row_id and pm.`table` = 'repos'\n\t\tjoin
cicd_deployment_commits cdc on ppm.deploy [...]
+ "rawSql": "-- Metric 2: median change lead time per month\nwith
_pr_stats as (\n-- get the cycle time of PRs deployed by the deployments
finished each month\n\tSELECT\n\t\tdistinct
pr.id,\n\t\tdate_format(cdc.finished_date,'%y/%m') as
month,\n\t\tppm.pr_cycle_time\n\tFROM\n\t\tpull_requests pr\n\t\tjoin
project_pr_metrics ppm on ppm.id = pr.id\n\t\tjoin project_mapping pm on
pr.base_repo_id = pm.row_id and pm.`table` = 'repos'\n\t\tjoin
cicd_deployment_commits cdc on ppm.deploy [...]
"refId": "A",
"select": [
[
@@ -3210,7 +3210,7 @@
"hide": false,
"metricColumn": "none",
"rawQuery": true,
- "rawSql": "-- ***** 2023 report ***** --\n-- Metric 4: Failed
deployment recovery time\nwith _deployments as (\n SELECT\n
cdc.cicd_deployment_id as deployment_id,\n max(cdc.finished_date) as
deployment_finished_date\n FROM\n cicd_deployment_commits cdc\n JOIN
project_mapping pm on cdc.cicd_scope_id = pm.row_id\n and pm.`table` =
'cicd_scopes'\n WHERE\n pm.project_name in ($project)\n and cdc.result =
'SUCCESS'\n and cdc.environment = 'PRODUCTION'\n [...]
+ "rawSql": "-- ***** 2023 report ***** --\n-- Metric 4: Failed
deployment recovery time\nwith _deployments as (\n SELECT\n
cdc.cicd_deployment_id as deployment_id,\n max(cdc.finished_date) as
deployment_finished_date\n FROM\n cicd_deployment_commits cdc\n JOIN
project_mapping pm on cdc.cicd_scope_id = pm.row_id\n and pm.`table` =
'cicd_scopes'\n WHERE\n pm.project_name in ($project)\n and cdc.result =
'SUCCESS'\n and cdc.environment = 'PRODUCTION'\n [...]
"refId": "A",
"select": [
[
@@ -3711,7 +3711,7 @@
"hide": false,
"metricColumn": "none",
"rawQuery": true,
- "rawSql": "-- Metric 3: change failure rate per month\nwith
_deployments as (\n -- When deploying multiple commits in one pipeline, GitLab
and BitBucket may generate more than one deployment. However, DevLake consider
these deployments as ONE production deployment and use the last one's
finished_date as the finished date.\n SELECT\n cdc.cicd_deployment_id as
deployment_id,\n max(cdc.finished_date) as deployment_finished_date\n
FROM\n cicd_deployment_commits cdc\n [...]
+ "rawSql": "-- Metric 3: change failure rate per month\nwith
_deployments as (\n -- When deploying multiple commits in one pipeline, GitLab
and BitBucket may generate more than one deployment. However, DevLake consider
these deployments as ONE production deployment and use the last one's
finished_date as the finished date.\n SELECT\n cdc.cicd_deployment_id as
deployment_id,\n max(cdc.finished_date) as deployment_finished_date\n
FROM\n cicd_deployment_commits cdc\n [...]
"refId": "A",
"select": [
[
diff --git a/grafana/dashboards/DORADetails-LeadTimeforChanges.json
b/grafana/dashboards/DORADetails-LeadTimeforChanges.json
index 5fa6fc7de..20b1a393e 100644
--- a/grafana/dashboards/DORADetails-LeadTimeforChanges.json
+++ b/grafana/dashboards/DORADetails-LeadTimeforChanges.json
@@ -18,7 +18,6 @@
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
- "id": 36,
"links": [
{
"asDropdown": false,
@@ -47,17 +46,16 @@
"y": 0
},
"id": 63,
- "links": [],
"options": {
"code": {
"language": "plaintext",
"showLineNumbers": false,
"showMiniMap": false
},
- "content": "This dashboard shows the details about [Lead Time for
Changes](https://devlake.apache.org/docs/Metrics/LeadTimeForChanges) in DORA.",
+ "content": "- This dashboard shows the details about [Lead Time for
Changes](https://devlake.apache.org/docs/Metrics/LeadTimeForChanges) in
DORA.\n- It displays the statistics for pull requests **deployed** within the
selected time range.",
"mode": "markdown"
},
- "pluginVersion": "9.5.15",
+ "pluginVersion": "11.2.0",
"targets": [
{
"datasource": {
@@ -112,6 +110,7 @@
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
+ "percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
@@ -119,9 +118,11 @@
"fields": "",
"values": false
},
- "textMode": "auto"
+ "showPercentChange": false,
+ "textMode": "auto",
+ "wideLayout": true
},
- "pluginVersion": "9.5.15",
+ "pluginVersion": "11.2.0",
"targets": [
{
"datasource": "mysql",
@@ -131,7 +132,7 @@
"hide": false,
"metricColumn": "none",
"rawQuery": true,
- "rawSql": "with _prs as(\n SELECT\n pr.id,\n pr.created_date
as pr_issued_date,\n -- convert null to 0 if a PR has no cycle_time to make
sure cycle_time equals the sum of the four metrics
below\n\t\tcoalesce(prm.pr_cycle_time/60,0) as cycle_time\n FROM pull_requests
pr\n left join project_pr_metrics prm on pr.id = prm.id\n join
project_mapping pm on pr.base_repo_id = pm.row_id and pm.table = 'repos' \n
WHERE\n $__timeFilter(pr.created_date)\n and pr.crea [...]
+ "rawSql": "with _prs as(\n SELECT\n pr.id,\n pr.created_date
as pr_issued_date,\n -- convert null to 0 if a PR has no cycle_time to make
sure cycle_time equals the sum of the four metrics
below\n\t\tcoalesce(prm.pr_cycle_time/60,0) as cycle_time\n FROM pull_requests
pr\n left join project_pr_metrics prm on pr.id = prm.id\n join
project_mapping pm on pr.base_repo_id = pm.row_id and pm.table = 'repos' \n
WHERE\n $__timeFilter(prm.pr_deployed_date)\n -- and [...]
"refId": "A",
"select": [
[
@@ -217,6 +218,7 @@
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
+ "percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
@@ -224,9 +226,11 @@
"fields": "",
"values": false
},
- "textMode": "auto"
+ "showPercentChange": false,
+ "textMode": "auto",
+ "wideLayout": true
},
- "pluginVersion": "9.5.15",
+ "pluginVersion": "11.2.0",
"targets": [
{
"datasource": "mysql",
@@ -236,7 +240,7 @@
"hide": false,
"metricColumn": "none",
"rawQuery": true,
- "rawSql": "with _prs as(\n SELECT\n pr.id,\n pr.created_date
as pr_issued_date,\n -- convert null to 0 if a PR has no coding_time to make
sure cycle_time equals the sum of the four
sub-metrics\n\t\tcoalesce(prm.pr_coding_time/60,0) as coding_time\n FROM
pull_requests pr\n left join project_pr_metrics prm on pr.id = prm.id\n
join project_mapping pm on pr.base_repo_id = pm.row_id and pm.table = 'repos'
\n WHERE\n $__timeFilter(pr.created_date)\n and pr.cre [...]
+ "rawSql": "with _prs as(\n SELECT\n pr.id,\n pr.created_date
as pr_issued_date,\n -- convert null to 0 if a PR has no coding_time to make
sure cycle_time equals the sum of the four
sub-metrics\n\t\tcoalesce(prm.pr_coding_time/60,0) as coding_time\n FROM
pull_requests pr\n left join project_pr_metrics prm on pr.id = prm.id\n
join project_mapping pm on pr.base_repo_id = pm.row_id and pm.table = 'repos'
\n WHERE\n $__timeFilter(prm.pr_deployed_date)\n -- an [...]
"refId": "A",
"select": [
[
@@ -353,6 +357,7 @@
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
+ "percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
@@ -360,9 +365,11 @@
"fields": "",
"values": false
},
- "textMode": "auto"
+ "showPercentChange": false,
+ "textMode": "auto",
+ "wideLayout": true
},
- "pluginVersion": "9.5.15",
+ "pluginVersion": "11.2.0",
"targets": [
{
"datasource": "mysql",
@@ -372,7 +379,7 @@
"hide": false,
"metricColumn": "none",
"rawQuery": true,
- "rawSql": "with _prs as(\n SELECT\n pr.id,\n pr.created_date
as pr_issued_date,\n -- convert null to 0 if a PR has no pickup_time to make
sure cycle_time equals the sum of the four
sub-metrics\n\t\tcoalesce(prm.pr_pickup_time/60,0) as pickup_time\n FROM
pull_requests pr\n left join project_pr_metrics prm on pr.id = prm.id\n
join project_mapping pm on pr.base_repo_id = pm.row_id and pm.table = 'repos'
\n WHERE\n $__timeFilter(pr.created_date)\n and pr.cre [...]
+ "rawSql": "with _prs as(\n SELECT\n pr.id,\n pr.created_date
as pr_issued_date,\n -- convert null to 0 if a PR has no pickup_time to make
sure cycle_time equals the sum of the four
sub-metrics\n\t\tcoalesce(prm.pr_pickup_time/60,0) as pickup_time\n FROM
pull_requests pr\n left join project_pr_metrics prm on pr.id = prm.id\n
join project_mapping pm on pr.base_repo_id = pm.row_id and pm.table = 'repos'
\n WHERE\n $__timeFilter(prm.pr_deployed_date)\n -- an [...]
"refId": "A",
"select": [
[
@@ -489,6 +496,7 @@
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
+ "percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
@@ -496,9 +504,11 @@
"fields": "",
"values": false
},
- "textMode": "auto"
+ "showPercentChange": false,
+ "textMode": "auto",
+ "wideLayout": true
},
- "pluginVersion": "9.5.15",
+ "pluginVersion": "11.2.0",
"targets": [
{
"datasource": "mysql",
@@ -508,7 +518,7 @@
"hide": false,
"metricColumn": "none",
"rawQuery": true,
- "rawSql": "with _prs as(\n SELECT\n pr.id,\n pr.created_date
as pr_issued_date,\n -- convert null to 0 if a PR has no review_time to make
sure cycle_time equals the sum of the four
sub-metrics\n\t\tcoalesce(prm.pr_review_time/60,0) as review_time\n FROM
pull_requests pr\n left join project_pr_metrics prm on pr.id = prm.id\n
join project_mapping pm on pr.base_repo_id = pm.row_id and pm.table = 'repos'
\n WHERE\n $__timeFilter(pr.created_date)\n and pr.cre [...]
+ "rawSql": "with _prs as(\n SELECT\n pr.id,\n pr.created_date
as pr_issued_date,\n -- convert null to 0 if a PR has no review_time to make
sure cycle_time equals the sum of the four
sub-metrics\n\t\tcoalesce(prm.pr_review_time/60,0) as review_time\n FROM
pull_requests pr\n left join project_pr_metrics prm on pr.id = prm.id\n
join project_mapping pm on pr.base_repo_id = pm.row_id and pm.table = 'repos'
\n WHERE\n $__timeFilter(prm.pr_deployed_date)\n -- an [...]
"refId": "A",
"select": [
[
@@ -625,6 +635,7 @@
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
+ "percentChangeColorMode": "standard",
"reduceOptions": {
"calcs": [
"lastNotNull"
@@ -632,9 +643,11 @@
"fields": "",
"values": false
},
- "textMode": "auto"
+ "showPercentChange": false,
+ "textMode": "auto",
+ "wideLayout": true
},
- "pluginVersion": "9.5.15",
+ "pluginVersion": "11.2.0",
"targets": [
{
"datasource": "mysql",
@@ -644,7 +657,7 @@
"hide": false,
"metricColumn": "none",
"rawQuery": true,
- "rawSql": "with _prs as(\n SELECT\n pr.id,\n pr.created_date
as pr_issued_date,\n -- convert null to 0 if a PR has no deploy_time to make
sure cycle_time equals the sum of the four
sub-metrics\n\t\tcoalesce(prm.pr_deploy_time/60,0) as deploy_time\n FROM
pull_requests pr\n left join project_pr_metrics prm on pr.id = prm.id\n
join project_mapping pm on pr.base_repo_id = pm.row_id and pm.table = 'repos'
\n WHERE\n $__timeFilter(pr.created_date)\n and pr.cre [...]
+ "rawSql": "with _prs as(\n SELECT\n pr.id,\n pr.created_date
as pr_issued_date,\n -- convert null to 0 if a PR has no deploy_time to make
sure cycle_time equals the sum of the four
sub-metrics\n\t\tcoalesce(prm.pr_deploy_time/60,0) as deploy_time\n FROM
pull_requests pr\n left join project_pr_metrics prm on pr.id = prm.id\n
join project_mapping pm on pr.base_repo_id = pm.row_id and pm.table = 'repos'
\n WHERE\n $__timeFilter(prm.pr_deployed_date)\n -- an [...]
"refId": "A",
"select": [
[
@@ -796,7 +809,6 @@
"y": 9
},
"id": 70,
- "links": [],
"options": {
"cellHeight": "sm",
"footer": {
@@ -811,7 +823,7 @@
"showHeader": true,
"sortBy": []
},
- "pluginVersion": "9.5.15",
+ "pluginVersion": "11.2.0",
"targets": [
{
"datasource": "mysql",
@@ -867,8 +879,7 @@
}
],
"refresh": "",
- "schemaVersion": 38,
- "style": "dark",
+ "schemaVersion": 39,
"tags": [
"DORA"
],
@@ -877,11 +888,15 @@
{
"current": {
"selected": false,
- "text": "All",
- "value": "$__all"
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
},
"datasource": "mysql",
- "definition": "select distinct name from projects",
+ "definition": "select distinct name from projects",
"hide": 0,
"includeAll": true,
"label": "Project",
@@ -902,7 +917,7 @@
"value": "2023"
},
"datasource": "mysql",
- "definition": "select dora_report from dora_benchmarks",
+ "definition": "select dora_report from dora_benchmarks",
"hide": 0,
"includeAll": false,
"label": "DORA Report",
@@ -923,7 +938,7 @@
"value": "Failed Deployment Recovery Time"
},
"datasource": "mysql",
- "definition": "SELECT \n CASE \n WHEN dora_report =
'2023' THEN \"Failed Deployment Recovery Time\"\n WHEN dora_report = '2021'
THEN \"Median Time to Restore Service\"\n ELSE NULL \n END AS
title_value\nFROM dora_benchmarks\nWHERE dora_report = '${dora_report:raw}'",
+ "definition": "SELECT \n CASE \n WHEN dora_report = '2023' THEN
\"Failed Deployment Recovery Time\"\n WHEN dora_report = '2021' THEN
\"Median Time to Restore Service\"\n ELSE NULL \n END AS title_value\nFROM
dora_benchmarks\nWHERE dora_report = '${dora_report:raw}'",
"hide": 2,
"includeAll": false,
"label": "TitleValue",
@@ -947,6 +962,6 @@
"timezone": "utc",
"title": "DORA Details - Lead Time for Changes",
"uid": "Lead-time-for-changes",
- "version": 6,
+ "version": 7,
"weekStart": ""
}
\ No newline at end of file