Engine Statistics
The engine statistics endpoint provides per-engine breakdowns of query execution metrics, helping operators understand workload distribution and engine performance.
Endpoint
GET /v1/analytics/enginescurl "http://query-engine:8080/v1/analytics/engines?days=7" \
-H "Authorization: Bearer $JWT_TOKEN"[
{
"engine": "TRINO",
"queryCount": 8200,
"successRate": 0.97,
"avgLatencyMs": 2850,
"p50LatencyMs": 1200,
"p95LatencyMs": 8500,
"p99LatencyMs": 24000,
"totalBytesScanned": 8796093022208,
"cacheHitRate": 0.32
},
{
"engine": "CLICKHOUSE",
"queryCount": 3800,
"successRate": 0.99,
"avgLatencyMs": 450,
"p50LatencyMs": 120,
"p95LatencyMs": 1800,
"p99LatencyMs": 4500,
"totalBytesScanned": 2199023255552,
"cacheHitRate": 0.48
},
{
"engine": "SPARK_ASYNC",
"queryCount": 450,
"successRate": 0.92,
"avgLatencyMs": 45000,
"p50LatencyMs": 32000,
"p95LatencyMs": 120000,
"p99LatencyMs": 300000,
"totalBytesScanned": 10995116277760,
"cacheHitRate": 0.05
}
]Engine Selection Rationale
The SmartQueryRouter routes queries based on SQL analysis. Understanding per-engine statistics helps validate routing decisions:
| Engine | Ideal Workload | Warning Signs |
|---|---|---|
| Trino | Complex joins, window functions, cross-catalog | p95 > 30s means queries may need optimization |
| ClickHouse | Real-time aggregations, simple filters | Low success rate may indicate schema issues |
| Spark Async | Large-scale scans (>100GB) | Long queue times indicate capacity constraints |
| DuckDB | Small local datasets | High latency suggests miscategorized queries |
| StarRocks | Pre-aggregated OLAP | Low hit rate means materialized views need refresh |