|
39 | 39 | "type": "row" |
40 | 40 | }, |
41 | 41 | { |
42 | | - "datasource": "mysql", |
| 42 | + "datasource": { "type": "mysql", "uid": "mysql" }, |
43 | 43 | "fieldConfig": { |
44 | 44 | "defaults": { |
45 | 45 | "color": { "mode": "thresholds" }, |
46 | 46 | "mappings": [], |
47 | | - "thresholds": { "mode": "absolute", "steps": [{ "color": "blue", "value": null }] } |
| 47 | + "thresholds": { |
| 48 | + "mode": "absolute", |
| 49 | + "steps": [{ "color": "blue", "value": null }] |
| 50 | + } |
48 | 51 | }, |
49 | 52 | "overrides": [] |
50 | 53 | }, |
|
58 | 61 | }, |
59 | 62 | "targets": [ |
60 | 63 | { |
61 | | - "datasource": "mysql", |
| 64 | + "datasource": { "type": "mysql", "uid": "mysql" }, |
62 | 65 | "format": "table", |
63 | 66 | "rawQuery": true, |
64 | 67 | "rawSql": "SELECT ROUND(SUM(credits_used)) AS 'Total Credits'\nFROM _tool_q_dev_user_report WHERE $__timeFilter(date)", |
|
69 | 72 | "type": "stat" |
70 | 73 | }, |
71 | 74 | { |
72 | | - "datasource": "mysql", |
| 75 | + "datasource": { "type": "mysql", "uid": "mysql" }, |
73 | 76 | "fieldConfig": { |
74 | 77 | "defaults": { |
75 | 78 | "color": { "mode": "thresholds" }, |
76 | 79 | "mappings": [], |
77 | | - "thresholds": { "mode": "absolute", "steps": [{ "color": "green", "value": null }] } |
| 80 | + "thresholds": { |
| 81 | + "mode": "absolute", |
| 82 | + "steps": [{ "color": "green", "value": null }] |
| 83 | + } |
78 | 84 | }, |
79 | 85 | "overrides": [] |
80 | 86 | }, |
|
88 | 94 | }, |
89 | 95 | "targets": [ |
90 | 96 | { |
91 | | - "datasource": "mysql", |
| 97 | + "datasource": { "type": "mysql", "uid": "mysql" }, |
92 | 98 | "format": "table", |
93 | 99 | "rawQuery": true, |
94 | 100 | "rawSql": "SELECT ROUND(SUM(r.credits_used) / NULLIF(COUNT(DISTINCT pr.id), 0), 1) AS 'Credits / PR'\nFROM _tool_q_dev_user_report r\nCROSS JOIN (\n SELECT DISTINCT id FROM pull_requests\n WHERE merged_date IS NOT NULL AND $__timeFilter(merged_date)\n) pr\nWHERE $__timeFilter(r.date)", |
|
99 | 105 | "type": "stat" |
100 | 106 | }, |
101 | 107 | { |
102 | | - "datasource": "mysql", |
| 108 | + "datasource": { "type": "mysql", "uid": "mysql" }, |
103 | 109 | "fieldConfig": { |
104 | 110 | "defaults": { |
105 | 111 | "color": { "mode": "thresholds" }, |
106 | 112 | "mappings": [], |
107 | | - "thresholds": { "mode": "absolute", "steps": [{ "color": "green", "value": null }] } |
| 113 | + "thresholds": { |
| 114 | + "mode": "absolute", |
| 115 | + "steps": [{ "color": "green", "value": null }] |
| 116 | + } |
108 | 117 | }, |
109 | 118 | "overrides": [] |
110 | 119 | }, |
|
118 | 127 | }, |
119 | 128 | "targets": [ |
120 | 129 | { |
121 | | - "datasource": "mysql", |
| 130 | + "datasource": { "type": "mysql", "uid": "mysql" }, |
122 | 131 | "format": "table", |
123 | 132 | "rawQuery": true, |
124 | 133 | "rawSql": "SELECT ROUND(SUM(r.credits_used) / NULLIF(COUNT(DISTINCT cdc.cicd_deployment_id), 0), 1) AS 'Credits / Deploy'\nFROM _tool_q_dev_user_report r\nCROSS JOIN (\n SELECT DISTINCT cicd_deployment_id\n FROM cicd_deployment_commits\n WHERE result = 'SUCCESS' AND environment = 'PRODUCTION'\n AND $__timeFilter(finished_date)\n) cdc\nWHERE $__timeFilter(r.date)", |
|
129 | 138 | "type": "stat" |
130 | 139 | }, |
131 | 140 | { |
132 | | - "datasource": "mysql", |
| 141 | + "datasource": { "type": "mysql", "uid": "mysql" }, |
133 | 142 | "fieldConfig": { |
134 | 143 | "defaults": { |
135 | 144 | "color": { "mode": "thresholds" }, |
136 | 145 | "mappings": [], |
137 | | - "thresholds": { "mode": "absolute", "steps": [{ "color": "green", "value": null }] } |
| 146 | + "thresholds": { |
| 147 | + "mode": "absolute", |
| 148 | + "steps": [{ "color": "green", "value": null }] |
| 149 | + } |
138 | 150 | }, |
139 | 151 | "overrides": [] |
140 | 152 | }, |
|
148 | 160 | }, |
149 | 161 | "targets": [ |
150 | 162 | { |
151 | | - "datasource": "mysql", |
| 163 | + "datasource": { "type": "mysql", "uid": "mysql" }, |
152 | 164 | "format": "table", |
153 | 165 | "rawQuery": true, |
154 | 166 | "rawSql": "SELECT ROUND(SUM(r.credits_used) / NULLIF(COUNT(DISTINCT i.id), 0), 1) AS 'Credits / Issue'\nFROM _tool_q_dev_user_report r\nCROSS JOIN (\n SELECT DISTINCT id FROM issues\n WHERE resolution_date IS NOT NULL AND type != 'INCIDENT'\n AND $__timeFilter(resolution_date)\n) i\nWHERE $__timeFilter(r.date)", |
|
167 | 179 | "type": "row" |
168 | 180 | }, |
169 | 181 | { |
170 | | - "datasource": "mysql", |
| 182 | + "datasource": { "type": "mysql", "uid": "mysql" }, |
171 | 183 | "description": "Weekly cost per merged PR", |
172 | 184 | "fieldConfig": { |
173 | 185 | "defaults": { |
174 | 186 | "color": { "mode": "palette-classic" }, |
175 | 187 | "custom": { |
176 | | - "axisBorderShow": false, "axisLabel": "", "axisPlacement": "auto", |
177 | | - "drawStyle": "line", "fillOpacity": 10, "lineInterpolation": "smooth", "lineWidth": 2, |
178 | | - "pointSize": 5, "showPoints": "never", "spanNulls": true, |
179 | | - "stacking": { "mode": "none" }, "thresholdsStyle": { "mode": "off" } |
| 188 | + "axisBorderShow": false, |
| 189 | + "axisLabel": "", |
| 190 | + "axisPlacement": "auto", |
| 191 | + "drawStyle": "line", |
| 192 | + "fillOpacity": 10, |
| 193 | + "lineInterpolation": "smooth", |
| 194 | + "lineWidth": 2, |
| 195 | + "pointSize": 5, |
| 196 | + "showPoints": "never", |
| 197 | + "spanNulls": true, |
| 198 | + "stacking": { "mode": "none" }, |
| 199 | + "thresholdsStyle": { "mode": "off" } |
180 | 200 | }, |
181 | 201 | "unit": "short" |
182 | 202 | }, |
|
185 | 205 | "gridPos": { "h": 8, "w": 12, "x": 0, "y": 8 }, |
186 | 206 | "id": 11, |
187 | 207 | "options": { |
188 | | - "legend": { "calcs": ["mean", "min"], "displayMode": "table", "placement": "right", "showLegend": true }, |
| 208 | + "legend": { |
| 209 | + "calcs": ["mean", "min"], |
| 210 | + "displayMode": "table", |
| 211 | + "placement": "right", |
| 212 | + "showLegend": true |
| 213 | + }, |
189 | 214 | "tooltip": { "mode": "multi" } |
190 | 215 | }, |
191 | 216 | "targets": [ |
192 | 217 | { |
193 | | - "datasource": "mysql", |
| 218 | + "datasource": { "type": "mysql", "uid": "mysql" }, |
194 | 219 | "format": "time_series", |
195 | 220 | "rawQuery": true, |
196 | 221 | "rawSql": "WITH _credits AS (\n SELECT DATE_SUB(DATE(date), INTERVAL WEEKDAY(DATE(date)) DAY) AS week_start,\n SUM(credits_used) AS credits\n FROM _tool_q_dev_user_report WHERE $__timeFilter(date)\n GROUP BY DATE_SUB(DATE(date), INTERVAL WEEKDAY(DATE(date)) DAY)\n),\n_prs AS (\n SELECT DATE_SUB(DATE(merged_date), INTERVAL WEEKDAY(DATE(merged_date)) DAY) AS week_start,\n COUNT(*) AS prs\n FROM pull_requests\n WHERE merged_date IS NOT NULL AND $__timeFilter(merged_date)\n GROUP BY DATE_SUB(DATE(merged_date), INTERVAL WEEKDAY(DATE(merged_date)) DAY)\n)\nSELECT c.week_start AS time,\n ROUND(c.credits / NULLIF(p.prs, 0), 1) AS 'Credits per PR'\nFROM _credits c\nLEFT JOIN _prs p ON c.week_start = p.week_start\nORDER BY time", |
|
201 | 226 | "type": "timeseries" |
202 | 227 | }, |
203 | 228 | { |
204 | | - "datasource": "mysql", |
| 229 | + "datasource": { "type": "mysql", "uid": "mysql" }, |
205 | 230 | "description": "Weekly cost per production deployment", |
206 | 231 | "fieldConfig": { |
207 | 232 | "defaults": { |
208 | 233 | "color": { "mode": "palette-classic" }, |
209 | 234 | "custom": { |
210 | | - "axisBorderShow": false, "axisLabel": "", "axisPlacement": "auto", |
211 | | - "drawStyle": "line", "fillOpacity": 10, "lineInterpolation": "smooth", "lineWidth": 2, |
212 | | - "pointSize": 5, "showPoints": "never", "spanNulls": true, |
213 | | - "stacking": { "mode": "none" }, "thresholdsStyle": { "mode": "off" } |
| 235 | + "axisBorderShow": false, |
| 236 | + "axisLabel": "", |
| 237 | + "axisPlacement": "auto", |
| 238 | + "drawStyle": "line", |
| 239 | + "fillOpacity": 10, |
| 240 | + "lineInterpolation": "smooth", |
| 241 | + "lineWidth": 2, |
| 242 | + "pointSize": 5, |
| 243 | + "showPoints": "never", |
| 244 | + "spanNulls": true, |
| 245 | + "stacking": { "mode": "none" }, |
| 246 | + "thresholdsStyle": { "mode": "off" } |
214 | 247 | }, |
215 | 248 | "unit": "short" |
216 | 249 | }, |
|
219 | 252 | "gridPos": { "h": 8, "w": 12, "x": 12, "y": 8 }, |
220 | 253 | "id": 12, |
221 | 254 | "options": { |
222 | | - "legend": { "calcs": ["mean", "min"], "displayMode": "table", "placement": "right", "showLegend": true }, |
| 255 | + "legend": { |
| 256 | + "calcs": ["mean", "min"], |
| 257 | + "displayMode": "table", |
| 258 | + "placement": "right", |
| 259 | + "showLegend": true |
| 260 | + }, |
223 | 261 | "tooltip": { "mode": "multi" } |
224 | 262 | }, |
225 | 263 | "targets": [ |
226 | 264 | { |
227 | | - "datasource": "mysql", |
| 265 | + "datasource": { "type": "mysql", "uid": "mysql" }, |
228 | 266 | "format": "time_series", |
229 | 267 | "rawQuery": true, |
230 | 268 | "rawSql": "WITH _credits AS (\n SELECT DATE_SUB(DATE(date), INTERVAL WEEKDAY(DATE(date)) DAY) AS week_start,\n SUM(credits_used) AS credits\n FROM _tool_q_dev_user_report WHERE $__timeFilter(date)\n GROUP BY DATE_SUB(DATE(date), INTERVAL WEEKDAY(DATE(date)) DAY)\n),\n_deploys AS (\n SELECT DATE_SUB(DATE(finished_date), INTERVAL WEEKDAY(DATE(finished_date)) DAY) AS week_start,\n COUNT(DISTINCT cicd_deployment_id) AS deploys\n FROM cicd_deployment_commits\n WHERE result = 'SUCCESS' AND environment = 'PRODUCTION'\n AND $__timeFilter(finished_date)\n GROUP BY DATE_SUB(DATE(finished_date), INTERVAL WEEKDAY(DATE(finished_date)) DAY)\n)\nSELECT c.week_start AS time,\n ROUND(c.credits / NULLIF(d.deploys, 0), 1) AS 'Credits per Deploy'\nFROM _credits c\nLEFT JOIN _deploys d ON c.week_start = d.week_start\nORDER BY time", |
|
235 | 273 | "type": "timeseries" |
236 | 274 | }, |
237 | 275 | { |
238 | | - "datasource": "mysql", |
| 276 | + "datasource": { "type": "mysql", "uid": "mysql" }, |
239 | 277 | "description": "Weekly cost per resolved issue", |
240 | 278 | "fieldConfig": { |
241 | 279 | "defaults": { |
242 | 280 | "color": { "mode": "palette-classic" }, |
243 | 281 | "custom": { |
244 | | - "axisBorderShow": false, "axisLabel": "", "axisPlacement": "auto", |
245 | | - "drawStyle": "line", "fillOpacity": 10, "lineInterpolation": "smooth", "lineWidth": 2, |
246 | | - "pointSize": 5, "showPoints": "never", "spanNulls": true, |
247 | | - "stacking": { "mode": "none" }, "thresholdsStyle": { "mode": "off" } |
| 282 | + "axisBorderShow": false, |
| 283 | + "axisLabel": "", |
| 284 | + "axisPlacement": "auto", |
| 285 | + "drawStyle": "line", |
| 286 | + "fillOpacity": 10, |
| 287 | + "lineInterpolation": "smooth", |
| 288 | + "lineWidth": 2, |
| 289 | + "pointSize": 5, |
| 290 | + "showPoints": "never", |
| 291 | + "spanNulls": true, |
| 292 | + "stacking": { "mode": "none" }, |
| 293 | + "thresholdsStyle": { "mode": "off" } |
248 | 294 | }, |
249 | 295 | "unit": "short" |
250 | 296 | }, |
|
253 | 299 | "gridPos": { "h": 8, "w": 12, "x": 0, "y": 16 }, |
254 | 300 | "id": 13, |
255 | 301 | "options": { |
256 | | - "legend": { "calcs": ["mean", "min"], "displayMode": "table", "placement": "right", "showLegend": true }, |
| 302 | + "legend": { |
| 303 | + "calcs": ["mean", "min"], |
| 304 | + "displayMode": "table", |
| 305 | + "placement": "right", |
| 306 | + "showLegend": true |
| 307 | + }, |
257 | 308 | "tooltip": { "mode": "multi" } |
258 | 309 | }, |
259 | 310 | "targets": [ |
260 | 311 | { |
261 | | - "datasource": "mysql", |
| 312 | + "datasource": { "type": "mysql", "uid": "mysql" }, |
262 | 313 | "format": "time_series", |
263 | 314 | "rawQuery": true, |
264 | 315 | "rawSql": "WITH _credits AS (\n SELECT DATE_SUB(DATE(date), INTERVAL WEEKDAY(DATE(date)) DAY) AS week_start,\n SUM(credits_used) AS credits\n FROM _tool_q_dev_user_report WHERE $__timeFilter(date)\n GROUP BY DATE_SUB(DATE(date), INTERVAL WEEKDAY(DATE(date)) DAY)\n),\n_issues AS (\n SELECT DATE_SUB(DATE(resolution_date), INTERVAL WEEKDAY(DATE(resolution_date)) DAY) AS week_start,\n COUNT(*) AS resolved\n FROM issues\n WHERE resolution_date IS NOT NULL AND type != 'INCIDENT'\n AND $__timeFilter(resolution_date)\n GROUP BY DATE_SUB(DATE(resolution_date), INTERVAL WEEKDAY(DATE(resolution_date)) DAY)\n)\nSELECT c.week_start AS time,\n ROUND(c.credits / NULLIF(i.resolved, 0), 1) AS 'Credits per Issue'\nFROM _credits c\nLEFT JOIN _issues i ON c.week_start = i.week_start\nORDER BY time", |
|
269 | 320 | "type": "timeseries" |
270 | 321 | }, |
271 | 322 | { |
272 | | - "datasource": "mysql", |
| 323 | + "datasource": { "type": "mysql", "uid": "mysql" }, |
273 | 324 | "description": "Is cost efficiency improving over time?", |
274 | 325 | "fieldConfig": { |
275 | 326 | "defaults": { |
276 | 327 | "color": { "mode": "palette-classic" }, |
277 | 328 | "custom": { |
278 | | - "axisBorderShow": false, "axisLabel": "", "axisPlacement": "auto", |
279 | | - "drawStyle": "line", "fillOpacity": 10, "lineInterpolation": "smooth", "lineWidth": 2, |
280 | | - "pointSize": 5, "showPoints": "never", "spanNulls": true, |
281 | | - "stacking": { "mode": "none" }, "thresholdsStyle": { "mode": "off" } |
| 329 | + "axisBorderShow": false, |
| 330 | + "axisLabel": "", |
| 331 | + "axisPlacement": "auto", |
| 332 | + "drawStyle": "line", |
| 333 | + "fillOpacity": 10, |
| 334 | + "lineInterpolation": "smooth", |
| 335 | + "lineWidth": 2, |
| 336 | + "pointSize": 5, |
| 337 | + "showPoints": "never", |
| 338 | + "spanNulls": true, |
| 339 | + "stacking": { "mode": "none" }, |
| 340 | + "thresholdsStyle": { "mode": "off" } |
282 | 341 | }, |
283 | 342 | "unit": "short" |
284 | 343 | }, |
|
287 | 346 | "gridPos": { "h": 8, "w": 12, "x": 12, "y": 16 }, |
288 | 347 | "id": 14, |
289 | 348 | "options": { |
290 | | - "legend": { "calcs": ["mean", "sum"], "displayMode": "table", "placement": "right", "showLegend": true }, |
| 349 | + "legend": { |
| 350 | + "calcs": ["mean", "sum"], |
| 351 | + "displayMode": "table", |
| 352 | + "placement": "right", |
| 353 | + "showLegend": true |
| 354 | + }, |
291 | 355 | "tooltip": { "mode": "multi" } |
292 | 356 | }, |
293 | 357 | "targets": [ |
294 | 358 | { |
295 | | - "datasource": "mysql", |
| 359 | + "datasource": { "type": "mysql", "uid": "mysql" }, |
296 | 360 | "format": "time_series", |
297 | 361 | "rawQuery": true, |
298 | 362 | "rawSql": "SELECT\n DATE_SUB(DATE(date), INTERVAL WEEKDAY(DATE(date)) DAY) AS time,\n SUM(credits_used) AS 'Credits',\n SUM(total_messages) AS 'Messages',\n SUM(chat_conversations) AS 'Conversations'\nFROM _tool_q_dev_user_report\nWHERE $__timeFilter(date)\nGROUP BY DATE_SUB(DATE(date), INTERVAL WEEKDAY(DATE(date)) DAY)\nORDER BY time", |
|
0 commit comments