{ "meta": { "version": "1", "type": "dashboard", "name": "Task Summary Dashboard-Template", "description": "template created from dashboard: Task Summary Dashboard" }, "content": { "data": { "type": "dashboard", "attributes": { "name": "Task Summary Dashboard", "description": "" }, "relationships": { "label": { "data": [] }, "cell": { "data": [ { "type": "cell", "id": "0678a80423abc000" }, { "type": "cell", "id": "0678a80424d07000" }, { "type": "cell", "id": "0678a80425f56000" }, { "type": "cell", "id": "0678a804277f7000" }, { "type": "cell", "id": "0678a8042860b000" }, { "type": "cell", "id": "0678a8042958e000" }, { "type": "cell", "id": "0678a8042a8ad000" } ] }, "variable": { "data": [] } } }, "included": [ { "id": "0678a80423abc000", "type": "cell", "attributes": { "x": 0, "y": 4, "w": 9, "h": 4 }, "relationships": { "view": { "data": { "type": "view", "id": "0678a80423abc000" } } } }, { "id": "0678a80424d07000", "type": "cell", "attributes": { "x": 0, "y": 8, "w": 9, "h": 4 }, "relationships": { "view": { "data": { "type": "view", "id": "0678a80424d07000" } } } }, { "id": "0678a80425f56000", "type": "cell", "attributes": { "x": 0, "y": 0, "w": 3, "h": 4 }, "relationships": { "view": { "data": { "type": "view", "id": "0678a80425f56000" } } } }, { "id": "0678a804277f7000", "type": "cell", "attributes": { "x": 0, "y": 16, "w": 9, "h": 4 }, "relationships": { "view": { "data": { "type": "view", "id": "0678a804277f7000" } } } }, { "id": "0678a8042860b000", "type": "cell", "attributes": { "x": 0, "y": 12, "w": 9, "h": 4 }, "relationships": { "view": { "data": { "type": "view", "id": "0678a8042860b000" } } } }, { "id": "0678a8042958e000", "type": "cell", "attributes": { "x": 6, "y": 0, "w": 3, "h": 4 }, "relationships": { "view": { "data": { "type": "view", "id": "0678a8042958e000" } } } }, { "id": "0678a8042a8ad000", "type": "cell", "attributes": { "x": 3, "y": 0, "w": 3, "h": 4 }, "relationships": { "view": { "data": { "type": "view", "id": "0678a8042a8ad000" } } } }, { "type": "view", "id": "0678a80423abc000", "attributes": { "name": "Error Rates Per Task", "properties": { "shape": "chronograf-v2", "type": "table", "queries": [ { "text": "import \"influxdata/influxdb/v1\"\nimport \"strings\"\nimport \"regexp\"\n\n\nfrom(bucket: \"_tasks\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"runs\")\n |> filter(fn: (r) => r[\"_field\"] == \"logs\" or r._field == \"name\")\n |> v1.fieldsAsCols()\n |> group(columns: [\"taskID\", \"name\", \"status\"])\n |> count(column: \"logs\")\n |> group()\n |> pivot(rowKey:[\"taskID\", \"name\"], columnKey: [\"status\"], valueColumn: \"logs\")\n |> map(fn: (r) => ({r with success: if exists r.success then r.success else 0, failed: if exists r.failed then r.failed else 0}))\n |> map(fn: (r)=> ({r with errorRate: float(v: r.failed)/float(v: r.success+r.failed) }))", "editMode": "advanced", "name": "", "builderConfig": { "buckets": [], "tags": [ { "key": "_measurement", "values": [], "aggregateFunctionType": "filter" } ], "functions": [ { "name": "mean" } ], "aggregateWindow": { "period": "auto", "fillValues": false } } } ], "colors": [ { "id": "base", "type": "text", "hex": "#ffffff", "name": "white", "value": 0 } ], "tableOptions": { "verticalTimeAxis": true, "sortBy": { "internalName": "failed", "displayName": "failed", "visible": true }, "wrapping": "", "fixFirstColumn": false }, "fieldOptions": [ { "internalName": "name", "displayName": "name", "visible": true }, { "internalName": "taskID", "displayName": "taskID", "visible": true }, { "internalName": "success", "displayName": "success", "visible": true }, { "internalName": "failed", "displayName": "failed", "visible": true }, { "internalName": "errorRate", "displayName": "errorRate", "visible": true } ], "timeFormat": "YYYY-MM-DD HH:mm:ss", "decimalPlaces": { "isEnforced": false, "digits": 2 }, "note": "", "showNoteWhenEmpty": false } } }, { "type": "view", "id": "0678a80424d07000", "attributes": { "name": "Error List", "properties": { "shape": "chronograf-v2", "type": "table", "queries": [ { "text": "import \"influxdata/influxdb/v1\"\nimport \"strings\"\nimport \"regexp\"\n\n\nfrom(bucket: \"_tasks\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"runs\" and r.status == \"failed\")\n |> filter(fn: (r) => r[\"_field\"] == \"errorMessage\" or r._field == \"runID\" or r._field == \"name\")\n |> v1.fieldsAsCols()\n |> group()\n // |> group(columns: [\"taskID\", \"runID\", \"name\", \"status\"])\n", "editMode": "advanced", "name": "", "builderConfig": { "buckets": [], "tags": [ { "key": "_measurement", "values": [], "aggregateFunctionType": "filter" } ], "functions": [ { "name": "mean" } ], "aggregateWindow": { "period": "auto", "fillValues": false } } } ], "colors": [ { "id": "base", "type": "text", "hex": "#ffffff", "name": "white", "value": 0 } ], "tableOptions": { "verticalTimeAxis": true, "sortBy": { "internalName": "failed", "displayName": "failed", "visible": true }, "wrapping": "", "fixFirstColumn": false }, "fieldOptions": [ { "internalName": "_time", "displayName": "_time", "visible": true }, { "internalName": "name", "displayName": "name", "visible": true }, { "internalName": "taskID", "displayName": "taskID", "visible": true }, { "internalName": "runID", "displayName": "runID", "visible": true }, { "internalName": "_value", "displayName": "_value", "visible": false }, { "internalName": "status", "displayName": "status", "visible": false }, { "internalName": "failed", "displayName": "failed", "visible": false }, { "internalName": "success", "displayName": "success", "visible": false }, { "internalName": "errorRate", "displayName": "errorRate", "visible": false }, { "internalName": "_measurement", "displayName": "_measurement", "visible": false }, { "internalName": "_start", "displayName": "_start", "visible": false }, { "internalName": "_stop", "displayName": "_stop", "visible": false }, { "internalName": "logs", "displayName": "logs", "visible": false }, { "internalName": "message", "displayName": "message", "visible": true } ], "timeFormat": "YYYY-MM-DD HH:mm:ss", "decimalPlaces": { "isEnforced": false, "digits": 2 }, "note": "", "showNoteWhenEmpty": false } } }, { "type": "view", "id": "0678a80425f56000", "attributes": { "name": "Total Runs", "properties": { "shape": "chronograf-v2", "type": "single-stat", "queries": [ { "text": "import \"strings\"\nimport \"regexp\"\n\nfrom(bucket: \"_tasks\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"runs\")\n |> filter(fn: (r) => r[\"_field\"] == \"logs\")\n |> map(fn: (r) => {\n ind = regexp.findStringIndex(r: /name: \\\\\\\\\\\\\".+?\\\\\\\\\\\\\"/, v: r._value)\n finalstring = strings.trimSuffix(v: strings.trimPrefix(v: strings.substring(end: ind[1], start: ind[0], v: r._value ), prefix: \"name: \\\\\\\\\\\\\\\"\"), suffix: \"\\\\\\\\\\\\\\\"\")\n return {r with name: finalstring }\n }\n )\n |> group(columns: [\"_start\"])\n |> count()\n |> rename(columns: {_start: \"_time\"})\n \n ", "editMode": "advanced", "name": "", "builderConfig": { "buckets": [], "tags": [ { "key": "_measurement", "values": [], "aggregateFunctionType": "filter" } ], "functions": [ { "name": "mean" } ], "aggregateWindow": { "period": "auto", "fillValues": false } } } ], "prefix": "", "tickPrefix": "", "suffix": "", "tickSuffix": "", "colors": [ { "id": "base", "type": "text", "hex": "#00C9FF", "name": "laser", "value": 0 } ], "decimalPlaces": { "isEnforced": true, "digits": 2 }, "note": "", "showNoteWhenEmpty": false, "legendOpacity": 0, "legendOrientationThreshold": 0 } } }, { "type": "view", "id": "0678a804277f7000", "attributes": { "name": "Last Successful Run Per Task", "properties": { "shape": "chronograf-v2", "type": "table", "queries": [ { "text": "import \"influxdata/influxdb/v1\"\n\nimport \"strings\"\nimport \"regexp\"\n\n\nfrom(bucket: \"_tasks\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"runs\")\n |> filter(fn: (r) => r[\"status\"] == \"success\")\n |> group(columns: [\"taskID\"])\n |> v1.fieldsAsCols()\n |> map(fn: (r) => {\n ind = regexp.findStringIndex(r: /name: \\\\\\\\\\\\\".+?\\\\\\\\\\\\\"/, v: r.logs)\n finalstring = strings.trimSuffix(v: strings.trimPrefix(v: strings.substring(end: ind[1], start: ind[0], v: r.logs ), prefix: \"name: \\\\\\\\\\\\\\\"\"), suffix: \"\\\\\\\\\\\\\\\"\")\n return {r with name: finalstring }\n }\n )\n |> group(columns: [\"taskID\", \"name\"])\n |> rename(columns: {logs: \"_value\"})\n |> last()\n |> drop(columns: [\"_value\"])\n |> group()\n \n ", "editMode": "advanced", "name": "", "builderConfig": { "buckets": [], "tags": [ { "key": "_measurement", "values": [], "aggregateFunctionType": "filter" } ], "functions": [ { "name": "mean" } ], "aggregateWindow": { "period": "auto", "fillValues": false } } } ], "colors": [ { "id": "base", "type": "text", "hex": "#ffffff", "name": "white", "value": 0 }, { "id": "c749e60f-b9a3-436b-996a-d3eca0dc87b7", "type": "text", "hex": "#513CC6", "name": "planet", "value": 95 } ], "tableOptions": { "verticalTimeAxis": true, "sortBy": { "internalName": "", "displayName": "", "visible": false }, "wrapping": "", "fixFirstColumn": false }, "fieldOptions": [ { "internalName": "_start", "displayName": "_start", "visible": false }, { "internalName": "_stop", "displayName": "_stop", "visible": false }, { "internalName": "name", "displayName": "name", "visible": true }, { "internalName": "taskID", "displayName": "taskID", "visible": false }, { "internalName": "_time", "displayName": "_time", "visible": true }, { "internalName": "runID", "displayName": "runID", "visible": false }, { "internalName": "scheduledFor", "displayName": "scheduledFor", "visible": true }, { "internalName": "requestedAt", "displayName": "requestedAt", "visible": true }, { "internalName": "startedAt", "displayName": "startedAt", "visible": true }, { "internalName": "finishedAt", "displayName": "finishedAt", "visible": true } ], "timeFormat": "YYYY-MM-DD HH:mm:ss", "decimalPlaces": { "isEnforced": false, "digits": 2 }, "note": "", "showNoteWhenEmpty": false } } }, { "type": "view", "id": "0678a8042860b000", "attributes": { "name": "Error Rates Over Time (All tasks)", "properties": { "shape": "chronograf-v2", "queries": [ { "text": "import \"strings\"\nimport \"regexp\"\n\n\nfrom(bucket: \"_tasks\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"runs\")\n |> filter(fn: (r) => r[\"_field\"] == \"logs\")\n |> map(fn: (r) => {\n ind = regexp.findStringIndex(r: /name: \\\\\\\\\\\\\".+?\\\\\\\\\\\\\"/, v: r._value)\n finalstring = strings.trimSuffix(v: strings.trimPrefix(v: strings.substring(end: ind[1], start: ind[0], v: r._value ), prefix: \"name: \\\\\\\\\\\\\\\"\"), suffix: \"\\\\\\\\\\\\\\\"\")\n return {r with name: finalstring }\n }\n )\n |> group(columns: [\"status\"])\n |> aggregateWindow(every: 1h, fn: count)\n |> pivot(rowKey:[\"_time\"], columnKey: [\"status\"], valueColumn: \"_value\")\n |> filter(fn: (r) => r.failed + r.success != 0)\n |> map(fn: (r)=> ({r with _value: float(v: r.failed)/float(v: r.success+r.failed) }))", "editMode": "advanced", "name": "", "builderConfig": { "buckets": [], "tags": [ { "key": "_measurement", "values": [], "aggregateFunctionType": "filter" } ], "functions": [ { "name": "mean" } ], "aggregateWindow": { "period": "auto", "fillValues": false } } } ], "axes": { "x": { "bounds": [ "", "" ], "label": "", "prefix": "", "suffix": "", "base": "10", "scale": "linear" }, "y": { "bounds": [ "", "" ], "label": "", "prefix": "", "suffix": "", "base": "2", "scale": "linear" } }, "type": "xy", "legend": {}, "geom": "line", "colors": [ { "id": "fcee9956-f868-405d-8f3b-863ab456067d", "type": "scale", "hex": "#31C0F6", "name": "Nineteen Eighty Four", "value": 0 }, { "id": "613dba11-30be-4d41-91d8-ffeac3ee9458", "type": "scale", "hex": "#A500A5", "name": "Nineteen Eighty Four", "value": 0 }, { "id": "4b074fc6-f802-4b2d-aad3-fe0624970891", "type": "scale", "hex": "#FF7E27", "name": "Nineteen Eighty Four", "value": 0 } ], "note": "", "showNoteWhenEmpty": false, "xColumn": "_time", "yColumn": "_value", "shadeBelow": false, "position": "overlaid", "timeFormat": "", "hoverDimension": "", "legendOpacity": 0, "legendOrientationThreshold": 0 } } }, { "type": "view", "id": "0678a8042958e000", "attributes": { "name": "Total Failing", "properties": { "shape": "chronograf-v2", "type": "single-stat", "queries": [ { "text": "import \"strings\"\nimport \"regexp\"\n\nfrom(bucket: \"_tasks\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"runs\")\n |> filter(fn: (r) => r[\"_field\"] == \"logs\")\n |> filter(fn: (r) => r.status != \"success\")\n |> group(columns: [\"_start\"])\n |> count()\n |> rename(columns: {_start: \"_time\"})\n \n ", "editMode": "advanced", "name": "", "builderConfig": { "buckets": [], "tags": [ { "key": "_measurement", "values": [], "aggregateFunctionType": "filter" } ], "functions": [ { "name": "mean" } ], "aggregateWindow": { "period": "auto", "fillValues": false } } } ], "prefix": "", "tickPrefix": "", "suffix": "", "tickSuffix": "", "colors": [ { "id": "base", "type": "text", "hex": "#BF3D5E", "name": "ruby", "value": 0 } ], "decimalPlaces": { "isEnforced": true, "digits": 2 }, "note": "", "showNoteWhenEmpty": false, "legendOpacity": 0, "legendOrientationThreshold": 0 } } }, { "type": "view", "id": "0678a8042a8ad000", "attributes": { "name": "Total Succeeding", "properties": { "shape": "chronograf-v2", "type": "single-stat", "queries": [ { "text": "import \"strings\"\nimport \"regexp\"\n\nfrom(bucket: \"_tasks\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"runs\")\n |> filter(fn: (r) => r[\"_field\"] == \"logs\")\n |> filter(fn: (r) => r.status == \"success\")\n |> group(columns: [\"_start\"])\n |> count()\n |> rename(columns: {_start: \"_time\"})\n \n ", "editMode": "advanced", "name": "", "builderConfig": { "buckets": [], "tags": [ { "key": "_measurement", "values": [], "aggregateFunctionType": "filter" } ], "functions": [ { "name": "mean" } ], "aggregateWindow": { "period": "auto", "fillValues": false } } } ], "prefix": "", "tickPrefix": "", "suffix": "", "tickSuffix": "", "colors": [ { "id": "base", "type": "text", "hex": "#7CE490", "name": "honeydew", "value": 0 } ], "decimalPlaces": { "isEnforced": true, "digits": 2 }, "note": "", "showNoteWhenEmpty": false, "legendOpacity": 0, "legendOrientationThreshold": 0 } } } ] }, "labels": [] }