{
"__comment": "Starter Grafana dashboard for gigastt. Import via Dashboards > Import in the Grafana UI, or place under your provisioning/dashboards/ directory. Requires gigastt >= 0.8.0 with --metrics enabled and a Prometheus datasource named 'Prometheus'.",
"title": "gigastt",
"uid": "gigastt-overview",
"schemaVersion": 39,
"version": 1,
"refresh": "30s",
"time": { "from": "now-1h", "to": "now" },
"timezone": "browser",
"tags": ["gigastt", "speech-to-text"],
"panels": [
{
"id": 1,
"title": "Request Rate",
"type": "timeseries",
"gridPos": { "x": 0, "y": 0, "w": 12, "h": 8 },
"datasource": { "type": "prometheus", "uid": "prometheus" },
"fieldConfig": {
"defaults": {
"unit": "reqps",
"custom": { "lineWidth": 2 }
}
},
"targets": [
{
"expr": "sum(rate(gigastt_http_requests_total[1m])) by (path, method)",
"legendFormat": "{{method}} {{path}}",
"refId": "A"
}
]
},
{
"id": 2,
"title": "Request Duration (p50 / p95 / p99)",
"type": "timeseries",
"gridPos": { "x": 12, "y": 0, "w": 12, "h": 8 },
"datasource": { "type": "prometheus", "uid": "prometheus" },
"fieldConfig": {
"defaults": {
"unit": "s",
"custom": { "lineWidth": 2 }
}
},
"targets": [
{
"expr": "histogram_quantile(0.50, sum(rate(gigastt_http_request_duration_seconds_bucket[5m])) by (le))",
"legendFormat": "p50",
"refId": "A"
},
{
"expr": "histogram_quantile(0.95, sum(rate(gigastt_http_request_duration_seconds_bucket[5m])) by (le))",
"legendFormat": "p95",
"refId": "B"
},
{
"expr": "histogram_quantile(0.99, sum(rate(gigastt_http_request_duration_seconds_bucket[5m])) by (le))",
"legendFormat": "p99",
"refId": "C"
}
]
},
{
"id": 3,
"title": "Error Rate (5xx)",
"type": "timeseries",
"gridPos": { "x": 0, "y": 8, "w": 12, "h": 8 },
"datasource": { "type": "prometheus", "uid": "prometheus" },
"fieldConfig": {
"defaults": {
"unit": "percentunit",
"custom": { "lineWidth": 2 },
"thresholds": {
"mode": "absolute",
"steps": [
{ "color": "green", "value": null },
{ "color": "red", "value": 0.05 }
]
}
}
},
"targets": [
{
"expr": "sum(rate(gigastt_http_requests_total{status=~\"5..\"}[5m])) / sum(rate(gigastt_http_requests_total[5m]))",
"legendFormat": "5xx rate",
"refId": "A"
}
]
},
{
"id": 4,
"title": "Pool Available Sessions",
"type": "timeseries",
"gridPos": { "x": 12, "y": 8, "w": 12, "h": 8 },
"datasource": { "type": "prometheus", "uid": "prometheus" },
"fieldConfig": {
"defaults": {
"unit": "short",
"custom": { "lineWidth": 2 },
"thresholds": {
"mode": "absolute",
"steps": [
{ "color": "red", "value": 0 },
{ "color": "yellow", "value": 1 },
{ "color": "green", "value": 2 }
]
}
}
},
"targets": [
{
"expr": "gigastt_pool_available",
"legendFormat": "available",
"refId": "A"
}
]
},
{
"id": 5,
"title": "WebSocket Active Connections",
"type": "timeseries",
"gridPos": { "x": 0, "y": 16, "w": 8, "h": 8 },
"datasource": { "type": "prometheus", "uid": "prometheus" },
"fieldConfig": {
"defaults": {
"unit": "short",
"custom": { "lineWidth": 2 }
}
},
"targets": [
{
"expr": "gigastt_ws_active_connections",
"legendFormat": "active",
"refId": "A"
}
]
},
{
"id": 6,
"title": "Inference Duration (p50 / p95 / p99)",
"type": "timeseries",
"gridPos": { "x": 8, "y": 16, "w": 8, "h": 8 },
"datasource": { "type": "prometheus", "uid": "prometheus" },
"fieldConfig": {
"defaults": {
"unit": "s",
"custom": { "lineWidth": 2 }
}
},
"targets": [
{
"expr": "histogram_quantile(0.50, sum(rate(gigastt_inference_duration_seconds_bucket[5m])) by (le))",
"legendFormat": "p50",
"refId": "A"
},
{
"expr": "histogram_quantile(0.95, sum(rate(gigastt_inference_duration_seconds_bucket[5m])) by (le))",
"legendFormat": "p95",
"refId": "B"
},
{
"expr": "histogram_quantile(0.99, sum(rate(gigastt_inference_duration_seconds_bucket[5m])) by (le))",
"legendFormat": "p99",
"refId": "C"
}
]
},
{
"id": 7,
"title": "Rate Limit Rejections",
"type": "timeseries",
"gridPos": { "x": 16, "y": 16, "w": 8, "h": 8 },
"datasource": { "type": "prometheus", "uid": "prometheus" },
"fieldConfig": {
"defaults": {
"unit": "reqps",
"custom": { "lineWidth": 2 }
}
},
"targets": [
{
"expr": "sum(rate(gigastt_rate_limit_rejections_total[1m]))",
"legendFormat": "rejections/s",
"refId": "A"
}
]
}
]
}