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

abeizn pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git


The following commit(s) were added to refs/heads/main by this push:
     new 9251f6164 fix: SonarQube dashboard (#6739)
9251f6164 is described below

commit 9251f61641caa8009be495c6f8d95acfcefbacc2
Author: Louis.z <[email protected]>
AuthorDate: Thu Jan 4 19:06:05 2024 +0800

    fix: SonarQube dashboard (#6739)
    
    Co-authored-by: Startrekzky <[email protected]>
---
 grafana/dashboards/Sonarqube.json | 262 +++++++++++++++++++++++++++++---------
 1 file changed, 204 insertions(+), 58 deletions(-)

diff --git a/grafana/dashboards/Sonarqube.json 
b/grafana/dashboards/Sonarqube.json
index 48a0280a1..b9c8c2a6a 100644
--- a/grafana/dashboards/Sonarqube.json
+++ b/grafana/dashboards/Sonarqube.json
@@ -18,7 +18,7 @@
   "editable": true,
   "fiscalYearStartMonth": 0,
   "graphTooltip": 0,
-  "id": 33,
+  "id": 21,
   "links": [],
   "liveNow": false,
   "panels": [
@@ -28,7 +28,7 @@
         "uid": "grafana"
       },
       "gridPos": {
-        "h": 3,
+        "h": 4,
         "w": 13,
         "x": 0,
         "y": 0
@@ -40,7 +40,7 @@
           "showLineNumbers": false,
           "showMiniMap": false
         },
-        "content": "- Use Cases: This dashboard shows the code quality metrics 
from SonarQube.\n- Data Source Required: SonarQube v8.2+",
+        "content": "- Use Cases: This dashboard shows the code quality metrics 
from SonarQube.\n- Data Source Required: SonarQube v8.2+\n- This dashboard does 
not honor the time filter on the top-right side as SonarQube metrics are all 
from the latest scan.",
         "mode": "markdown"
       },
       "pluginVersion": "9.5.14",
@@ -66,7 +66,7 @@
         "h": 1,
         "w": 24,
         "x": 0,
-        "y": 3
+        "y": 4
       },
       "id": 16,
       "targets": [
@@ -113,7 +113,7 @@
         "h": 4,
         "w": 6,
         "x": 0,
-        "y": 4
+        "y": 5
       },
       "id": 2,
       "options": {
@@ -141,7 +141,7 @@
           "metricColumn": "none",
           "queryType": "randomWalk",
           "rawQuery": true,
-          "rawSql": "SELECT\n  count(*) as 'Bugs'\nFROM cq_issues\nWHERE\n  
$__timeFilter(created_date)\n  and project_key in ($project_id)\n  and `type` = 
'BUG'\nORDER BY created_date",
+          "rawSql": "SELECT\n  count(*) as 'Bugs'\nFROM cq_issues\nWHERE\n  
project_key in ($project_id)\n  and type = 'BUG'\n  and severity in 
($severity)\n  ",
           "refId": "A",
           "select": [
             [
@@ -153,6 +153,23 @@
               }
             ]
           ],
+          "sql": {
+            "columns": [
+              {
+                "parameters": [],
+                "type": "function"
+              }
+            ],
+            "groupBy": [
+              {
+                "property": {
+                  "type": "string"
+                },
+                "type": "groupBy"
+              }
+            ],
+            "limit": 50
+          },
           "table": "_devlake_blueprint_labels",
           "timeColumn": "created_at",
           "timeColumnType": "timestamp",
@@ -200,7 +217,7 @@
         "h": 4,
         "w": 6,
         "x": 6,
-        "y": 4
+        "y": 5
       },
       "id": 3,
       "options": {
@@ -228,7 +245,7 @@
           "metricColumn": "none",
           "queryType": "randomWalk",
           "rawQuery": true,
-          "rawSql": "SELECT\n  count(*) as 'Vulnerabilities'\nFROM 
cq_issues\nWHERE\n  $__timeFilter(created_date)\n  and project_key in 
($project_id)\n  and `type` = 'VULNERABILITY'\nORDER BY created_date",
+          "rawSql": "SELECT\n  count(*) as 'Vulnerabilities'\nFROM 
cq_issues\nWHERE\n  project_key in ($project_id)\n  and type = 
'VULNERABILITY'\n  and severity in ($severity)",
           "refId": "A",
           "select": [
             [
@@ -240,6 +257,23 @@
               }
             ]
           ],
