📦 EqualifyEverything / equalify-reflow

📄 job-processing.json · 142 lines
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142{
  "id": null,
  "uid": "equalify-job-processing",
  "title": "Equalify Reflow - Job Processing",
  "tags": ["equalify", "jobs", "processing"],
  "timezone": "browser",
  "schemaVersion": 38,
  "version": 0,
  "refresh": "15s",
  "panels": [
    {
      "id": 1,
      "gridPos": {"x": 0, "y": 0, "w": 12, "h": 8},
      "type": "piechart",
      "title": "Jobs by Status",
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "targets": [
        {
          "expr": "jobs_completed_total",
          "legendFormat": "{{status}}",
          "refId": "A"
        }
      ],
      "options": {
        "legend": {
          "displayMode": "list",
          "placement": "bottom"
        }
      }
    },
    {
      "id": 2,
      "gridPos": {"x": 12, "y": 0, "w": 6, "h": 8},
      "type": "stat",
      "title": "Jobs per Hour",
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "targets": [
        {
          "expr": "rate(jobs_submitted_total[1h]) * 3600",
          "legendFormat": "Submission Rate",
          "refId": "A"
        }
      ],
      "options": {
        "reduceOptions": {
          "values": false,
          "calcs": ["lastNotNull"]
        },
        "textMode": "value_and_name"
      },
      "fieldConfig": {
        "defaults": {
          "unit": "short",
          "decimals": 1
        }
      }
    },
    {
      "id": 3,
      "gridPos": {"x": 18, "y": 0, "w": 6, "h": 8},
      "type": "gauge",
      "title": "Success Rate",
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "targets": [
        {
          "expr": "sum(rate(jobs_completed_total{status=\"success\"}[5m])) / sum(rate(jobs_completed_total[5m])) * 100",
          "legendFormat": "Success %",
          "refId": "A"
        }
      ],
      "options": {
        "showThresholdLabels": false,
        "showThresholdMarkers": true
      },
      "fieldConfig": {
        "defaults": {
          "unit": "percent",
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {"value": 0, "color": "red"},
              {"value": 75, "color": "yellow"},
              {"value": 95, "color": "green"}
            ]
          },
          "max": 100,
          "min": 0
        }
      }
    },
    {
      "id": 4,
      "gridPos": {"x": 0, "y": 8, "w": 24, "h": 10},
      "type": "timeseries",
      "title": "Processing Duration by Stage (p95)",
      "datasource": {
        "type": "prometheus",
        "uid": "prometheus"
      },
      "targets": [
        {
          "expr": "histogram_quantile(0.95, rate(job_duration_seconds_bucket{stage=\"pii_scan\"}[5m]))",
          "legendFormat": "PII Scan (p95)",
          "refId": "A"
        },
        {
          "expr": "histogram_quantile(0.95, rate(job_duration_seconds_bucket{stage=\"processing\"}[5m]))",
          "legendFormat": "AI Processing (p95)",
          "refId": "B"
        },
        {
          "expr": "histogram_quantile(0.95, rate(job_duration_seconds_bucket{stage=\"total\"}[5m]))",
          "legendFormat": "Total (p95)",
          "refId": "C"
        }
      ],
      "fieldConfig": {
        "defaults": {
          "unit": "s"
        }
      },
      "options": {
        "legend": {
          "showLegend": true,
          "displayMode": "list",
          "placement": "bottom",
          "calcs": ["lastNotNull", "max", "mean"]
        }
      }
    }
  ]
}