Skip to content

Commit 5a7aec6

Browse files
committed
feat(dashboards): Enhance horde-performance dashboard with detailed descriptions and new latency metrics
- Updated the description to provide comprehensive details about the dashboard's purpose and data sources. - Added new panels for tracking latency metrics related to the /generate, /generate/pop, and /generate/submit phases, including p95 and mean durations. - Introduced two data source pickers for better metric segregation between the AI Horde App and Telemetry data.
1 parent 1f1af33 commit 5a7aec6

5 files changed

Lines changed: 1692 additions & 197 deletions

File tree

dashboards/ai_horde_otlp/horde-app-traces.json

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
}
1313
]
1414
},
15-
"description": "RED metrics (Rate, Errors, Duration) for AI Horde hot paths, sourced from OTLP histograms emitted by horde/telemetry.py and the webhook / background-job counters.",
15+
"description": "RED view of the AI Horde application built from OTLP metrics and Tempo-derived span metrics, both of which live in the ai-horde-telemetry Mimir tenant (Telemetry datasource, uid mimir-telemetry). The Service Graph panel reads Tempo directly (uid tempo). Telemetry is exported by a subset of hosts, so the panels aggregate rather than split per instance.",
1616
"editable": true,
1717
"fiscalYearStartMonth": 0,
1818
"graphTooltip": 1,
@@ -226,16 +226,16 @@
226226
},
227227
{
228228
"collapsed": false,
229-
"gridPos": { "h": 1, "w": 24, "x": 0, "y": 60 },
229+
"gridPos": { "h": 1, "w": 24, "x": 0, "y": 42 },
230230
"id": 105,
231231
"title": "Service Graph & Request Funnel (Tempo metrics-generator)",
232232
"type": "row"
233233
},
234234
{
235235
"datasource": { "type": "tempo", "uid": "tempo" },
236236
"description": "Service graph derived from traces. Cap query interval to ≤24h — the ai-horde-telemetry tenant has 3-day retention.",
237-
"gridPos": { "h": 12, "w": 12, "x": 0, "y": 61 },
238-
"id": 30,
237+
"gridPos": { "h": 12, "w": 12, "x": 0, "y": 43 },
238+
"id": 300,
239239
"options": { "edges": { "mainStatUnit": "ms" }, "nodes": { "mainStatUnit": "short" } },
240240
"targets": [{ "queryType": "serviceMap", "serviceMapQuery": "{}", "refId": "A" }],
241241
"title": "Service Graph",
@@ -244,8 +244,8 @@
244244
{
245245
"datasource": { "type": "prometheus", "uid": "${datasource}" },
246246
"description": "Request funnel via Tempo span-metrics generator: generate → pop → submit. Compare rates to spot stage-level bottlenecks.",
247-
"gridPos": { "h": 6, "w": 4, "x": 12, "y": 61 },
248-
"id": 31,
247+
"gridPos": { "h": 6, "w": 4, "x": 12, "y": 43 },
248+
"id": 301,
249249
"fieldConfig": { "defaults": { "color": { "fixedColor": "blue", "mode": "fixed" }, "unit": "ops" }, "overrides": [] },
250250
"options": { "reduceOptions": { "calcs": ["mean"], "fields": "", "values": false }, "orientation": "auto", "textMode": "auto", "colorMode": "background", "graphMode": "area" },
251251
"targets": [{ "expr": "sum(rate(traces_spanmetrics_calls_total{service=\"ai-horde\", span_name=~\".*generate.*\"}[5m]))", "legendFormat": "/generate", "refId": "A" }],
@@ -254,8 +254,8 @@
254254
},
255255
{
256256
"datasource": { "type": "prometheus", "uid": "${datasource}" },
257-
"gridPos": { "h": 6, "w": 4, "x": 16, "y": 61 },
258-
"id": 32,
257+
"gridPos": { "h": 6, "w": 4, "x": 16, "y": 43 },
258+
"id": 302,
259259
"fieldConfig": { "defaults": { "color": { "fixedColor": "purple", "mode": "fixed" }, "unit": "ops" }, "overrides": [] },
260260
"options": { "reduceOptions": { "calcs": ["mean"], "fields": "", "values": false }, "orientation": "auto", "textMode": "auto", "colorMode": "background", "graphMode": "area" },
261261
"targets": [{ "expr": "sum(rate(traces_spanmetrics_calls_total{service=\"ai-horde\", span_name=~\".*pop.*\"}[5m]))", "legendFormat": "/pop", "refId": "A" }],
@@ -264,8 +264,8 @@
264264
},
265265
{
266266
"datasource": { "type": "prometheus", "uid": "${datasource}" },
267-
"gridPos": { "h": 6, "w": 4, "x": 20, "y": 61 },
268-
"id": 33,
267+
"gridPos": { "h": 6, "w": 4, "x": 20, "y": 43 },
268+
"id": 303,
269269
"fieldConfig": { "defaults": { "color": { "fixedColor": "green", "mode": "fixed" }, "unit": "ops" }, "overrides": [] },
270270
"options": { "reduceOptions": { "calcs": ["mean"], "fields": "", "values": false }, "orientation": "auto", "textMode": "auto", "colorMode": "background", "graphMode": "area" },
271271
"targets": [{ "expr": "sum(rate(traces_spanmetrics_calls_total{service=\"ai-horde\", span_name=~\".*submit.*\"}[5m]))", "legendFormat": "/submit", "refId": "A" }],
@@ -275,8 +275,8 @@
275275
{
276276
"datasource": { "type": "prometheus", "uid": "${datasource}" },
277277
"description": "Combined funnel trend over time. Prefer time ranges ≤ 24h (telemetry tenant retention is 3d).",
278-
"gridPos": { "h": 6, "w": 12, "x": 12, "y": 67 },
279-
"id": 34,
278+
"gridPos": { "h": 6, "w": 12, "x": 12, "y": 49 },
279+
"id": 304,
280280
"type": "timeseries",
281281
"fieldConfig": {
282282
"defaults": {
@@ -309,10 +309,10 @@
309309
"type": "datasource",
310310
"query": "prometheus",
311311
"refresh": 1,
312-
"regex": "",
312+
"regex": "/Telemetry/",
313313
"multi": false,
314314
"includeAll": false,
315-
"description": "Defaults to the Telemetry tenant where OTLP-sourced histograms (horde_*_duration, http_server_duration) and Tempo-derived span metrics live; switch to AI Horde App if you've routed OTLP exports to a different tenant.",
315+
"description": "Every panel on this dashboard reads the ai-horde-telemetry Mimir tenant, served by the Telemetry datasource (uid mimir-telemetry): OTLP-sourced histograms (horde_*_duration, http_server_duration) and the Tempo metrics-generator span metrics both land there. The regex pins the picker to that datasource so the panels cannot be pointed at a tenant that carries none of these series.",
316316
"current": {
317317
"selected": false,
318318
"text": "Telemetry",
@@ -326,5 +326,5 @@
326326
"timezone": "browser",
327327
"title": "Horde App Traces (OTLP RED)",
328328
"uid": "horde-app-traces",
329-
"version": 2
329+
"version": 3
330330
}

0 commit comments

Comments
 (0)