+          "sql": {
+            "columns": [
+              {
+                "parameters": [],
+                "type": "function"
+              }
+            ],
+            "groupBy": [
+              {
+                "property": {
+                  "type": "string"
+                },
+                "type": "groupBy"
+              }
+            ],
+            "limit": 50
+          },
           "table": "_devlake_blueprint_labels",
           "timeColumn": "created_at",
           "timeColumnType": "timestamp",
@@ -279,7 +313,8 @@
                 "value": 80
               }
             ]
-          }
+          },
+          "unit": "hotspots"
         },
         "overrides": []
       },
@@ -287,7 +322,7 @@
         "h": 4,
         "w": 6,
         "x": 12,
-        "y": 4
+        "y": 5
       },
       "id": 4,
       "options": {
@@ -315,7 +350,7 @@
           "metricColumn": "none",
           "queryType": "randomWalk",
           "rawQuery": true,
-          "rawSql": "SELECT\n  COUNT(IF(status = 'TO_REVIEW', 1, NULL)) AS 
'Security Hotspots'\nFROM cq_issues\nWHERE\n  $__timeFilter(created_date)\n  
and project_key in ($project_id)\n  and `type` = 'HOTSPOTS'\nORDER BY 
created_date",
+          "rawSql": "SELECT\n  COUNT(*) AS 'Security Hotspots'\nFROM 
cq_issues\nWHERE\n  project_key in ($project_id)\n  and type = 'HOTSPOTS'\n  
and severity in ($severity)\n",
           "refId": "A",
           "select": [
             [
@@ -327,6 +362,23 @@
               }
             ]
           ],
+          "sql": {
+            "columns": [
+              {
+                "parameters": [],
+                "type": "function"
+              }
+            ],
+            "groupBy": [
+              {
+                "property": {
+                  "type": "string"
+                },
+                "type": "groupBy"
+              }
+            ],
+            "limit": 50
+          },
           "table": "_devlake_blueprint_labels",
           "timeColumn": "created_at",
           "timeColumnType": "timestamp",
@@ -374,7 +426,7 @@
         "h": 4,
         "w": 6,
         "x": 18,
-        "y": 4
+        "y": 5
       },
       "id": 13,
       "options": {
@@ -402,7 +454,7 @@
           "metricColumn": "none",
           "queryType": "randomWalk",
           "rawQuery": true,
-          "rawSql": "SELECT\n  CONCAT(ROUND(COUNT(IF(status != 'TO_REVIEW', 1, 
NULL)) / COUNT(*) * 100, 2), '%') AS 'Reviewed'\nFROM cq_issues\nWHERE\n  
$__timeFilter(created_date)\n  and project_key in ($project_id)\n  and `type` = 
'HOTSPOTS'\nORDER BY created_date",
+          "rawSql": "SELECT\n  CONCAT(ROUND(COUNT(IF(status != 'TO_REVIEW', 1, 
NULL)) / COUNT(*) * 100, 2), '%') AS 'Reviewed'\nFROM cq_issues\nWHERE\n  
project_key in ($project_id)\n  and type = 'HOTSPOTS'\n  and severity in 
($severity)",
           "refId": "A",
           "select": [
             [
@@ -414,6 +466,23 @@
               }
             ]
           ],
+          "sql": {
+            "columns": [
+              {
+                "parameters": [],
+                "type": "function"
+              }
+            ],
+            "groupBy": [
+              {
+                "property": {
+                  "type": "string"
+                },
+                "type": "groupBy"
+              }
+            ],
+            "limit": 50
+          },
           "table": "_devlake_blueprint_labels",
           "timeColumn": "created_at",
           "timeColumnType": "timestamp",
@@ -439,7 +508,7 @@
         "h": 1,
         "w": 24,
         "x": 0,
-        "y": 8
+        "y": 9
       },
       "id": 12,
       "panels": [],
@@ -487,7 +556,7 @@
         "h": 5,
         "w": 6,
         "x": 0,
-        "y": 9
+        "y": 10
       },
       "id": 8,
       "options": {
@@ -527,6 +596,23 @@
               }
             ]
           ],
