{ "__inputs": [ { "name": "DS_POSTGRESQL", "label": "PostgreSQL", "description": "", "type": "datasource", "pluginId": "postgres", "pluginName": "PostgreSQL" } ], "__elements": {}, "__requires": [ { "type": "panel", "id": "bargauge", "name": "Bar gauge", "version": "" }, { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "9.3.2" }, { "type": "panel", "id": "piechart", "name": "Pie chart", "version": "" }, { "type": "datasource", "id": "postgres", "name": "PostgreSQL", "version": "1.0.0" }, { "type": "panel", "id": "stat", "name": "Stat", "version": "" }, { "type": "panel", "id": "table", "name": "Table", "version": "" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": { "type": "grafana", "uid": "-- Grafana --" }, "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "target": { "limit": 100, "matchAny": false, "tags": [], "type": "dashboard" }, "type": "dashboard" } ] }, "editable": false, "fiscalYearStartMonth": 0, "graphTooltip": 0, "id": null, "links": [], "liveNow": false, "panels": [ { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 0 }, "id": 16, "panels": [], "title": "Summary", "type": "row" }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "center", "displayMode": "auto", "filterable": true, "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "duration" }, "properties": [ { "id": "unit", "value": "s" } ] }, { "matcher": { "id": "byName", "options": "url" }, "properties": [ { "id": "custom.width", "value": 287 } ] }, { "matcher": { "id": "byName", "options": "id" }, "properties": [ { "id": "custom.width", "value": 107 } ] }, { "matcher": { "id": "byName", "options": "id" }, "properties": [ { "id": "links", "value": [ { "title": "", "url": "/d/dmVtrz-4k/build-details?orgId=1&var-build_id=${__value.raw}" } ] } ] } ] }, "gridPos": { "h": 3, "w": 24, "x": 0, "y": 1 }, "id": 10, "options": { "footer": { "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [ { "desc": true, "displayName": "duration" } ] }, "pluginVersion": "9.3.2", "targets": [ { "cacheDurationSeconds": 300, "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "fields": [ { "jsonPath": "" } ], "format": "table", "hide": false, "method": "GET", "queryParams": "", "rawQuery": true, "rawSql": "SELECT \n b.id, \n b.url, \n b.created_at * 1000 as created,\n b.finished_at * 1000 as finished,\n (SELECT COUNT(id) FROM build_tasks AS bt WHERE bt.build_id = b.id) AS task_count,\n b.finished_at - b.created_at as duration\nFROM builds as b \nWHERE id = $build_id ", "refId": "A", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 }, "urlPath": "" } ], "title": "Build info", "transformations": [ { "id": "convertFieldType", "options": { "conversions": [ { "destinationType": "time", "targetField": "created" }, { "destinationType": "time", "targetField": "finished" } ], "fields": {} } } ], "type": "table" }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "description": "", "fieldConfig": { "defaults": { "color": { "fixedColor": "blue", "mode": "fixed" }, "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false } }, "mappings": [] }, "overrides": [ { "matcher": { "id": "byName", "options": "running" }, "properties": [ { "id": "color", "value": { "fixedColor": "semi-dark-blue", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "completed" }, "properties": [ { "id": "color", "value": { "fixedColor": "green", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "idle" }, "properties": [ { "id": "color", "value": { "fixedColor": "purple", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "failed" }, "properties": [ { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "excluded" }, "properties": [ { "id": "color", "value": { "fixedColor": "text", "mode": "fixed" } } ] } ] }, "gridPos": { "h": 8, "w": 7, "x": 0, "y": 4 }, "id": 4, "options": { "legend": { "displayMode": "table", "placement": "right", "showLegend": true, "values": [ "value" ] }, "pieType": "donut", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "tooltip": { "mode": "single", "sort": "none" } }, "pluginVersion": "9.3.2", "targets": [ { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT COUNT(id) AS idle FROM build_tasks \nWHERE build_id = $build_id AND status_id = 0;", "refId": "idle", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT COUNT(id) AS started FROM build_tasks \nWHERE build_id = $build_id AND status_id = 1;", "refId": "started", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT COUNT(id) AS completed FROM build_tasks \nWHERE build_id = $build_id AND status_id = 2;", "refId": "completed", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT COUNT(id) AS failed FROM build_tasks \nWHERE build_id = $build_id AND status_id = 3;", "refId": "failed", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT COUNT(id) AS excluded FROM build_tasks \nWHERE build_id = $build_id AND status_id = 4;", "refId": "excluded", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } } ], "title": "Build tasks by status", "type": "piechart" }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "description": "", "fieldConfig": { "defaults": { "color": { "fixedColor": "blue", "mode": "fixed" }, "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false } }, "mappings": [] }, "overrides": [ { "matcher": { "id": "byName", "options": "running" }, "properties": [ { "id": "color", "value": { "fixedColor": "semi-dark-blue", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "completed" }, "properties": [ { "id": "color", "value": { "fixedColor": "green", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "idle" }, "properties": [ { "id": "color", "value": { "fixedColor": "purple", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "failed" }, "properties": [ { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "excluded" }, "properties": [ { "id": "color", "value": { "fixedColor": "text", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "x86_64" }, "properties": [ { "id": "color", "value": { "fixedColor": "purple", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "i686" }, "properties": [ { "id": "color", "value": { "fixedColor": "dark-orange", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "aarch64" }, "properties": [ { "id": "color", "value": { "fixedColor": "yellow", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "ppc64le" }, "properties": [ { "id": "color", "value": { "fixedColor": "green", "mode": "fixed" } } ] } ] }, "gridPos": { "h": 8, "w": 7, "x": 7, "y": 4 }, "id": 6, "options": { "legend": { "displayMode": "table", "placement": "right", "showLegend": true, "values": [ "value" ] }, "pieType": "donut", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "tooltip": { "mode": "single", "sort": "none" } }, "pluginVersion": "9.3.2", "targets": [ { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT COUNT(id) AS i686 FROM build_tasks \nWHERE build_id = $build_id AND arch_id = 0;", "refId": "i686", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT COUNT(id) AS x86_64 FROM build_tasks \nWHERE build_id = $build_id AND arch_id = 1;", "refId": "x86_64", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT COUNT(id) AS aarch64 FROM build_tasks \nWHERE build_id = $build_id AND arch_id = 2;", "refId": "aarch64", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT COUNT(id) AS ppc64le FROM build_tasks \nWHERE build_id = $build_id AND arch_id = 3;", "refId": "ppc64le", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT COUNT(id) AS s390x FROM build_tasks \nWHERE build_id = $build_id AND arch_id = 4;", "refId": "s390x", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } } ], "title": "Build tasks by arch", "type": "piechart" }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "description": "Averages for build tasks with \"completed\"\nstatus", "fieldConfig": { "defaults": { "color": { "fixedColor": "blue", "mode": "fixed" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "s" }, "overrides": [] }, "gridPos": { "h": 4, "w": 10, "x": 14, "y": 4 }, "id": 12, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.3.2", "targets": [ { "cacheDurationSeconds": 300, "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "fields": [ { "jsonPath": "" } ], "format": "table", "method": "GET", "queryParams": "", "rawQuery": true, "rawSql": "SELECT MAX(finished_at - started_at) AS MAX\nFROM build_tasks\nWHERE build_id = $build_id AND status_id = 2", "refId": "max", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 }, "urlPath": "" }, { "cacheDurationSeconds": 300, "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "fields": [ { "jsonPath": "" } ], "format": "table", "hide": false, "method": "GET", "queryParams": "", "rawQuery": true, "rawSql": "SELECT MIN(finished_at - started_at) AS MIN\nFROM build_tasks\nWHERE build_id = $build_id AND status_id = 2", "refId": "min", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 }, "urlPath": "" }, { "cacheDurationSeconds": 300, "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "fields": [ { "jsonPath": "" } ], "format": "table", "hide": false, "method": "GET", "queryParams": "", "rawQuery": true, "rawSql": "SELECT PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER BY durations.duration) as median FROM \n(SELECT (finished_at - started_at) AS duration\nFROM build_tasks\nWHERE build_id = $build_id AND status_id = 2) as durations\n\n\n", "refId": "median", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 }, "urlPath": "" }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT PERCENTILE_CONT(0.95) WITHIN GROUP(ORDER BY durations.duration) as \"95th percentile\" FROM \n(SELECT (finished_at - started_at) AS duration\nFROM build_tasks\nWHERE build_id = $build_id AND status_id = 2) as durations", "refId": "95th percentile", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } } ], "title": "Build tasks duration (completed)", "type": "stat" }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "description": "How much time were spent in queue. \n\nStats for \"completed\" build tasks only", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "red", "value": null } ] }, "unit": "s" }, "overrides": [ { "matcher": { "id": "byName", "options": "id" }, "properties": [ { "id": "unit", "value": "none" }, { "id": "links", "value": [ { "title": "", "url": "/d/vtQClqxVk/build-task-details?orgId=1&var-build_task=${__value.raw}\n\n" } ] } ] }, { "matcher": { "id": "byName", "options": "wait-time" }, "properties": [ { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } } ] } ] }, "gridPos": { "h": 4, "w": 10, "x": 14, "y": 8 }, "id": 14, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.3.2", "targets": [ { "cacheDurationSeconds": 300, "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "fields": [ { "jsonPath": "" } ], "format": "table", "method": "GET", "queryParams": "", "rawQuery": true, "rawSql": "SELECT\n bt.id, \n SUM(bt.finished_at - bt.started_at) AS task_duration,\n (SELECT SUM(end_ts - start_ts) \n FROM web_node_stats AS ws \n WHERE ws.build_task_id = bt.id AND stat_name_id=0) AS web_node_duration,\n (SELECT SUM(end_ts - start_ts) \n FROM build_node_stats AS bs \n WHERE bs.build_task_id = bt.id AND stat_name_id=6) AS build_node_duration\nFROM build_tasks AS bt\nWHERE build_id = $build_id AND status_id = 2\nGROUP BY bt.id;", "refId": "A", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 }, "urlPath": "" } ], "title": "Build task wait time (completed)", "transformations": [ { "id": "calculateField", "options": { "binary": { "left": "web_node_duration", "reducer": "sum", "right": "build_node_duration" }, "mode": "binary", "reduce": { "reducer": "sum" } } }, { "id": "calculateField", "options": { "binary": { "left": "task_duration", "operator": "-", "reducer": "sum", "right": "web_node_duration build_node_duration" }, "mode": "binary", "reduce": { "reducer": "sum" } } }, { "id": "organize", "options": { "excludeByName": { "build_id": true, "build_node_duration": true, "id": true, "task_duration": true, "web_node_duration": true, "web_node_duration build_node_duration": true }, "indexByName": {}, "renameByName": { "task_duration - web_node_duration build_node_duration": "wait-time" } } }, { "id": "reduce", "options": { "labelsToFields": false, "reducers": [ "max", "min", "mean" ] } } ], "type": "stat" }, { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 12 }, "id": 23, "panels": [], "title": "Build steps", "type": "row" }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "description": "", "fieldConfig": { "defaults": { "color": { "fixedColor": "#61a69d", "mode": "fixed" }, "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false } }, "mappings": [], "unit": "s" }, "overrides": [ { "matcher": { "id": "byName", "options": "build_binaries" }, "properties": [ { "id": "color", "value": { "fixedColor": "purple", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "upload" }, "properties": [ { "id": "color", "value": { "fixedColor": "blue", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "packages_processing" }, "properties": [ { "id": "color", "value": { "fixedColor": "green", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "build_srpm" }, "properties": [ { "id": "color", "value": { "fixedColor": "semi-dark-green", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "notarize_artifacts" }, "properties": [ { "id": "color", "value": { "fixedColor": "yellow", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "logs_processing" }, "properties": [ { "id": "color", "value": { "fixedColor": "orange", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "source_authenticate" }, "properties": [ { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "git_checkout" }, "properties": [ { "id": "color", "value": { "fixedColor": "light-red", "mode": "fixed" } } ] } ] }, "gridPos": { "h": 8, "w": 8, "x": 0, "y": 13 }, "id": 20, "options": { "legend": { "displayMode": "table", "placement": "right", "showLegend": true, "values": [ "percent" ] }, "pieType": "pie", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "tooltip": { "mode": "single", "sort": "none" } }, "pluginVersion": "9.3.2", "targets": [ { "cacheDurationSeconds": 300, "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "fields": [ { "jsonPath": "" } ], "format": "table", "hide": false, "method": "GET", "queryParams": "", "rawQuery": true, "rawSql": "SELECT \n sum(end_ts - start_ts) as upload\nFROM build_node_stats bs\nJOIN build_tasks \n on bs.build_task_id = build_tasks.id\nWHERE stat_name_id = 0 AND build_tasks.build_id = $build_id ", "refId": "upload", "sql": { "columns": [ { "parameters": [ { "name": "start_ts", "type": "functionParameter" } ], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 }, "table": "build_node_stats", "urlPath": "" }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT \n sum(end_ts - start_ts) as build_srpm\nFROM build_node_stats bs\nJOIN build_tasks \n on bs.build_task_id = build_tasks.id\nWHERE stat_name_id = 2 AND build_tasks.build_id = $build_id ", "refId": "build_srpm", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT \n sum(end_ts - start_ts) as git_checkout\nFROM build_node_stats bs\nJOIN build_tasks \n on bs.build_task_id = build_tasks.id\nWHERE stat_name_id = 3 AND build_tasks.build_id = $build_id ", "refId": "git_checkout", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT \n sum(end_ts - start_ts) as build_binaries\nFROM build_node_stats bs\nJOIN build_tasks \n on bs.build_task_id = build_tasks.id\nWHERE stat_name_id = 4 AND build_tasks.build_id = $build_id ", "refId": "build_binaries", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT \n sum(end_ts - start_ts) as notarize_artifacts\nFROM build_node_stats bs\nJOIN build_tasks \n on bs.build_task_id = build_tasks.id\nWHERE stat_name_id = 7 AND build_tasks.build_id = $build_id ", "refId": "cas_notarize_artifacts", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT \n sum(end_ts - start_ts) as source_authenticate\nFROM build_node_stats bs\nJOIN build_tasks \n on bs.build_task_id = build_tasks.id\nWHERE stat_name_id = 8 AND build_tasks.build_id = $build_id ", "refId": "cas_source_authenticate", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT \n SUM(end_ts - start_ts) AS logs_processing\nFROM web_node_stats AS bs \nJOIN build_tasks \n ON bs.build_task_id = build_tasks.id\nWHERE stat_name_id = 1 AND build_tasks.build_id = $build_id ", "refId": "logs_processing", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT \n SUM(end_ts - start_ts) AS packages_processing\nFROM web_node_stats AS bs \nJOIN build_tasks \n ON bs.build_task_id = build_tasks.id\nWHERE stat_name_id = 1 AND build_tasks.build_id = $build_id ", "refId": "packages_procession", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } } ], "title": "Duration (%)", "type": "piechart" }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "description": "", "fieldConfig": { "defaults": { "color": { "fixedColor": "#61a69d", "mode": "fixed" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "s" }, "overrides": [] }, "gridPos": { "h": 8, "w": 16, "x": 8, "y": 13 }, "id": 21, "options": { "displayMode": "basic", "minVizHeight": 10, "minVizWidth": 0, "orientation": "vertical", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showUnfilled": false }, "pluginVersion": "9.3.2", "targets": [ { "cacheDurationSeconds": 300, "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "fields": [ { "jsonPath": "" } ], "format": "table", "hide": false, "method": "GET", "queryParams": "", "rawQuery": true, "rawSql": "SELECT \n sum(end_ts - start_ts) as upload\nFROM build_node_stats bs\nJOIN build_tasks \n on bs.build_task_id = build_tasks.id\nWHERE stat_name_id = 0 AND build_tasks.build_id = $build_id ", "refId": "upload", "sql": { "columns": [ { "parameters": [ { "name": "start_ts", "type": "functionParameter" } ], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 }, "table": "build_node_stats", "urlPath": "" }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT \n sum(end_ts - start_ts) as build_srpm\nFROM build_node_stats bs\nJOIN build_tasks \n on bs.build_task_id = build_tasks.id\nWHERE stat_name_id = 2 AND build_tasks.build_id = $build_id ", "refId": "build_srpm", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT \n sum(end_ts - start_ts) as git_checkout\nFROM build_node_stats bs\nJOIN build_tasks \n on bs.build_task_id = build_tasks.id\nWHERE stat_name_id = 3 AND build_tasks.build_id = $build_id ", "refId": "git_checkout", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT \n sum(end_ts - start_ts) as build_binaries\nFROM build_node_stats bs\nJOIN build_tasks \n on bs.build_task_id = build_tasks.id\nWHERE stat_name_id = 4 AND build_tasks.build_id = $build_id ", "refId": "build_binaries", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT \n sum(end_ts - start_ts) as notarize_artifacts\nFROM build_node_stats bs\nJOIN build_tasks \n on bs.build_task_id = build_tasks.id\nWHERE stat_name_id = 7 AND build_tasks.build_id = $build_id ", "refId": "cas_notarize_artifacts", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT \n sum(end_ts - start_ts) as source_authenticate\nFROM build_node_stats bs\nJOIN build_tasks \n on bs.build_task_id = build_tasks.id\nWHERE stat_name_id = 8 AND build_tasks.build_id = $build_id ", "refId": "cas_source_authenticate", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT \n SUM(end_ts - start_ts) AS logs_processing\nFROM web_node_stats AS bs \nJOIN build_tasks \n ON bs.build_task_id = build_tasks.id\nWHERE stat_name_id = 1 AND build_tasks.build_id = $build_id ", "refId": "logs_processing", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "format": "table", "hide": false, "rawQuery": true, "rawSql": "SELECT \n SUM(end_ts - start_ts) AS packages_processing\nFROM web_node_stats AS bs \nJOIN build_tasks \n ON bs.build_task_id = build_tasks.id\nWHERE stat_name_id = 1 AND build_tasks.build_id = $build_id ", "refId": "packages_procession", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 } } ], "title": "Duration (absolute)", "type": "bargauge" }, { "collapsed": true, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 21 }, "id": 18, "panels": [ { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "center", "displayMode": "auto", "filterable": true, "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "id" }, "properties": [ { "id": "links", "value": [ { "targetBlank": false, "title": "", "url": "/d/vtQClqxVk/build-task-details?orgId=1&var-build_task=${__value.raw}" } ] } ] }, { "matcher": { "id": "byName", "options": "duration" }, "properties": [ { "id": "unit", "value": "s" } ] } ] }, "gridPos": { "h": 9, "w": 24, "x": 0, "y": 3 }, "id": 2, "options": { "footer": { "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [ { "desc": true, "displayName": "duration" } ] }, "pluginVersion": "9.3.2", "targets": [ { "cacheDurationSeconds": 300, "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "fields": [ { "jsonPath": "" } ], "format": "table", "method": "GET", "queryParams": "", "rawQuery": true, "rawSql": "SELECT\n bt.id,\n bt.name,\n arch_enum.value AS arch,\n status_enum.value AS status,\n bt.started_at * 1000 AS started,\n bt.finished_at * 1000 AS finished,\n bt.finished_at - bt.started_at AS duration \nFROM build_tasks AS bt\nJOIN build_task_status_enum AS status_enum ON bt.status_id = status_enum.id\nJOIN arch_enum on bt.arch_id = arch_enum.id\nWHERE bt.build_id = $build_id;", "refId": "A", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 }, "urlPath": "" } ], "title": "All build tasks", "transformations": [ { "id": "convertFieldType", "options": { "conversions": [ { "destinationType": "time", "targetField": "started" }, { "destinationType": "time", "targetField": "finished" } ], "fields": {} } } ], "type": "table" }, { "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "displayMode": "auto", "filterable": true, "inspect": true }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green" }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byRegexp", "options": "(.*duration)|(wait time)" }, "properties": [ { "id": "unit", "value": "s" } ] }, { "matcher": { "id": "byName", "options": "id" }, "properties": [ { "id": "custom.width", "value": 70 }, { "id": "links", "value": [ { "title": "", "url": "/d/vtQClqxVk/build-task-details?orgId=1&var-build_task=${__value.raw}\n\n" } ] } ] }, { "matcher": { "id": "byName", "options": "arch" }, "properties": [ { "id": "custom.width", "value": 111 } ] }, { "matcher": { "id": "byName", "options": "build id" }, "properties": [ { "id": "links", "value": [ { "title": "", "url": "/d/dmVtrz-4k/build-details?orgId=1&var-build_id=${__value.raw}\n\n\n" } ] }, { "id": "custom.width", "value": 102 } ] }, { "matcher": { "id": "byName", "options": "name" }, "properties": [ { "id": "custom.width", "value": 75 } ] }, { "matcher": { "id": "byName", "options": "task duration" }, "properties": [ { "id": "custom.width", "value": 100 } ] } ] }, "gridPos": { "h": 7, "w": 24, "x": 0, "y": 12 }, "id": 25, "options": { "footer": { "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [ { "desc": true, "displayName": "task duration" } ] }, "pluginVersion": "9.3.2", "targets": [ { "cacheDurationSeconds": 300, "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "editorMode": "code", "fields": [ { "jsonPath": "" } ], "format": "table", "method": "GET", "queryParams": "", "rawQuery": true, "rawSql": "SELECT\n bt.id,\n bt.name,\n arch_enum.value AS arch,\n bt.started_at * 1000 AS started,\n bt.finished_at * 1000 AS finished,\n task_duration AS \"task duration\",\n web_node_duration AS \"web node duration\",\n build_node_duration AS \"build node duration\",\n task_duration - web_node_duration - build_node_duration as \"wait time\"\n FROM build_tasks AS bt\n JOIN arch_enum on bt.arch_id = arch_enum.id \n LEFT JOIN \n (\n SELECT\n bt.id,\n bt.finished_at - bt.started_at AS task_duration,\n (SELECT SUM(end_ts - start_ts) \n FROM web_node_stats AS ws \n WHERE ws.build_task_id = bt.id AND stat_name_id=0) AS web_node_duration,\n (SELECT SUM(end_ts - start_ts) \n FROM build_node_stats AS bs \n WHERE bs.build_task_id = bt.id AND stat_name_id=6) AS build_node_duration\n FROM build_tasks AS bt\n WHERE bt.build_id = $build_id AND status_id = 2\n GROUP BY bt.id\n ) as d\n ON bt.id = d.id\n WHERE bt.build_id = $build_id AND status_id = 2", "refId": "A", "sql": { "columns": [ { "parameters": [], "type": "function" } ], "groupBy": [ { "property": { "type": "string" }, "type": "groupBy" } ], "limit": 50 }, "urlPath": "" } ], "title": "Completed build tasks", "transformations": [ { "id": "convertFieldType", "options": { "conversions": [ { "destinationType": "time", "targetField": "started" }, { "destinationType": "time", "targetField": "finished" } ], "fields": {} } } ], "type": "table" } ], "title": "Build tasks", "type": "row" } ], "refresh": false, "schemaVersion": 37, "style": "dark", "tags": [], "templating": { "list": [ { "current": {}, "datasource": { "type": "postgres", "uid": "${DS_POSTGRESQL}" }, "definition": "SELECT id\nFROM builds\nORDER BY id DESC", "hide": 0, "includeAll": false, "multi": false, "name": "build_id", "options": [], "query": "SELECT id\nFROM builds\nORDER BY id DESC", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "type": "query" } ] }, "time": { "from": "2023-03-09T18:59:42.117Z", "to": "2023-03-10T18:59:42.117Z" }, "timepicker": {}, "timezone": "", "title": "Build details", "uid": "dmVtrz-4k", "version": 21, "weekStart": "" }