/ opencodehub / deploy / grafana-dashboard.json
swadhinbiswas feat: implement air-gapped mode, UI fixes, and project management integrations · 7/9/2026
e3bd4a1
123 lines · 3.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
{
  "annotations": { "list": [] },
  "editable": true,
  "fiscalYearStartMonth": 0,
  "graphTooltip": 1,
  "id": null,
  "links": [],
  "liveNow": false,
  "panels": [
    {
      "title": "Request Rate",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 0, "y": 0 },
      "targets": [
        {
          "expr": "rate(http_requests_total[5m])",
          "legendFormat": "{{method}} {{route}} {{code}}"
        }
      ]
    },
    {
      "title": "Request Latency (p95)",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 12, "y": 0 },
      "targets": [
        {
          "expr": "histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m]))",
          "legendFormat": "p95"
        },
        {
          "expr": "histogram_quantile(0.99, rate(http_request_duration_seconds_bucket[5m]))",
          "legendFormat": "p99"
        }
      ]
    },
    {
      "title": "Error Rate",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 0, "y": 8 },
      "targets": [
        {
          "expr": "rate(http_requests_total{code=~\"5..\"}[5m])",
          "legendFormat": "5xx errors"
        },
        {
          "expr": "rate(http_requests_total{code=~\"4..\"}[5m])",
          "legendFormat": "4xx errors"
        }
      ]
    },
    {
      "title": "Database Query Latency",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 12, "y": 8 },
      "targets": [
        {
          "expr": "histogram_quantile(0.95, rate(db_query_duration_seconds_bucket[5m]))",
          "legendFormat": "p95 {{operation}} {{table}}"
        }
      ]
    },
    {
      "title": "Git Operations",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 0, "y": 16 },
      "targets": [
        {
          "expr": "rate(git_clone_total[5m])",
          "legendFormat": "clones ({{status}})"
        },
        {
          "expr": "rate(git_push_total[5m])",
          "legendFormat": "pushes ({{status}})"
        }
      ]
    },
    {
      "title": "CI/CD Queue Depth",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 12, "y": 16 },
      "targets": [
        {
          "expr": "ci_queue_depth",
          "legendFormat": "queue depth"
        },
        {
          "expr": "active_runners",
          "legendFormat": "active runners"
        }
      ]
    },
    {
      "title": "Rate Limit Rejections",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 0, "y": 24 },
      "targets": [
        {
          "expr": "rate(rate_limit_hits_total[5m])",
          "legendFormat": "{{tier}}"
        }
      ]
    },
    {
      "title": "Auth Attempts",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 12, "y": 24 },
      "targets": [
        {
          "expr": "rate(auth_attempts_total[5m])",
          "legendFormat": "{{method}} {{result}}"
        }
      ]
    }
  ],
  "schemaVersion": 38,
  "style": "dark",
  "tags": ["opencodehub"],
  "templating": { "list": [] },
  "time": { "from": "now-1h", "to": "now" },
  "title": "OpenCodeHub Overview",
  "uid": "opencodehub-overview"
}