+          "sql": {
+            "columns": [
+              {
+                "parameters": [],
+                "type": "function"
+              }
+            ],
+            "groupBy": [
+              {
+                "property": {
+                  "type": "string"
+                },
+                "type": "groupBy"
+              }
+            ],
+            "limit": 50
+          },
           "table": "_devlake_blueprint_labels",
           "timeColumn": "created_at",
           "timeColumnType": "timestamp",
@@ -567,7 +653,7 @@
               }
             ]
           },
-          "unit": "none"
+          "unit": "string"
         },
         "overrides": []
       },
@@ -575,7 +661,7 @@
         "h": 5,
         "w": 6,
         "x": 6,
-        "y": 9
+        "y": 10
       },
       "id": 7,
       "options": {
@@ -603,7 +689,7 @@
           "metricColumn": "none",
           "queryType": "randomWalk",
           "rawQuery": true,
-          "rawSql": "SELECT\n  CONCAT(ROUND(SUM(debt) / (8 * 60), 0), ' days') 
AS 'Debt'\nFROM cq_issues\nWHERE\n  $__timeFilter(created_date)\n  and 
project_key in ($project_id)",
+          "rawSql": "SELECT\n  concat(FLOOR(SUM(debt)/8/60), \" day(s) \", 
FLOOR((SUM(debt)%480)/60), \" hour(s) \") AS 'Debt'\nFROM cq_issues\nWHERE\n  
project_key in ($project_id)\n  and type = 'CODE_SMELL'\n  and severity in 
($severity)\n  ",
           "refId": "A",
           "select": [
             [
@@ -615,6 +701,23 @@
               }
             ]
           ],
+          "sql": {
+            "columns": [
+              {
+                "parameters": [],
+                "type": "function"
+              }
+            ],
+            "groupBy": [
+              {
+                "property": {
+                  "type": "string"
+                },
+                "type": "groupBy"
+              }
+            ],
+            "limit": 50
+          },
           "table": "_devlake_blueprint_labels",
           "timeColumn": "created_at",
           "timeColumnType": "timestamp",
@@ -655,7 +758,7 @@
               }
             ]
           },
-          "unit": "none"
+          "unit": "code smells"
         },
         "overrides": []
       },
@@ -663,7 +766,7 @@
         "h": 5,
         "w": 6,
         "x": 12,
-        "y": 9
+        "y": 10
       },
       "id": 14,
       "options": {
@@ -691,7 +794,7 @@
           "metricColumn": "none",
           "queryType": "randomWalk",
           "rawQuery": true,
-          "rawSql": "SELECT\n\tCOUNT(if(type = 'CODE_SMELL', 1, null)) as 
'Code Smells'\nFROM cq_issues\nWHERE\n  $__timeFilter(created_date)\n  and 
project_key in ($project_id)",
+          "rawSql": "SELECT\n\tCOUNT(*) as 'Code Smells'\nFROM 
cq_issues\nWHERE\n  project_key in ($project_id)\n  and type = 'CODE_SMELL'\n  
and severity in ($severity)",
           "refId": "A",
           "select": [
             [
@@ -703,6 +806,23 @@
               }
             ]
           ],
+          "sql": {
+            "columns": [
+              {
+                "parameters": [],
+                "type": "function"
+              }
+            ],
+            "groupBy": [
+              {
+                "property": {
+                  "type": "string"
+                },
+                "type": "groupBy"
+              }
+            ],
+            "limit": 50
+          },
           "table": "_devlake_blueprint_labels",
           "timeColumn": "created_at",
           "timeColumnType": "timestamp",
@@ -728,7 +848,7 @@
         "h": 1,
         "w": 24,
         "x": 0,
-        "y": 14
+        "y": 15
       },
       "id": 6,
       "panels": [],
@@ -776,7 +896,7 @@
         "h": 5,
         "w": 6,
         "x": 0,
-        "y": 15
+        "y": 16
       },
       "id": 10,
       "options": {
@@ -816,6 +936,23 @@
               }
             ]
           ],
+          "sql": {
+            "columns": [
+              {
+                "parameters": [],
+                "type": "function"
+              }
+            ],
+            "groupBy": [
+              {
+                "property": {
+                  "type": "string"
+                },
+                "type": "groupBy"
+              }
+            ],
+            "limit": 50
+          },
           "table": "_devlake_blueprint_labels",
           "timeColumn": "created_at",
           "timeColumnType": "timestamp",
