This is an automated email from the ASF dual-hosted git repository.

abeizn 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 4cdd754f1 feat: fix CircleCI dashboard SQLs and wording (#7673) (#7676)
4cdd754f1 is described below

commit 4cdd754f16035f4e3ac651b876c8c02428c9d4b3
Author: Louis.z <[email protected]>
AuthorDate: Thu Jun 27 13:37:46 2024 +0800

    feat: fix CircleCI dashboard SQLs and wording (#7673) (#7676)
    
    Co-authored-by: Startrekzky <[email protected]>
---
 grafana/dashboards/CircleCI.json | 110 ++++++++++++++++++++++++++++++++-------
 1 file changed, 90 insertions(+), 20 deletions(-)

diff --git a/grafana/dashboards/CircleCI.json b/grafana/dashboards/CircleCI.json
index 90ba846f8..69847b9f5 100644
--- a/grafana/dashboards/CircleCI.json
+++ b/grafana/dashboards/CircleCI.json
@@ -18,7 +18,7 @@
   "editable": true,
   "fiscalYearStartMonth": 0,
   "graphTooltip": 0,
-  "id": 24,
+  "id": 27,
   "links": [],
   "liveNow": false,
   "panels": [
@@ -50,7 +50,7 @@
         "content": "- Use Cases: This dashboard shows the basic CI/CD metrics 
from CircleCI, such as [Build 
Count](https://devlake.apache.org/docs/Metrics/BuildCount), [Build 
Duration](https://devlake.apache.org/docs/Metrics/BuildDuration) and [Build 
Success Rate](https://devlake.apache.org/docs/Metrics/BuildSuccessRate).\n- 
Data Source Required: CircleCI",
         "mode": "markdown"
       },
-      "pluginVersion": "9.5.15",
+      "pluginVersion": "11.0.0",
       "targets": [
         {
           "datasource": {
@@ -108,10 +108,12 @@
           "fields": "",
           "values": false
         },
+        "showPercentChange": false,
         "text": {},
-        "textMode": "auto"
+        "textMode": "auto",
+        "wideLayout": true
       },
-      "pluginVersion": "9.5.15",
+      "pluginVersion": "11.0.0",
       "targets": [
         {
           "datasource": "mysql",
@@ -120,7 +122,7 @@
           "group": [],
           "metricColumn": "none",
           "rawQuery": true,
-          "rawSql": "SELECT\n  count(distinct id)\nFROM \n  
cicd_pipelines\nWHERE\n  $__timeFilter(finished_date)\n  and result = 
'SUCCESS'\n  and id like \"%circleci%\"\n  and cicd_scope_id in 
(${full_name})\n  -- the following condition will remove the month with 
incomplete data\n  and finished_date >= DATE_ADD(DATE_ADD($__timeFrom(), 
INTERVAL -DAY($__timeFrom())+1 DAY), INTERVAL +1 MONTH)",
+          "rawSql": "SELECT\n  count(distinct id)\nFROM \n  
cicd_pipelines\nWHERE\n  $__timeFilter(finished_date)\n  and result = 
'SUCCESS'\n  and id like \"%circleci%\"\n  and cicd_scope_id in (${full_name})",
           "refId": "A",
           "select": [
             [
@@ -211,10 +213,12 @@
           "fields": "",
           "values": false
         },
+        "showPercentChange": false,
         "text": {},
-        "textMode": "auto"
+        "textMode": "auto",
+        "wideLayout": true
       },
-      "pluginVersion": "9.5.15",
+      "pluginVersion": "11.0.0",
       "targets": [
         {
           "datasource": "mysql",
@@ -223,7 +227,7 @@
           "group": [],
           "metricColumn": "none",
           "rawQuery": true,
-          "rawSql": "SELECT\n  1.0 * count(case when result = 'SUCCESS' then 
id else null end)/count(distinct id)\nFROM cicd_pipelines\nWHERE\n  
$__timeFilter(finished_date)\n  and id like \"%circleci%\"\n  and cicd_scope_id 
in (${full_name})\n  -- the following condition will remove the month with 
incomplete data\n  and finished_date >= DATE_ADD(DATE_ADD($__timeFrom(), 
INTERVAL -DAY($__timeFrom())+1 DAY), INTERVAL +1 MONTH)",
+          "rawSql": "SELECT\n  1.0 * count(case when result = 'SUCCESS' then 
id else null end)/count(distinct id)\nFROM cicd_pipelines\nWHERE\n  
$__timeFilter(finished_date)\n  and id like \"%circleci%\"\n  and cicd_scope_id 
in (${full_name})",
           "refId": "A",
           "select": [
             [
@@ -397,6 +401,7 @@
           "values": true
         },
         "tooltip": {
+          "maxHeight": 600,
           "mode": "single",
           "sort": "none"
         }
@@ -410,7 +415,7 @@
           "group": [],
           "metricColumn": "none",
           "rawQuery": true,
-          "rawSql": "SELECT\n  result,\n  count(distinct id) as 
build_count\nFROM cicd_pipelines\nWHERE\n  $__timeFilter(finished_date)\n  and 
id like \"%circleci%\"\n  and cicd_scope_id in (${full_name})\n  -- the 
following condition will remove the month with incomplete data\n  and 
finished_date >= DATE_ADD(DATE_ADD($__timeFrom(), INTERVAL 
-DAY($__timeFrom())+1 DAY), INTERVAL +1 MONTH)\nGROUP BY 1\nORDER BY 2 desc",
+          "rawSql": "SELECT\n  result,\n  count(distinct id) as 
build_count\nFROM cicd_pipelines\nWHERE\n  $__timeFilter(finished_date)\n  and 
id like \"%circleci%\"\n  and cicd_scope_id in (${full_name})\nGROUP BY 
1\nORDER BY 2 desc",
           "refId": "A",
           "select": [
             [
@@ -499,18 +504,21 @@
           "fields": "",
           "values": false
         },
+        "showPercentChange": false,
         "text": {},
-        "textMode": "auto"
+        "textMode": "auto",
+        "wideLayout": true
       },
-      "pluginVersion": "9.5.15",
+      "pluginVersion": "11.0.0",
       "targets": [
         {
           "datasource": "mysql",
+          "editorMode": "code",
           "format": "table",
           "group": [],
           "metricColumn": "none",
           "rawQuery": true,
-          "rawSql": "SELECT\n  avg(duration_sec/60) as 
duration_in_minutes\nFROM cicd_pipelines\nWHERE\n  
$__timeFilter(finished_date)\n  and id like \"%circleci%\"\n  and cicd_scope_id 
in (${full_name})\n  -- the following condition will remove the month with 
incomplete data\n  and finished_date >= DATE_ADD(DATE_ADD($__timeFrom(), 
INTERVAL -DAY($__timeFrom())+1 DAY), INTERVAL +1 MONTH)",
+          "rawSql": "SELECT\n  avg(duration_sec/60) as 
duration_in_minutes\nFROM cicd_pipelines\nWHERE\n  
$__timeFilter(finished_date)\n  and id like \"%circleci%\"\n  and cicd_scope_id 
in (${full_name})",
           "refId": "A",
           "select": [
             [
@@ -522,6 +530,23 @@
               }
             ]
           ],
+          "sql": {
+            "columns": [
+              {
+                "parameters": [],
+                "type": "function"
+              }
+            ],
+            "groupBy": [
+              {
+                "property": {
+                  "type": "string"
+                },
+                "type": "groupBy"
+              }
+            ],
+            "limit": 50
+          },
           "table": "gitlab_commits",
           "timeColumn": "created_at",
           "timeColumnType": "timestamp",
@@ -546,6 +571,7 @@
             "mode": "palette-classic"
           },
           "custom": {
+            "axisBorderShow": false,
             "axisCenteredZero": false,
             "axisColorMode": "text",
             "axisLabel": "Build Count",
@@ -615,6 +641,7 @@
           "valueSize": 12
         },
         "tooltip": {
+          "maxHeight": 600,
           "mode": "single",
           "sort": "none"
         },
@@ -631,7 +658,7 @@
           "hide": false,
           "metricColumn": "none",
           "rawQuery": true,
-          "rawSql": "WITH _builds as(\n  SELECT\n    
DATE_ADD(date(finished_date), INTERVAL -DAYOFMONTH(date(finished_date))+1 DAY) 
as time,\n    count(distinct id) as build_count\n  FROM cicd_pipelines\n  
WHERE\n    $__timeFilter(finished_date)\n    and result = 'SUCCESS'\n    and id 
like \"%circleci%\"\n    and cicd_scope_id in (${full_name})\n    -- the 
following condition will remove the month with incomplete data\n    and 
finished_date >= DATE_ADD(DATE_ADD($__timeFrom(), INTERVAL -D [...]
+          "rawSql": "WITH _builds as(\n  SELECT\n    
DATE_ADD(date(finished_date), INTERVAL -DAYOFMONTH(date(finished_date))+1 DAY) 
as time,\n    count(distinct id) as build_count\n  FROM cicd_pipelines\n  
WHERE\n    $__timeFilter(finished_date)\n    and result = 'SUCCESS'\n    and id 
like \"%circleci%\"\n    and cicd_scope_id in (${full_name})\n  GROUP BY 
1\n)\n\nSELECT \n  date_format(time,'%M %Y') as month,\n  build_count as 
\"Workflow Count\"\nFROM _builds\nORDER BY time\n",
           "refId": "A",
           "select": [
             [
@@ -684,6 +711,7 @@
             "mode": "palette-classic"
           },
           "custom": {
+            "axisBorderShow": false,
             "axisCenteredZero": false,
             "axisColorMode": "text",
             "axisLabel": "Workflow Success Rate(%)",
@@ -773,6 +801,7 @@
           "valueSize": 12
         },
         "tooltip": {
+          "maxHeight": 600,
           "mode": "single",
           "sort": "none"
         },
@@ -788,7 +817,7 @@
           "group": [],
           "metricColumn": "none",
           "rawQuery": true,
-          "rawSql": "WITH _build_success_rate as(\r\n  SELECT\r\n    
DATE_ADD(date(finished_date), INTERVAL -DAYOFMONTH(date(finished_date))+1 DAY) 
as time,\r\n    result,\r\n    id\r\n  FROM\r\n    cicd_pipelines\r\n  
WHERE\r\n    $__timeFilter(finished_date)\r\n    and id like \"%circleci%\"\r\n 
   and cicd_scope_id in (${full_name})\r\n    -- the following condition will 
remove the month with incomplete data\r\n    and finished_date >= 
DATE_ADD(DATE_ADD($__timeFrom(), INTERVAL -DAY($_ [...]
+          "rawSql": "WITH _build_success_rate as(\r\n  SELECT\r\n    
DATE_ADD(date(finished_date), INTERVAL -DAYOFMONTH(date(finished_date))+1 DAY) 
as time,\r\n    result,\r\n    id\r\n  FROM\r\n    cicd_pipelines\r\n  
WHERE\r\n    $__timeFilter(finished_date)\r\n    and id like \"%circleci%\"\r\n 
   and cicd_scope_id in (${full_name})\r\n  GROUP BY\r\n    time, result, 
id\r\n)\r\n\r\nSELECT \r\n  date_format(time,'%M %Y') as month,\r\n  1.0 * 
sum(case when result = 'SUCCESS' then 1 else [...]
           "refId": "A",
           "select": [
             [
@@ -841,6 +870,7 @@
             "mode": "fixed"
           },
           "custom": {
+            "axisBorderShow": false,
             "axisCenteredZero": false,
             "axisColorMode": "text",
             "axisLabel": "Build Count",
@@ -854,6 +884,7 @@
               "tooltip": false,
               "viz": false
             },
+            "insertNulls": false,
             "lineInterpolation": "linear",
             "lineWidth": 1,
             "pointSize": 4,
@@ -942,6 +973,7 @@
           "showLegend": true
         },
         "tooltip": {
+          "maxHeight": 600,
           "mode": "multi",
           "sort": "none"
         }
@@ -950,12 +982,13 @@
       "targets": [
         {
           "datasource": "mysql",
+          "editorMode": "code",
           "format": "time_series",
           "group": [],
           "hide": false,
           "metricColumn": "none",
           "rawQuery": true,
-          "rawSql": "SELECT\n  DATE_ADD(date(finished_date), INTERVAL 
-DAYOFMONTH(date(finished_date))+1 DAY) as time,\n  count(distinct case when 
result = 'SUCCESS' then id else null end) as successful_build_count,\n  
count(distinct case when result != 'SUCCESS' then id else null end) as 
failed_build_count\nFROM cicd_pipelines\nWHERE\n  
$__timeFilter(finished_date)\n  and id like \"%circleci%\"\n  and cicd_scope_id 
in (${full_name})\n  -- the following condition will remove the month wi [...]
+          "rawSql": "SELECT\n  DATE_ADD(date(finished_date), INTERVAL 
-DAYOFMONTH(date(finished_date))+1 DAY) as time,\n  count(distinct case when 
result = 'SUCCESS' then id else null end) as successful_workflow_count,\n  
count(distinct case when result != 'SUCCESS' then id else null end) as 
failed_workflow_count\nFROM cicd_pipelines\nWHERE\n  
$__timeFilter(finished_date)\n  and id like \"%circleci%\"\n  and cicd_scope_id 
in (${full_name})\nGROUP BY 1",
           "refId": "A",
           "select": [
             [
@@ -967,6 +1000,23 @@
               }
             ]
           ],
+          "sql": {
+            "columns": [
+              {
+                "parameters": [],
+                "type": "function"
+              }
+            ],
+            "groupBy": [
+              {
+                "property": {
+                  "type": "string"
+                },
+                "type": "groupBy"
+              }
+            ],
+            "limit": 50
+          },
           "table": "ae_projects",
           "timeColumn": "ae_create_time",
           "timeColumnType": "timestamp",
@@ -991,6 +1041,7 @@
             "mode": "palette-classic"
           },
           "custom": {
+            "axisBorderShow": false,
             "axisCenteredZero": false,
             "axisColorMode": "text",
             "axisLabel": "Build Count",
@@ -1076,6 +1127,7 @@
           "valueSize": 12
         },
         "tooltip": {
+          "maxHeight": 600,
           "mode": "single",
           "sort": "none"
         },
@@ -1086,12 +1138,13 @@
       "targets": [
         {
           "datasource": "mysql",
+          "editorMode": "code",
           "format": "table",
           "group": [],
           "hide": false,
           "metricColumn": "none",
           "rawQuery": true,
-          "rawSql": "WITH _builds as(\n  SELECT\n    
DATE_ADD(date(finished_date), INTERVAL -DAYOFMONTH(date(finished_date))+1 DAY) 
as time,\n    avg(duration_sec) as mean_duration_sec\n  FROM \n    
cicd_pipelines\n  WHERE\n    $__timeFilter(finished_date)\n    and id like 
\"%circleci%\"\n    and cicd_scope_id in (${full_name})\n    -- the following 
condition will remove the month with incomplete data\n    and finished_date >= 
DATE_ADD(DATE_ADD($__timeFrom(), INTERVAL -DAY($__timeFrom()) [...]
+          "rawSql": "WITH _builds as(\n  SELECT\n    
DATE_ADD(date(finished_date), INTERVAL -DAYOFMONTH(date(finished_date))+1 DAY) 
as time,\n    avg(duration_sec) as mean_duration_sec\n  FROM \n    
cicd_pipelines\n  WHERE\n    $__timeFilter(finished_date)\n    and id like 
\"%circleci%\"\n    and cicd_scope_id in (${full_name})\n  GROUP BY 
1\n)\n\nSELECT \n  date_format(time,'%M %Y') as month,\n  mean_duration_sec/60 
as mean_duration_minutes\nFROM _builds\nORDER BY time\n",
           "refId": "A",
           "select": [
             [
@@ -1103,6 +1156,23 @@
               }
             ]
           ],
+          "sql": {
+            "columns": [
+              {
+                "parameters": [],
+                "type": "function"
+              }
+            ],
+            "groupBy": [
+              {
+                "property": {
+                  "type": "string"
+                },
+                "type": "groupBy"
+              }
+            ],
+            "limit": 50
+          },
           "table": "ae_projects",
           "timeColumn": "ae_create_time",
           "timeColumnType": "timestamp",
@@ -1139,7 +1209,7 @@
         "content": "<br/>\n\nThis dashboard is created based on this [data 
schema](https://devlake.apache.org/docs/DataModels/DevLakeDomainLayerSchema). 
Want to add more metrics? Please follow the 
[guide](https://devlake.apache.org/docs/Configuration/Dashboards/GrafanaUserGuide).",
         "mode": "markdown"
       },
-      "pluginVersion": "9.5.15",
+      "pluginVersion": "11.0.0",
       "targets": [
         {
           "datasource": {
@@ -1154,8 +1224,7 @@
     }
   ],
   "refresh": "",
-  "schemaVersion": 38,
-  "style": "dark",
+  "schemaVersion": 39,
   "tags": [
     "Data Source Dashboard"
   ],
@@ -1192,10 +1261,11 @@
     "from": "now-6M",
     "to": "now"
   },
+  "timeRangeUpdatedDuringEditOrView": false,
   "timepicker": {},
   "timezone": "",
   "title": "CircleCI",
   "uid": "CircleCI",
-  "version": 2,
+  "version": 3,
   "weekStart": ""
 }
\ No newline at end of file

Reply via email to