Cut every panel/board description down to a short statement of what the number is. Drops the design-reasoning prose, edge-case notes, and operator-attributed quotes that had accumulated in an earlier pass — useful context while building the boards, wrong shape for a tooltip an operator glances at mid-incident.
462 lines
13 KiB
JSON
462 lines
13 KiB
JSON
{
|
|
"title": "hyperhive · forge (content)",
|
|
"uid": "hyperhive-swarm-forge",
|
|
"description": "An inventory of what the forge holds.",
|
|
"editable": true,
|
|
"refresh": "5m",
|
|
"schemaVersion": 39,
|
|
"tags": ["hyperhive", "swarm", "forge", "content"],
|
|
"time": { "from": "now-7d", "to": "now" },
|
|
"timezone": "utc",
|
|
"version": 1,
|
|
"templating": { "list": [] },
|
|
"panels": [
|
|
{
|
|
"id": 1,
|
|
"type": "stat",
|
|
"title": "Repositories",
|
|
"description": "Total repositories on the forge.",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"gridPos": { "h": 4, "w": 4, "x": 0, "y": 0 },
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"expr": "gitea_repositories",
|
|
"instant": true,
|
|
"legendFormat": "repos"
|
|
}
|
|
],
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"decimals": 0,
|
|
"color": { "mode": "fixed", "fixedColor": "text" },
|
|
"mappings": []
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"graphMode": "none",
|
|
"colorMode": "value",
|
|
"textMode": "value",
|
|
"justifyMode": "auto",
|
|
"reduceOptions": {
|
|
"calcs": ["lastNotNull"],
|
|
"fields": "",
|
|
"values": false
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 2,
|
|
"type": "stat",
|
|
"title": "Users",
|
|
"description": "Total forge accounts.",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"gridPos": { "h": 4, "w": 4, "x": 4, "y": 0 },
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"expr": "gitea_users",
|
|
"instant": true,
|
|
"legendFormat": "users"
|
|
}
|
|
],
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"decimals": 0,
|
|
"color": { "mode": "fixed", "fixedColor": "text" },
|
|
"mappings": []
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"graphMode": "none",
|
|
"colorMode": "value",
|
|
"textMode": "value",
|
|
"justifyMode": "auto",
|
|
"reduceOptions": {
|
|
"calcs": ["lastNotNull"],
|
|
"fields": "",
|
|
"values": false
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 3,
|
|
"type": "stat",
|
|
"title": "Organizations",
|
|
"description": "Total forge organizations.",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"gridPos": { "h": 4, "w": 4, "x": 8, "y": 0 },
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"expr": "gitea_organizations",
|
|
"instant": true,
|
|
"legendFormat": "orgs"
|
|
}
|
|
],
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"decimals": 0,
|
|
"color": { "mode": "fixed", "fixedColor": "text" },
|
|
"mappings": []
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"graphMode": "none",
|
|
"colorMode": "value",
|
|
"textMode": "value",
|
|
"justifyMode": "auto",
|
|
"reduceOptions": {
|
|
"calcs": ["lastNotNull"],
|
|
"fields": "",
|
|
"values": false
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 4,
|
|
"type": "stat",
|
|
"title": "Issues open",
|
|
"description": "Currently open issues, across every repo.",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"gridPos": { "h": 4, "w": 4, "x": 12, "y": 0 },
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"expr": "gitea_issues_open",
|
|
"instant": true,
|
|
"legendFormat": "open"
|
|
}
|
|
],
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"decimals": 0,
|
|
"color": { "mode": "fixed", "fixedColor": "text" },
|
|
"mappings": []
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"graphMode": "none",
|
|
"colorMode": "value",
|
|
"textMode": "value",
|
|
"justifyMode": "auto",
|
|
"reduceOptions": {
|
|
"calcs": ["lastNotNull"],
|
|
"fields": "",
|
|
"values": false
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 5,
|
|
"type": "stat",
|
|
"title": "Issues closed",
|
|
"description": "Cumulative closed issues, across every repo.",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"gridPos": { "h": 4, "w": 4, "x": 16, "y": 0 },
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"expr": "gitea_issues_closed",
|
|
"instant": true,
|
|
"legendFormat": "closed"
|
|
}
|
|
],
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"decimals": 0,
|
|
"color": { "mode": "fixed", "fixedColor": "text" },
|
|
"mappings": []
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"graphMode": "none",
|
|
"colorMode": "value",
|
|
"textMode": "value",
|
|
"justifyMode": "auto",
|
|
"reduceOptions": {
|
|
"calcs": ["lastNotNull"],
|
|
"fields": "",
|
|
"values": false
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 6,
|
|
"type": "stat",
|
|
"title": "Releases",
|
|
"description": "Cumulative tagged releases, across every repo.",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"gridPos": { "h": 4, "w": 4, "x": 20, "y": 0 },
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"expr": "gitea_releases",
|
|
"instant": true,
|
|
"legendFormat": "releases"
|
|
}
|
|
],
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"decimals": 0,
|
|
"color": { "mode": "fixed", "fixedColor": "text" },
|
|
"mappings": []
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"graphMode": "none",
|
|
"colorMode": "value",
|
|
"textMode": "value",
|
|
"justifyMode": "auto",
|
|
"reduceOptions": {
|
|
"calcs": ["lastNotNull"],
|
|
"fields": "",
|
|
"values": false
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 10,
|
|
"type": "timeseries",
|
|
"title": "Issues: open vs closed",
|
|
"description": "Open and closed issue counts, over time.",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"gridPos": { "h": 8, "w": 12, "x": 0, "y": 4 },
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"expr": "gitea_issues_open",
|
|
"legendFormat": "open"
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"expr": "gitea_issues_closed",
|
|
"legendFormat": "closed"
|
|
}
|
|
],
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"decimals": 0,
|
|
"color": { "mode": "palette-classic" },
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisSoftMin": 0
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"showLegend": true,
|
|
"calcs": []
|
|
},
|
|
"tooltip": { "mode": "multi", "sort": "desc" }
|
|
}
|
|
},
|
|
{
|
|
"id": 11,
|
|
"type": "timeseries",
|
|
"title": "Repositories and users",
|
|
"description": "Repository and user counts, over time.",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"gridPos": { "h": 8, "w": 12, "x": 12, "y": 4 },
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"expr": "gitea_repositories",
|
|
"legendFormat": "repos"
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"expr": "gitea_users",
|
|
"legendFormat": "users"
|
|
}
|
|
],
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"decimals": 0,
|
|
"color": { "mode": "palette-classic" },
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 0,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisSoftMin": 0
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"showLegend": true,
|
|
"calcs": []
|
|
},
|
|
"tooltip": { "mode": "multi", "sort": "desc" }
|
|
}
|
|
},
|
|
{
|
|
"id": 20,
|
|
"type": "timeseries",
|
|
"title": "Discussion volume",
|
|
"description": "Comments and review comments, over time.",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"gridPos": { "h": 7, "w": 12, "x": 0, "y": 12 },
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"expr": "gitea_comments",
|
|
"legendFormat": "comments"
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"expr": "gitea_attachments",
|
|
"legendFormat": "attachments"
|
|
}
|
|
],
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"decimals": 0,
|
|
"color": { "mode": "palette-classic" },
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisSoftMin": 0
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"showLegend": true,
|
|
"calcs": []
|
|
},
|
|
"tooltip": { "mode": "multi", "sort": "desc" }
|
|
}
|
|
},
|
|
{
|
|
"id": 21,
|
|
"type": "timeseries",
|
|
"title": "Automation surface",
|
|
"description": "Webhooks and their queued delivery tasks.",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"gridPos": { "h": 7, "w": 12, "x": 12, "y": 12 },
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"expr": "gitea_webhooks",
|
|
"legendFormat": "webhooks"
|
|
},
|
|
{
|
|
"refId": "B",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"expr": "gitea_hooktasks",
|
|
"legendFormat": "hooktasks"
|
|
}
|
|
],
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"decimals": 0,
|
|
"color": { "mode": "palette-classic" },
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineWidth": 1,
|
|
"fillOpacity": 0,
|
|
"showPoints": "never",
|
|
"spanNulls": false,
|
|
"axisSoftMin": 0
|
|
}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"showLegend": true,
|
|
"calcs": []
|
|
},
|
|
"tooltip": { "mode": "multi", "sort": "desc" }
|
|
}
|
|
},
|
|
{
|
|
"id": 30,
|
|
"type": "bargauge",
|
|
"title": "Issues by label — every issue ever, ranked",
|
|
"description": "Every issue, grouped by label.",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"gridPos": { "h": 16, "w": 24, "x": 0, "y": 19 },
|
|
"targets": [
|
|
{
|
|
"refId": "A",
|
|
"datasource": { "type": "prometheus", "uid": "@datasourceUid@" },
|
|
"expr": "sort_desc(gitea_issues_by_label)",
|
|
"legendFormat": "{{label}}",
|
|
"instant": true
|
|
}
|
|
],
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"decimals": 0,
|
|
"min": 0,
|
|
"color": { "mode": "fixed", "fixedColor": "semi-dark-blue" },
|
|
"noValue": "no series — check whether the forgejo process restarted since [metrics] last changed; an absent series never says why it is absent"
|
|
},
|
|
"overrides": []
|
|
},
|
|
"options": {
|
|
"orientation": "horizontal",
|
|
"displayMode": "basic",
|
|
"showUnfilled": true,
|
|
"reduceOptions": {
|
|
"calcs": ["lastNotNull"],
|
|
"fields": "",
|
|
"values": false
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|