@@ -863,7 +1000,7 @@
         "h": 5,
         "w": 6,
         "x": 6,
-        "y": 15
+        "y": 16
       },
       "id": 9,
       "options": {
@@ -955,10 +1092,10 @@
         "overrides": []
       },
       "gridPos": {
-        "h": 6,
+        "h": 9,
         "w": 24,
         "x": 0,
-        "y": 20
+        "y": 21
       },
       "id": 17,
       "options": {
@@ -983,7 +1120,7 @@
           "metricColumn": "none",
           "queryType": "randomWalk",
           "rawQuery": true,
-          "rawSql": "SELECT\n\tfile_name, num_of_lines as 'Lines of Code', 
bugs as 'Bugs', vulnerabilities as 'Vulnerabilities', code_smells as 'Code 
Smells', \n\tsecurity_hotspots as 'Security Hotspots', CONCAT(ROUND(coverage, 
2), '%') as 'Coverage', CONCAT(ROUND(duplicated_lines_density, 2), '%') as 
'Duplications'\nFROM cq_file_metrics\nWHERE\n  project_key in ($project_id)\n  
order by bugs\nlimit $rows",
+          "rawSql": "SELECT\n\tfile_name, num_of_lines as 'Lines of Code', 
bugs as 'Bugs', vulnerabilities as 'Vulnerabilities', code_smells as 'Code 
Smells', \n\tsecurity_hotspots as 'Security Hotspots', CONCAT(ROUND(coverage, 
2), '%') as 'Coverage', CONCAT(ROUND(duplicated_lines_density, 2), '%') as 
'Duplications'\nFROM cq_file_metrics\nWHERE\n  project_key in 
($project_id)\nORDER BY bugs desc\nlimit 20",
           "refId": "A",
           "select": [
             [
@@ -995,6 +1132,23 @@
               }
             ]
           ],
+          "sql": {
+            "columns": [
+              {
+                "parameters": [],
+                "type": "function"
+              }
+            ],
+            "groupBy": [
+              {
+                "property": {
+                  "type": "string"
+                },
+                "type": "groupBy"
+              }
+            ],
+            "limit": 50
+          },
           "table": "_devlake_blueprint_labels",
           "timeColumn": "created_at",
           "timeColumnType": "timestamp",
@@ -1007,7 +1161,7 @@
           ]
         }
       ],
-      "title": "Code Quality Metrics by Files",
+      "title": "Code Quality Metrics by Files (Top 20 order by Bugs)",
       "type": "table"
     }
   ],
@@ -1033,7 +1187,7 @@
         "definition": "select concat(name, '--', id) as text from cq_projects",
         "hide": 0,
         "includeAll": true,
-        "label": "Choose Project",
+        "label": "SonarQube Project",
         "multi": true,
         "name": "project_id",
         "options": [],
@@ -1046,47 +1200,39 @@
       },
       {
         "current": {
-          "selected": false,
-          "text": "20",
-          "value": "20"
+          "selected": true,
+          "text": [
+            "All"
+          ],
+          "value": [
+            "$__all"
+          ]
         },
+        "datasource": "mysql",
+        "definition": "select distinct severity from cq_issues where id like 
'sonar%'",
         "hide": 0,
-        "includeAll": false,
-        "label": "rows",
-        "multi": false,
-        "name": "rows",
-        "options": [
-          {
-            "selected": true,
-            "text": "20",
-            "value": "20"
-          },
-          {
-            "selected": false,
-            "text": "50",
-            "value": "50"
-          },
-          {
-            "selected": false,
-            "text": "100",
-            "value": "100"
-          }
-        ],
-        "query": "20,50,100",
-        "queryValue": "",
+        "includeAll": true,
+        "label": "Severity",
+        "multi": true,
+        "name": "severity",
+        "options": [],
+        "query": "select distinct severity from cq_issues where id like 
'sonar%'",
+        "refresh": 1,
+        "regex": "",
         "skipUrlSync": false,
-        "type": "custom"
+        "sort": 0,
+        "type": "query"
       }
     ]
   },
   "time": {
-    "from": "now-10y",
+    "from": "now",
     "to": "now"
   },
   "timepicker": {},
   "timezone": "",
   "title": "SonarQube",
   "uid": "WA0qbuJ4k",
-  "version": 2,
+  "version": 7,
   "weekStart": ""
 }
\ No newline at end of file

Reply via email to