2023-03-06 18:21:56 +00:00
{
"__inputs" : [
{
2023-03-07 23:02:25 +00:00
"name" : "DS_POSTGRESQL" ,
"label" : "PostgreSQL" ,
2023-03-06 18:21:56 +00:00
"description" : "" ,
"type" : "datasource" ,
"pluginId" : "postgres" ,
"pluginName" : "PostgreSQL"
}
] ,
"__elements" : { } ,
"__requires" : [
2023-03-07 23:02:25 +00:00
{
"type" : "panel" ,
"id" : "bargauge" ,
"name" : "Bar gauge" ,
"version" : ""
} ,
2023-03-06 18:21:56 +00:00
{
"type" : "grafana" ,
"id" : "grafana" ,
"name" : "Grafana" ,
2023-03-07 23:02:25 +00:00
"version" : "9.3.2"
2023-03-06 18:21:56 +00:00
} ,
{
"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"
}
]
} ,
2023-03-08 08:43:46 +00:00
"editable" : false ,
2023-03-06 18:21:56 +00:00
"fiscalYearStartMonth" : 0 ,
"graphTooltip" : 0 ,
"id" : null ,
"links" : [ ] ,
"liveNow" : false ,
"panels" : [
{
"collapsed" : false ,
"gridPos" : {
"h" : 1 ,
"w" : 24 ,
"x" : 0 ,
"y" : 0
} ,
"id" : 17 ,
"panels" : [ ] ,
"title" : "Summary" ,
"type" : "row"
} ,
{
"datasource" : {
"type" : "postgres" ,
2023-03-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +00:00
} ,
"fieldConfig" : {
"defaults" : {
"color" : {
"fixedColor" : "blue" ,
"mode" : "fixed"
} ,
"custom" : {
"hideFrom" : {
"legend" : false ,
"tooltip" : false ,
"viz" : false
}
} ,
"mappings" : [ ]
} ,
"overrides" : [
{
"matcher" : {
"id" : "byName" ,
"options" : "finished"
} ,
"properties" : [
{
"id" : "color" ,
"value" : {
"fixedColor" : "green" ,
"mode" : "fixed"
}
}
]
} ,
{
"matcher" : {
"id" : "byName" ,
"options" : "running"
} ,
"properties" : [
{
"id" : "color" ,
"value" : {
"fixedColor" : "semi-dark-blue" ,
"mode" : "fixed"
}
}
]
}
]
} ,
"gridPos" : {
"h" : 7 ,
"w" : 8 ,
"x" : 0 ,
"y" : 1
} ,
"id" : 9 ,
"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-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +00:00
} ,
"editorMode" : "code" ,
"format" : "table" ,
"hide" : false ,
"rawQuery" : true ,
"rawSql" : "SELECT COUNT(*) AS finished\nFROM builds\nWHERE $__unixEpochFilter(created_at) AND finished_at is NOT NULL;" ,
"refId" : "B" ,
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
}
} ,
{
"datasource" : {
"type" : "postgres" ,
2023-03-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +00:00
} ,
"editorMode" : "code" ,
"format" : "table" ,
"hide" : false ,
"rawQuery" : true ,
"rawSql" : "SELECT COUNT(*) AS running\nFROM builds\nWHERE $__unixEpochFilter(created_at) AND finished_at is NULL;" ,
"refId" : "C" ,
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
}
}
] ,
"title" : "Builds" ,
"type" : "piechart"
} ,
{
"datasource" : {
"type" : "postgres" ,
2023-03-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +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" : 7 ,
"w" : 8 ,
"x" : 8 ,
"y" : 1
} ,
"id" : 10 ,
"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-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +00:00
} ,
"editorMode" : "code" ,
"format" : "table" ,
"hide" : false ,
"rawQuery" : true ,
"rawSql" : "SELECT COUNT(id) AS idle FROM build_tasks \nWHERE $__unixEpochFilter(started_at) AND status_id = 0;" ,
"refId" : "idle" ,
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
}
} ,
{
"datasource" : {
"type" : "postgres" ,
2023-03-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +00:00
} ,
"editorMode" : "code" ,
"format" : "table" ,
"hide" : false ,
"rawQuery" : true ,
"rawSql" : "SELECT COUNT(id) AS started FROM build_tasks \nWHERE $__unixEpochFilter(started_at) AND status_id = 1;" ,
"refId" : "started" ,
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
}
} ,
{
"datasource" : {
"type" : "postgres" ,
2023-03-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +00:00
} ,
"editorMode" : "code" ,
"format" : "table" ,
"hide" : false ,
"rawQuery" : true ,
"rawSql" : "SELECT COUNT(id) AS completed FROM build_tasks \nWHERE $__unixEpochFilter(started_at) AND status_id = 2;" ,
"refId" : "completed" ,
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
}
} ,
{
"datasource" : {
"type" : "postgres" ,
2023-03-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +00:00
} ,
"editorMode" : "code" ,
"format" : "table" ,
"hide" : false ,
"rawQuery" : true ,
"rawSql" : "SELECT COUNT(id) AS failed FROM build_tasks \nWHERE $__unixEpochFilter(started_at) AND status_id = 3;" ,
"refId" : "failed" ,
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
}
} ,
{
"datasource" : {
"type" : "postgres" ,
2023-03-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +00:00
} ,
"editorMode" : "code" ,
"format" : "table" ,
"hide" : false ,
"rawQuery" : true ,
"rawSql" : "SELECT COUNT(id) AS excluded FROM build_tasks \nWHERE $__unixEpochFilter(started_at) 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-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +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" : "red" ,
"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" : 7 ,
"w" : 8 ,
"x" : 16 ,
"y" : 1
} ,
"id" : 11 ,
"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-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +00:00
} ,
"editorMode" : "code" ,
"format" : "table" ,
"hide" : false ,
"rawQuery" : true ,
"rawSql" : "SELECT COUNT(id) AS i686 FROM build_tasks \nWHERE $__unixEpochFilter(started_at) AND arch_id = 0;" ,
"refId" : "i686" ,
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
}
} ,
{
"datasource" : {
"type" : "postgres" ,
2023-03-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +00:00
} ,
"editorMode" : "code" ,
"format" : "table" ,
"hide" : false ,
"rawQuery" : true ,
"rawSql" : "SELECT COUNT(id) AS x86_64 FROM build_tasks \nWHERE $__unixEpochFilter(started_at) 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-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +00:00
} ,
"editorMode" : "code" ,
"format" : "table" ,
"hide" : false ,
"rawQuery" : true ,
"rawSql" : "SELECT COUNT(id) AS aarch64 FROM build_tasks \nWHERE $__unixEpochFilter(started_at) AND arch_id = 2;" ,
"refId" : "aarch64" ,
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
}
} ,
{
"datasource" : {
"type" : "postgres" ,
2023-03-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +00:00
} ,
"editorMode" : "code" ,
"format" : "table" ,
"hide" : false ,
"rawQuery" : true ,
"rawSql" : "SELECT COUNT(id) AS ppc64le FROM build_tasks \nWHERE $__unixEpochFilter(started_at) AND arch_id = 3;" ,
"refId" : "ppc64le" ,
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
}
} ,
{
"datasource" : {
"type" : "postgres" ,
2023-03-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +00:00
} ,
"editorMode" : "code" ,
"format" : "table" ,
"hide" : false ,
"rawQuery" : true ,
"rawSql" : "SELECT COUNT(id) AS s390x FROM build_tasks \nWHERE $__unixEpochFilter(started_at) AND arch_id = 4;" ,
"refId" : "excluded" ,
"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-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +00:00
} ,
2023-03-08 08:43:46 +00:00
"description" : "" ,
2023-03-06 18:21:56 +00:00
"fieldConfig" : {
"defaults" : {
"color" : {
"fixedColor" : "blue" ,
"mode" : "fixed"
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : null
}
]
} ,
"unit" : "s"
} ,
"overrides" : [ ]
} ,
"gridPos" : {
2023-03-08 08:43:46 +00:00
"h" : 5 ,
2023-03-06 18:21:56 +00:00
"w" : 12 ,
"x" : 0 ,
"y" : 8
} ,
"id" : 13 ,
"options" : {
"colorMode" : "value" ,
"graphMode" : "area" ,
"justifyMode" : "auto" ,
"orientation" : "auto" ,
"reduceOptions" : {
"calcs" : [
"lastNotNull"
] ,
"fields" : "" ,
"values" : false
} ,
"textMode" : "auto"
} ,
2023-03-07 23:02:25 +00:00
"pluginVersion" : "9.3.2" ,
2023-03-06 18:21:56 +00:00
"targets" : [
{
"cacheDurationSeconds" : 300 ,
"datasource" : {
"type" : "postgres" ,
2023-03-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +00:00
} ,
"editorMode" : "code" ,
"fields" : [
{
"jsonPath" : ""
}
] ,
"format" : "table" ,
"method" : "GET" ,
"queryParams" : "" ,
"rawQuery" : true ,
"rawSql" : "SELECT MAX(finished_at - created_at) AS MAX\nFROM builds\nWHERE $__unixEpochFilter(created_at) AND finished_at IS NOT NULL;" ,
2023-03-07 23:02:25 +00:00
"refId" : "max" ,
2023-03-06 18:21:56 +00:00
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
} ,
"urlPath" : ""
} ,
{
"cacheDurationSeconds" : 300 ,
"datasource" : {
"type" : "postgres" ,
2023-03-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +00:00
} ,
"editorMode" : "code" ,
"fields" : [
{
"jsonPath" : ""
}
] ,
"format" : "table" ,
"hide" : false ,
"method" : "GET" ,
"queryParams" : "" ,
"rawQuery" : true ,
"rawSql" : "SELECT MIN(finished_at - created_at) AS MIN\nFROM builds\nWHERE $__unixEpochFilter(created_at) AND finished_at IS NOT NULL;" ,
2023-03-07 23:02:25 +00:00
"refId" : "min" ,
2023-03-06 18:21:56 +00:00
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
} ,
"urlPath" : ""
} ,
{
"datasource" : {
"type" : "postgres" ,
2023-03-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +00:00
} ,
"editorMode" : "code" ,
"format" : "table" ,
"hide" : false ,
"rawQuery" : true ,
2023-03-07 23:02:25 +00:00
"rawSql" : "SELECT PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER BY durations.duration) as median FROM \n(SELECT (finished_at - created_at) AS duration \n FROM builds\n WHERE $__unixEpochFilter(created_at) AND finished_at IS NOT NULL) as durations\n" ,
"refId" : "meidan" ,
2023-03-06 18:21:56 +00:00
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
2023-03-07 23:02:25 +00:00
}
2023-03-08 08:43:46 +00:00
} ,
{
"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\" \nFROM \n (SELECT (finished_at - created_at) AS duration \n FROM builds\n WHERE $__unixEpochFilter(created_at) AND finished_at IS NOT NULL) as durations\n" ,
"refId" : "95th" ,
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
}
2023-03-06 18:21:56 +00:00
}
] ,
"title" : "Build duration" ,
2023-03-08 08:43:46 +00:00
"transformations" : [
{
"id" : "organize" ,
"options" : { }
}
] ,
2023-03-06 18:21:56 +00:00
"type" : "stat"
} ,
{
"datasource" : {
"type" : "postgres" ,
2023-03-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +00:00
} ,
"description" : "" ,
"fieldConfig" : {
"defaults" : {
"color" : {
"fixedColor" : "blue" ,
"mode" : "fixed"
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : null
}
]
} ,
"unit" : "s"
} ,
"overrides" : [ ]
} ,
"gridPos" : {
2023-03-08 08:43:46 +00:00
"h" : 5 ,
2023-03-06 18:21:56 +00:00
"w" : 12 ,
"x" : 12 ,
"y" : 8
} ,
"id" : 18 ,
"options" : {
"colorMode" : "value" ,
"graphMode" : "area" ,
"justifyMode" : "auto" ,
"orientation" : "auto" ,
"reduceOptions" : {
"calcs" : [
"lastNotNull"
] ,
"fields" : "" ,
"values" : false
} ,
"textMode" : "auto"
} ,
2023-03-07 23:02:25 +00:00
"pluginVersion" : "9.3.2" ,
2023-03-06 18:21:56 +00:00
"targets" : [
{
"cacheDurationSeconds" : 300 ,
"datasource" : {
"type" : "postgres" ,
2023-03-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +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 $__unixEpochFilter(started_at) AND finished_at IS NOT NULL AND status_id <> 4" ,
2023-03-07 23:02:25 +00:00
"refId" : "max" ,
2023-03-06 18:21:56 +00:00
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
} ,
"urlPath" : ""
} ,
{
"cacheDurationSeconds" : 300 ,
"datasource" : {
"type" : "postgres" ,
2023-03-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +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 $__unixEpochFilter(started_at) AND finished_at IS NOT NULL AND status_id <> 4" ,
2023-03-07 23:02:25 +00:00
"refId" : "min" ,
2023-03-06 18:21:56 +00:00
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
} ,
"urlPath" : ""
} ,
{
"cacheDurationSeconds" : 300 ,
"datasource" : {
"type" : "postgres" ,
2023-03-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +00:00
} ,
"editorMode" : "code" ,
"fields" : [
{
"jsonPath" : ""
}
] ,
"format" : "table" ,
"hide" : false ,
"method" : "GET" ,
"queryParams" : "" ,
"rawQuery" : true ,
2023-03-07 23:02:25 +00:00
"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 $__unixEpochFilter(started_at) AND finished_at IS NOT NULL AND status_id <> 4) as durations\n\n\n" ,
"refId" : "median" ,
2023-03-06 18:21:56 +00:00
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
} ,
"urlPath" : ""
2023-03-08 08:43:46 +00:00
} ,
{
"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 $__unixEpochFilter(started_at) AND finished_at IS NOT NULL AND status_id <> 4) as durations" ,
"refId" : "95th percentile" ,
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
}
2023-03-06 18:21:56 +00:00
}
] ,
"title" : "Build task duration" ,
"type" : "stat"
} ,
{
"datasource" : {
"type" : "postgres" ,
2023-03-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +00:00
} ,
"description" : "" ,
"fieldConfig" : {
"defaults" : {
"color" : {
2023-03-07 23:02:25 +00:00
"fixedColor" : "#61a69d" ,
"mode" : "fixed"
2023-03-06 18:21:56 +00:00
} ,
"mappings" : [ ] ,
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{
"color" : "green" ,
"value" : null
}
]
} ,
2023-03-07 23:02:25 +00:00
"unit" : "s"
} ,
"overrides" : [ ]
2023-03-06 18:21:56 +00:00
} ,
"gridPos" : {
2023-03-07 23:02:25 +00:00
"h" : 8 ,
2023-03-06 18:21:56 +00:00
"w" : 24 ,
"x" : 0 ,
2023-03-08 08:43:46 +00:00
"y" : 13
2023-03-06 18:21:56 +00:00
} ,
2023-03-07 23:02:25 +00:00
"id" : 20 ,
2023-03-06 18:21:56 +00:00
"options" : {
2023-03-07 23:02:25 +00:00
"displayMode" : "gradient" ,
"minVizHeight" : 10 ,
"minVizWidth" : 0 ,
"orientation" : "auto" ,
"reduceOptions" : {
"calcs" : [
"lastNotNull"
2023-03-06 18:21:56 +00:00
] ,
2023-03-07 23:02:25 +00:00
"fields" : "" ,
"values" : false
2023-03-06 18:21:56 +00:00
} ,
2023-03-07 23:02:25 +00:00
"showUnfilled" : false
2023-03-06 18:21:56 +00:00
} ,
2023-03-07 23:02:25 +00:00
"pluginVersion" : "9.3.2" ,
2023-03-06 18:21:56 +00:00
"targets" : [
{
"cacheDurationSeconds" : 300 ,
"datasource" : {
"type" : "postgres" ,
2023-03-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +00:00
} ,
"editorMode" : "code" ,
"fields" : [
{
"jsonPath" : ""
}
] ,
"format" : "table" ,
"method" : "GET" ,
"queryParams" : "" ,
"rawQuery" : true ,
2023-03-07 23:02:25 +00:00
"rawSql" : "SELECT SUM(end_ts - start_ts) as upload\nFROM build_node_stats \nWHERE stat_name_id = 0 AND $__unixEpochFilter(start_ts);" ,
"refId" : "upload" ,
2023-03-06 18:21:56 +00:00
"sql" : {
"columns" : [
{
2023-03-07 23:02:25 +00:00
"parameters" : [
{
"name" : "start_ts" ,
"type" : "functionParameter"
}
] ,
2023-03-06 18:21:56 +00:00
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
} ,
2023-03-07 23:02:25 +00:00
"table" : "build_node_stats" ,
2023-03-06 18:21:56 +00:00
"urlPath" : ""
2023-03-07 23:02:25 +00:00
} ,
2023-03-06 18:21:56 +00:00
{
2023-03-07 23:02:25 +00:00
"datasource" : {
"type" : "postgres" ,
"uid" : "${DS_POSTGRESQL}"
} ,
"editorMode" : "code" ,
"format" : "table" ,
"hide" : false ,
"rawQuery" : true ,
"rawSql" : "SELECT SUM(end_ts - start_ts) as build_srpm\nFROM build_node_stats \nWHERE stat_name_id = 2 AND $__unixEpochFilter(start_ts);" ,
"refId" : "build_srpm" ,
"sql" : {
"columns" : [
2023-03-06 18:21:56 +00:00
{
2023-03-07 23:02:25 +00:00
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
2023-03-06 18:21:56 +00:00
{
2023-03-07 23:02:25 +00:00
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
2023-03-06 18:21:56 +00:00
}
] ,
2023-03-07 23:02:25 +00:00
"limit" : 50
}
} ,
{
"datasource" : {
"type" : "postgres" ,
"uid" : "${DS_POSTGRESQL}"
} ,
"editorMode" : "code" ,
"format" : "table" ,
"hide" : false ,
"rawQuery" : true ,
"rawSql" : "SELECT SUM(end_ts - start_ts) as git_checkout\nFROM build_node_stats \nWHERE stat_name_id = 3 AND $__unixEpochFilter(start_ts);" ,
"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 end_ts - start_ts as build_binaries\nFROM build_node_stats \nWHERE stat_name_id = 4 AND $__unixEpochFilter(start_ts);" ,
"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 end_ts - start_ts as notarize_artifacts\nFROM build_node_stats \nWHERE stat_name_id = 7 AND $__unixEpochFilter(start_ts)" ,
"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 SUM(end_ts - start_ts) as source_authenticate\nFROM build_node_stats \nWHERE stat_name_id = 8 AND $__unixEpochFilter(start_ts);" ,
"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 SUM(end_ts - start_ts) as logs_processing\nFROM web_node_stats \nWHERE stat_name_id = 1 AND $__unixEpochFilter(start_ts);" ,
"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 SUM(end_ts - start_ts) as packages_processing\nFROM web_node_stats \nWHERE stat_name_id = 2 AND $__unixEpochFilter(start_ts);" ,
"refId" : "B" ,
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
2023-03-06 18:21:56 +00:00
}
}
] ,
2023-03-07 23:02:25 +00:00
"title" : "Build task steps duration (SUM)" ,
"type" : "bargauge"
2023-03-06 18:21:56 +00:00
} ,
{
"datasource" : {
"type" : "postgres" ,
2023-03-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +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-07 23:02:25 +00:00
} ,
{
"color" : "red" ,
"value" : 80
2023-03-06 18:21:56 +00:00
}
]
}
} ,
"overrides" : [
{
"matcher" : {
"id" : "byName" ,
"options" : "duration"
} ,
"properties" : [
{
"id" : "unit" ,
"value" : "s"
}
]
2023-03-07 23:02:25 +00:00
} ,
{
"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}"
}
]
}
]
2023-03-06 18:21:56 +00:00
}
]
} ,
"gridPos" : {
2023-03-07 23:02:25 +00:00
"h" : 15 ,
2023-03-06 18:21:56 +00:00
"w" : 24 ,
"x" : 0 ,
2023-03-08 08:43:46 +00:00
"y" : 21
2023-03-06 18:21:56 +00:00
} ,
2023-03-07 23:02:25 +00:00
"id" : 2 ,
2023-03-06 18:21:56 +00:00
"options" : {
"footer" : {
"fields" : "" ,
"reducer" : [
"sum"
] ,
"show" : false
} ,
"showHeader" : true ,
"sortBy" : [
{
2023-03-07 23:02:25 +00:00
"desc" : true ,
2023-03-06 18:21:56 +00:00
"displayName" : "duration"
}
]
} ,
2023-03-07 23:02:25 +00:00
"pluginVersion" : "9.3.2" ,
2023-03-06 18:21:56 +00:00
"targets" : [
{
"cacheDurationSeconds" : 300 ,
"datasource" : {
"type" : "postgres" ,
2023-03-07 23:02:25 +00:00
"uid" : "${DS_POSTGRESQL}"
2023-03-06 18:21:56 +00:00
} ,
"editorMode" : "code" ,
"fields" : [
{
"jsonPath" : ""
}
] ,
"format" : "table" ,
2023-03-07 23:02:25 +00:00
"hide" : false ,
2023-03-06 18:21:56 +00:00
"method" : "GET" ,
"queryParams" : "" ,
"rawQuery" : true ,
2023-03-07 23:02:25 +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 $__unixEpochFilter(created_at) AND b.finished_at IS NOT NULL" ,
2023-03-06 18:21:56 +00:00
"refId" : "A" ,
"sql" : {
"columns" : [
{
"parameters" : [ ] ,
"type" : "function"
}
] ,
"groupBy" : [
{
"property" : {
"type" : "string"
} ,
"type" : "groupBy"
}
] ,
"limit" : 50
} ,
"urlPath" : ""
}
] ,
2023-03-07 23:02:25 +00:00
"title" : "Finished builds" ,
2023-03-06 18:21:56 +00:00
"transformations" : [
{
"id" : "convertFieldType" ,
"options" : {
"conversions" : [
{
"destinationType" : "time" ,
2023-03-07 23:02:25 +00:00
"targetField" : "created"
2023-03-06 18:21:56 +00:00
} ,
{
"destinationType" : "time" ,
"targetField" : "finished"
}
] ,
"fields" : { }
}
}
] ,
"type" : "table"
}
] ,
"refresh" : "1m" ,
"schemaVersion" : 37 ,
"style" : "dark" ,
"tags" : [ ] ,
"templating" : {
"list" : [ ]
} ,
"time" : {
"from" : "now-2d" ,
"to" : "now"
} ,
"timepicker" : { } ,
"timezone" : "" ,
"title" : "Build analytics" ,
"uid" : "02mg4oxVk" ,
2023-03-08 08:43:46 +00:00
"version" : 24 ,
2023-03-06 18:21:56 +00:00
"weekStart" : ""
}