2023-03-07 23:02:25 +00:00
{
"__inputs" : [
{
2023-03-22 10:30:12 +00:00
"name" : "DS_POSTGRESQL" ,
"label" : "PostgreSQL" ,
2023-03-07 23:02:25 +00:00
"description" : "" ,
"type" : "datasource" ,
"pluginId" : "postgres" ,
"pluginName" : "PostgreSQL"
}
] ,
"__elements" : { } ,
"__requires" : [
2023-03-10 10:24:17 +00:00
{
"type" : "panel" ,
"id" : "bargauge" ,
"name" : "Bar gauge" ,
"version" : ""
} ,
2023-03-07 23:02:25 +00:00
{
"type" : "grafana" ,
"id" : "grafana" ,
"name" : "Grafana" ,
2023-03-22 10:30:12 +00:00
"version" : "9.3.2"
2023-03-07 23:02:25 +00:00
} ,
2023-03-10 10:24:17 +00:00
{
"type" : "panel" ,
"id" : "piechart" ,
"name" : "Pie chart" ,
"version" : ""
} ,
2023-03-07 23:02:25 +00:00
{
"type" : "datasource" ,
"id" : "postgres" ,
"name" : "PostgreSQL" ,
"version" : "1.0.0"
} ,
2023-03-10 10:24:17 +00:00
{
"type" : "panel" ,
"id" : "stat" ,
"name" : "Stat" ,
"version" : ""
} ,
2023-03-07 23:02:25 +00:00
{
"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" : [
2023-03-10 10:24:17 +00:00
{
"collapsed" : false ,
"gridPos" : {
"h" : 1 ,
"w" : 24 ,
"x" : 0 ,
"y" : 0
} ,
"id" : 16 ,
"panels" : [ ] ,
2023-03-22 10:30:12 +00:00
"title" : "Builds" ,
2023-03-10 10:24:17 +00:00
"type" : "row"
} ,
2023-03-07 23:02:25 +00:00
{
"datasource" : {
"type" : "postgres" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-07 23:02:25 +00:00
} ,
"description" : "" ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "thresholds"
} ,
"custom" : {
"align" : "center" ,
"displayMode" : "auto" ,
"filterable" : true ,
"inspect" : false
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : null
2023-03-10 10:24:17 +00:00
} ,
{
"color" : "red" ,
"value" : 80
2023-03-07 23:02:25 +00:00
}
]
}
} ,
"overrides" : [
2023-03-10 10:24:17 +00:00
{
"matcher" : {
"id" : "byName" ,
"options" : "duration"
} ,
"properties" : [
{
"id" : "unit" ,
"value" : "s"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "url"
} ,
"properties" : [
{
"id" : "custom.width" ,
"value" : 287
}
]
} ,
2023-03-07 23:02:25 +00:00
{
"matcher" : {
"id" : "byName" ,
"options" : "id"
} ,
"properties" : [
{
2023-03-10 10:24:17 +00:00
"id" : "custom.width" ,
"value" : 107
2023-03-07 23:02:25 +00:00
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
2023-03-10 10:24:17 +00:00
"options" : "id"
2023-03-07 23:02:25 +00:00
} ,
"properties" : [
{
2023-03-10 10:24:17 +00:00
"id" : "links" ,
"value" : [
{
"title" : "" ,
"url" : "/d/dmVtrz-4k/build-details?orgId=1&var-build_id=${__value.raw}"
}
]
2023-03-07 23:02:25 +00:00
}
]
}
]
} ,
"gridPos" : {
2023-03-10 10:24:17 +00:00
"h" : 3 ,
2023-03-07 23:02:25 +00:00
"w" : 24 ,
"x" : 0 ,
2023-03-10 10:24:17 +00:00
"y" : 1
2023-03-07 23:02:25 +00:00
} ,
2023-03-10 10:24:17 +00:00
"id" : 10 ,
2023-03-07 23:02:25 +00:00
"options" : {
"footer" : {
"fields" : "" ,
"reducer" : [
"sum"
] ,
"show" : false
} ,
"showHeader" : true ,
"sortBy" : [
{
"desc" : true ,
2023-03-10 10:24:17 +00:00
"displayName" : "duration"
2023-03-07 23:02:25 +00:00
}
]
} ,
2023-03-22 10:30:12 +00:00
"pluginVersion" : "9.3.2" ,
2023-03-07 23:02:25 +00:00
"targets" : [
{
"cacheDurationSeconds" : 300 ,
"datasource" : {
"type" : "postgres" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-07 23:02:25 +00:00
} ,
"editorMode" : "code" ,
"fields" : [
{
"jsonPath" : ""
}
] ,
"format" : "table" ,
2023-03-10 10:24:17 +00:00
"hide" : false ,
2023-03-07 23:02:25 +00:00
"method" : "GET" ,
"queryParams" : "" ,
"rawQuery" : true ,
2023-03-10 10:24:17 +00:00
"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 " ,
2023-03-07 23:02:25 +00:00
"refId" : "A" ,
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
} ,
"urlPath" : ""
}
] ,
2023-03-10 10:24:17 +00:00
"title" : "Build info" ,
2023-03-07 23:02:25 +00:00
"transformations" : [
{
"id" : "convertFieldType" ,
"options" : {
"conversions" : [
{
"destinationType" : "time" ,
2023-03-10 10:24:17 +00:00
"targetField" : "created"
2023-03-07 23:02:25 +00:00
} ,
{
"destinationType" : "time" ,
"targetField" : "finished"
}
] ,
"fields" : { }
}
}
] ,
"type" : "table"
2023-03-10 10:24:17 +00:00
} ,
{
"datasource" : {
"type" : "postgres" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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"
} ,
2023-03-22 10:30:12 +00:00
"pluginVersion" : "9.3.2" ,
2023-03-10 10:24:17 +00:00
"targets" : [
{
"cacheDurationSeconds" : 300 ,
"datasource" : {
"type" : "postgres" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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"
} ,
2023-03-22 10:30:12 +00:00
"pluginVersion" : "9.3.2" ,
2023-03-10 10:24:17 +00:00
"targets" : [
{
"cacheDurationSeconds" : 300 ,
"datasource" : {
"type" : "postgres" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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"
} ,
{
"datasource" : {
"type" : "postgres" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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 ,
2023-03-22 10:30:12 +00:00
"y" : 12
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"editorMode" : "code" ,
"format" : "table" ,
"hide" : false ,
"rawQuery" : true ,
2023-03-20 18:29:45 +00:00
"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 = 2 AND build_tasks.build_id = $build_id " ,
2023-03-10 10:24:17 +00:00
"refId" : "packages_procession" ,
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
}
}
] ,
"title" : "Duration (%)" ,
"type" : "piechart"
} ,
{
"datasource" : {
"type" : "postgres" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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 ,
2023-03-22 10:30:12 +00:00
"y" : 12
2023-03-10 10:24:17 +00:00
} ,
"id" : 21 ,
"options" : {
"displayMode" : "basic" ,
"minVizHeight" : 10 ,
"minVizWidth" : 0 ,
"orientation" : "vertical" ,
"reduceOptions" : {
"calcs" : [
"lastNotNull"
] ,
"fields" : "" ,
"values" : false
} ,
"showUnfilled" : false
} ,
2023-03-22 10:30:12 +00:00
"pluginVersion" : "9.3.2" ,
2023-03-10 10:24:17 +00:00
"targets" : [
{
"cacheDurationSeconds" : 300 ,
"datasource" : {
"type" : "postgres" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"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" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
"editorMode" : "code" ,
"format" : "table" ,
"hide" : false ,
"rawQuery" : true ,
2023-03-20 18:29:45 +00:00
"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 = 2 AND build_tasks.build_id = $build_id " ,
"refId" : "packages_processing" ,
2023-03-10 10:24:17 +00:00
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
}
}
] ,
"title" : "Duration (absolute)" ,
"type" : "bargauge"
} ,
{
2023-03-20 18:29:45 +00:00
"collapsed" : false ,
2023-03-10 10:24:17 +00:00
"gridPos" : {
"h" : 1 ,
"w" : 24 ,
"x" : 0 ,
2023-03-22 10:30:12 +00:00
"y" : 20
2023-03-10 10:24:17 +00:00
} ,
2023-03-22 10:30:12 +00:00
"id" : 27 ,
2023-03-20 18:29:45 +00:00
"panels" : [ ] ,
2023-03-22 10:30:12 +00:00
"title" : "Tests" ,
2023-03-20 18:29:45 +00:00
"type" : "row"
} ,
{
"datasource" : {
"type" : "postgres" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-20 18:29:45 +00:00
} ,
"description" : "" ,
"fieldConfig" : {
"defaults" : {
"color" : {
2023-03-22 10:30:12 +00:00
"fixedColor" : "blue" ,
"mode" : "palette-classic"
2023-03-10 10:24:17 +00:00
} ,
2023-03-20 18:29:45 +00:00
"custom" : {
2023-03-22 10:30:12 +00:00
"hideFrom" : {
"legend" : false ,
"tooltip" : false ,
"viz" : false
}
2023-03-20 18:29:45 +00:00
} ,
2023-03-22 10:30:12 +00:00
"mappings" : [ ]
2023-03-20 18:29:45 +00:00
} ,
2023-03-22 10:30:12 +00:00
"overrides" : [ ]
2023-03-20 18:29:45 +00:00
} ,
"gridPos" : {
2023-03-22 10:30:12 +00:00
"h" : 6 ,
"w" : 13 ,
2023-03-20 18:29:45 +00:00
"x" : 0 ,
2023-03-22 10:30:12 +00:00
"y" : 21
2023-03-20 18:29:45 +00:00
} ,
2023-03-22 10:30:12 +00:00
"id" : 29 ,
2023-03-20 18:29:45 +00:00
"options" : {
2023-03-22 10:30:12 +00:00
"legend" : {
"displayMode" : "table" ,
"placement" : "right" ,
"showLegend" : true ,
"values" : [
"value"
]
} ,
"pieType" : "pie" ,
"reduceOptions" : {
"calcs" : [
"lastNotNull"
2023-03-10 10:24:17 +00:00
] ,
2023-03-22 10:30:12 +00:00
"fields" : "" ,
"values" : false
2023-03-10 10:24:17 +00:00
} ,
2023-03-22 10:30:12 +00:00
"tooltip" : {
"mode" : "single" ,
"sort" : "none"
}
2023-03-20 18:29:45 +00:00
} ,
2023-03-22 10:30:12 +00:00
"pluginVersion" : "9.3.2" ,
2023-03-20 18:29:45 +00:00
"targets" : [
2023-03-10 10:24:17 +00:00
{
"datasource" : {
"type" : "postgres" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
2023-03-20 18:29:45 +00:00
"editorMode" : "code" ,
"format" : "table" ,
"rawQuery" : true ,
2023-03-22 10:30:12 +00:00
"rawSql" : "SELECT \n COUNT(tt.id),\n enum.value AS status\nFROM test_tasks AS tt\nINNER JOIN test_tasks_status_enum AS enum\n ON tt.status_id = enum.id\nINNER JOIN build_tasks AS bt\n ON tt.build_task_id = bt.id\nINNER JOIN builds AS b\n ON bt.build_id = b.id\nWHERE b.id = $build_id\nGROUP BY (status);\n" ,
2023-03-20 18:29:45 +00:00
"refId" : "A" ,
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
2023-03-10 10:24:17 +00:00
}
2023-03-20 18:29:45 +00:00
] ,
"groupBy" : [
2023-03-10 10:24:17 +00:00
{
2023-03-20 18:29:45 +00:00
"property" : {
"type" : "string"
2023-03-10 10:24:17 +00:00
} ,
2023-03-20 18:29:45 +00:00
"type" : "groupBy"
}
] ,
"limit" : 50
2023-03-22 10:30:12 +00:00
}
2023-03-20 18:29:45 +00:00
}
] ,
2023-03-22 10:30:12 +00:00
"title" : "Tests count (group by status)" ,
2023-03-20 18:29:45 +00:00
"transformations" : [
{
2023-03-22 10:30:12 +00:00
"id" : "rowsToFields" ,
"options" : { }
2023-03-20 18:29:45 +00:00
}
] ,
2023-03-22 10:30:12 +00:00
"type" : "piechart"
2023-03-20 18:29:45 +00:00
} ,
{
"datasource" : {
"type" : "postgres" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-20 18:29:45 +00:00
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
2023-03-22 10:30:12 +00:00
"fixedColor" : "blue" ,
"mode" : "fixed"
2023-03-20 18:29:45 +00:00
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : null
2023-03-10 10:24:17 +00:00
} ,
{
2023-03-20 18:29:45 +00:00
"color" : "red" ,
"value" : 80
}
]
2023-03-10 10:24:17 +00:00
} ,
2023-03-22 10:30:12 +00:00
"unit" : "s"
} ,
"overrides" : [ ]
2023-03-20 18:29:45 +00:00
} ,
"gridPos" : {
2023-03-22 10:30:12 +00:00
"h" : 6 ,
"w" : 11 ,
"x" : 13 ,
"y" : 21
2023-03-20 18:29:45 +00:00
} ,
2023-03-22 10:30:12 +00:00
"id" : 31 ,
2023-03-20 18:29:45 +00:00
"options" : {
2023-03-22 10:30:12 +00:00
"colorMode" : "value" ,
"graphMode" : "area" ,
"justifyMode" : "auto" ,
"orientation" : "auto" ,
"reduceOptions" : {
"calcs" : [
"lastNotNull"
2023-03-20 18:29:45 +00:00
] ,
2023-03-22 10:30:12 +00:00
"fields" : "" ,
"values" : false
2023-03-20 18:29:45 +00:00
} ,
2023-03-22 10:30:12 +00:00
"textMode" : "auto"
2023-03-20 18:29:45 +00:00
} ,
2023-03-22 10:30:12 +00:00
"pluginVersion" : "9.3.2" ,
2023-03-20 18:29:45 +00:00
"targets" : [
{
"cacheDurationSeconds" : 300 ,
"datasource" : {
"type" : "postgres" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-10 10:24:17 +00:00
} ,
2023-03-20 18:29:45 +00:00
"editorMode" : "code" ,
"fields" : [
2023-03-10 10:24:17 +00:00
{
2023-03-20 18:29:45 +00:00
"jsonPath" : ""
2023-03-10 10:24:17 +00:00
}
] ,
2023-03-20 18:29:45 +00:00
"format" : "table" ,
"method" : "GET" ,
"queryParams" : "" ,
"rawQuery" : true ,
2023-03-22 10:30:12 +00:00
"rawSql" : "SELECT \n MAX(t.duration) AS \"MAX\",\n MIN(t.duration) AS \"MIN\",\n AVG(t.duration) AS \"AVERAGE\",\n PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER BY t.duration) as \"MEDIAN\",\n PERCENTILE_CONT(0.95) WITHIN GROUP(ORDER BY t.duration) as \"95TH PERCENTILE\"\nFROM\n (SELECT \n tt.started_at * 1000 AS \"started at\",\n tf.finished_at * 1000 AS \"finished at\", \n tf.finished_at - tt.started_at AS duration\n FROM test_tasks AS tt\n INNER JOIN test_steps_stats AS tss\n ON tt.id = tss.test_task_id\n INNER JOIN test_tasks_status_enum AS enum\n ON tt.status_id = enum.id\n INNER JOIN build_tasks AS bt\n ON tt.build_task_id = bt.id\n INNER JOIN builds AS b\n ON bt.build_id = b.id\n INNER JOIN \n (SELECT \n tss.test_task_id, \n MAX(tss.finish_ts) AS finished_at \n FROM test_steps_stats AS tss\n INNER JOIN test_tasks AS tt\n ON tss.test_task_id = tt.id\n INNER JOIN build_tasks AS bt\n ON tt.build_task_id = bt.id\n INNER JOIN builds AS b\n ON bt.build_id = b.id\n WHERE b.id = $build_id\n GROUP BY tss.test_task_id) AS tf\n ON tf.test_task_id = tt.id\n WHERE b.id = $build_id\n ) AS t;" ,
2023-03-20 18:29:45 +00:00
"refId" : "A" ,
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
2023-03-10 10:24:17 +00:00
}
2023-03-20 18:29:45 +00:00
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
} ,
"urlPath" : ""
2023-03-10 10:24:17 +00:00
}
] ,
2023-03-22 10:30:12 +00:00
"title" : "Tests duration" ,
"type" : "stat"
} ,
{
"datasource" : {
"type" : "postgres" ,
"uid" : "${DS_POSTGRESQL}"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"fixedColor" : "blue" ,
"mode" : "fixed"
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green"
} ,
{
"color" : "red" ,
"value" : 80
}
]
} ,
"unit" : "s"
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 6 ,
"w" : 24 ,
"x" : 0 ,
"y" : 27
} ,
"id" : 33 ,
"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" ,
"method" : "GET" ,
"queryParams" : "" ,
"rawQuery" : true ,
"rawSql" : "SELECT \n enum.value AS \"step name\",\n SUM(tss.finish_ts - tss.start_ts) AS duration\nFROM test_tasks AS tt\nINNER JOIN test_steps_stats AS tss\n ON tt.id = tss.test_task_id\nINNER JOIN test_steps_enum AS enum\n ON tss.stat_name_id = enum.id\nINNER JOIN build_tasks AS bt\n ON tt.build_task_id = bt.id\nINNER JOIN builds AS b\n ON bt.build_id = b.id\nWHERE b.id = $build_id\nGROUP BY (enum.value); " ,
"refId" : "A" ,
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
2023-03-20 18:29:45 +00:00
}
] ,
2023-03-22 10:30:12 +00:00
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
} ,
"urlPath" : ""
}
] ,
"title" : "Test duration (group by test step)" ,
"transformations" : [
{
"id" : "rowsToFields" ,
"options" : { }
}
] ,
"type" : "bargauge"
} ,
{
"datasource" : {
"type" : "postgres" ,
"uid" : "${DS_POSTGRESQL}"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "palette-classic"
} ,
"custom" : {
"hideFrom" : {
"legend" : false ,
"tooltip" : false ,
"viz" : false
}
} ,
"mappings" : [ ] ,
"unit" : "s"
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 6 ,
"w" : 8 ,
"x" : 0 ,
"y" : 33
} ,
"id" : 35 ,
"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" ,
"rawQuery" : true ,
"rawSql" : "SELECT \n aenum.value AS arch,\n SUM(tss.finish_ts - tss.start_ts) AS duration\nFROM test_tasks AS tt\nINNER JOIN test_steps_stats AS tss\n ON tt.id = tss.test_task_id\nINNER JOIN build_tasks as bt\n ON tt.build_task_id = bt.id\nINNER JOIN arch_enum as aenum\n ON bt.arch_id = aenum.id\nINNER JOIN builds AS b\n ON bt.build_id = b.id\nWHERE b.id = $build_id\nGROUP BY (aenum.value); " ,
"refId" : "A" ,
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
2023-03-20 18:29:45 +00:00
}
}
] ,
2023-03-22 10:30:12 +00:00
"title" : "Tests duration (group by arch)" ,
"transformations" : [
{
"id" : "rowsToFields" ,
"options" : {
"mappings" : [ ]
}
}
] ,
"type" : "piechart"
} ,
{
"datasource" : {
"type" : "postgres" ,
"uid" : "${DS_POSTGRESQL}"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "palette-classic"
} ,
"custom" : {
"hideFrom" : {
"legend" : false ,
"tooltip" : false ,
"viz" : false
}
} ,
"mappings" : [ ] ,
"unit" : "s"
} ,
"overrides" : [ ]
} ,
"gridPos" : {
"h" : 6 ,
"w" : 16 ,
"x" : 8 ,
"y" : 33
} ,
"id" : 37 ,
"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" ,
"rawQuery" : true ,
"rawSql" : "SELECT \n tt.package_fullname AS \"package name\",\n SUM(tss.finish_ts - tss.start_ts) AS duration\nFROM test_tasks AS tt\nINNER JOIN test_steps_stats AS tss\n ON tt.id = tss.test_task_id\nINNER JOIN build_tasks AS bt\n ON tt.build_task_id = bt.id\nINNER JOIN builds AS b\n ON bt.build_id = b.id\nWHERE b.id = $build_id\nGROUP BY (tt.package_fullname); " ,
"refId" : "A" ,
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
}
}
] ,
"title" : "Tests duration (group by package)" ,
"transformations" : [
{
"id" : "rowsToFields" ,
"options" : {
"mappings" : [ ]
}
}
] ,
"type" : "piechart"
} ,
{
"collapsed" : true ,
"gridPos" : {
"h" : 1 ,
"w" : 24 ,
"x" : 0 ,
"y" : 39
} ,
"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" : 22
} ,
"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" : 31
} ,
"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" : "Details: build tasks" ,
"type" : "row"
} ,
{
"collapsed" : true ,
"gridPos" : {
"h" : 1 ,
"w" : 24 ,
"x" : 0 ,
"y" : 40
} ,
"id" : 39 ,
"panels" : [
{
"datasource" : {
"type" : "postgres" ,
"uid" : "${DS_POSTGRESQL}"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "thresholds"
} ,
"custom" : {
"align" : "left" ,
"displayMode" : "auto" ,
"filterable" : true ,
"inspect" : false
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green"
} ,
{
"color" : "red" ,
"value" : 80
}
]
}
} ,
"overrides" : [
{
"matcher" : {
"id" : "byName" ,
"options" : "duration"
} ,
"properties" : [
{
"id" : "unit" ,
"value" : "s"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "package"
} ,
"properties" : [
{
"id" : "custom.width" ,
"value" : 322
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "id"
} ,
"properties" : [
{
"id" : "custom.width" ,
"value" : 93
} ,
{
"id" : "links" ,
"value" : [
{
"title" : "" ,
"url" : "/d/8nFXlkB4z/test-task-details?orgId=1&var-id=${__value.raw}"
}
]
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "revision"
} ,
"properties" : [
{
"id" : "custom.width" ,
"value" : 62
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "build task id"
} ,
"properties" : [
{
"id" : "links" ,
"value" : [
{
"title" : "" ,
"url" : "/d/vtQClqxVk/build-task-details?orgId=1&var-build_task=${__value.raw}"
}
]
}
]
}
]
} ,
"gridPos" : {
"h" : 7 ,
"w" : 24 ,
"x" : 0 ,
"y" : 1
} ,
"id" : 41 ,
"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 DISTINCT tt.id,\n tt.build_task_id as \"build task id\",\n tt.package_fullname AS package,\n tt.revision,\n enum.value AS \"status\",\n tt.started_at * 1000 AS \"started at\",\n tf.finished_at * 1000 AS \"finished at\", \n tf.finished_at - tt.started_at AS duration\nFROM test_tasks AS tt\nINNER JOIN test_steps_stats AS tss\n ON tt.id = tss.test_task_id\nINNER JOIN test_tasks_status_enum AS enum\n ON tt.status_id = enum.id\nINNER JOIN build_tasks AS bt\n ON tt.build_task_id = bt.id\nINNER JOIN builds AS b\n ON bt.build_id = b.id\nINNER JOIN \n (SELECT \n tss.test_task_id, \n MAX(tss.finish_ts) AS finished_at \n FROM test_steps_stats AS tss\n INNER JOIN test_tasks AS tt\n ON tss.test_task_id = tt.id\n INNER JOIN build_tasks AS bt\n ON tt.build_task_id = bt.id\n INNER JOIN builds AS b\n ON bt.build_id = b.id\n WHERE b.id = $build_id\n GROUP BY tss.test_task_id) AS tf\n ON tf.test_task_id = tt.id\nWHERE b.id = $build_id;" ,
"refId" : "A" ,
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
} ,
"urlPath" : ""
}
] ,
"title" : "Test tasks" ,
"transformations" : [
{
"id" : "convertFieldType" ,
"options" : {
"conversions" : [
{
"destinationType" : "time" ,
"targetField" : "started at"
} ,
{
"destinationType" : "time" ,
"targetField" : "finished at"
}
] ,
"fields" : { }
}
}
] ,
"type" : "table"
} ,
{
"datasource" : {
"type" : "postgres" ,
"uid" : "${DS_POSTGRESQL}"
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"mode" : "thresholds"
} ,
"custom" : {
"align" : "left" ,
"displayMode" : "auto" ,
"filterable" : true ,
"inspect" : false
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green"
} ,
{
"color" : "red" ,
"value" : 80
}
]
}
} ,
"overrides" : [
{
"matcher" : {
"id" : "byName" ,
"options" : "test task id"
} ,
"properties" : [
{
"id" : "custom.width" ,
"value" : 159
} ,
{
"id" : "links" ,
"value" : [
{
"title" : "" ,
"url" : "/d/8nFXlkB4z/test-task-details?orgId=1&var-id=${__value.raw}"
}
]
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "duration"
} ,
"properties" : [
{
"id" : "unit" ,
"value" : "s"
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "package name"
} ,
"properties" : [
{
"id" : "custom.width" ,
"value" : 408
}
]
}
]
} ,
"gridPos" : {
"h" : 6 ,
"w" : 24 ,
"x" : 0 ,
"y" : 8
} ,
"id" : 43 ,
"options" : {
"footer" : {
"fields" : "" ,
"reducer" : [
"sum"
] ,
"show" : false
} ,
"showHeader" : true ,
"sortBy" : [
{
"desc" : true ,
"displayName" : "finished"
}
]
} ,
"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 tss.test_task_id AS \"test task id\", \n tt.package_fullname AS \"package name\",\n enum.value AS \"step name\",\n tss.start_ts * 1000 AS started,\n tss.finish_ts * 1000 AS finished,\n tss.finish_ts - tss.start_ts AS duration\nFROM test_tasks AS tt\nINNER JOIN test_steps_stats AS tss\n ON tt.id = tss.test_task_id\nINNER JOIN test_steps_enum AS enum\n ON tss.stat_name_id = enum.id\nINNER JOIN build_tasks AS bt\n ON tt.build_task_id = bt.id\nINNER JOIN builds AS b\n ON bt.build_id = b.id\nWHERE b.id = $build_id\n" ,
"refId" : "A" ,
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
} ,
"urlPath" : ""
}
] ,
"title" : "Test steps" ,
"transformations" : [
{
"id" : "convertFieldType" ,
"options" : {
"conversions" : [
{
"destinationType" : "time" ,
"targetField" : "started"
} ,
{
"destinationType" : "time" ,
"targetField" : "finished"
}
] ,
"fields" : { }
}
}
] ,
"type" : "table"
}
] ,
"title" : "Details: tests" ,
"type" : "row"
2023-03-07 23:02:25 +00:00
}
] ,
2023-03-10 10:24:17 +00:00
"refresh" : false ,
2023-03-07 23:02:25 +00:00
"schemaVersion" : 37 ,
"style" : "dark" ,
"tags" : [ ] ,
"templating" : {
"list" : [
{
"current" : { } ,
"datasource" : {
"type" : "postgres" ,
2023-03-22 10:30:12 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-07 23:02:25 +00:00
} ,
"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" : {
2023-03-10 10:24:17 +00:00
"from" : "2023-03-09T18:59:42.117Z" ,
"to" : "2023-03-10T18:59:42.117Z"
2023-03-07 23:02:25 +00:00
} ,
"timepicker" : { } ,
"timezone" : "" ,
"title" : "Build details" ,
"uid" : "dmVtrz-4k" ,
2023-03-22 10:30:12 +00:00
"version" : 34 ,
2023-03-07 23:02:25 +00:00
"weekStart" : ""
}