MATIH Platform is in active MVP development. Documentation reflects current implementation status.
9. Query Engine & SQL
Query Analytics
Resource Consumption

Resource Consumption

The resource metrics endpoint provides visibility into CPU, memory, and I/O consumption across query executions, enabling capacity planning and cost allocation.


Endpoint

GET /v1/analytics/resources
curl "http://query-engine:8080/v1/analytics/resources?days=7" \
  -H "Authorization: Bearer $JWT_TOKEN"
{
  "totalCpuTimeMs": 45000000,
  "totalMemoryPeakBytes": 68719476736,
  "totalBytesScanned": 10995116277760,
  "totalBytesOutput": 1073741824,
  "avgCpuTimePerQuery": 3600,
  "avgMemoryPerQuery": 134217728,
  "avgBytesScannedPerQuery": 879609302,
  "peakConcurrentQueries": 45,
  "resourceByEngine": {
    "TRINO": {
      "cpuTimeMs": 35000000,
      "bytesScanned": 8796093022208,
      "queryCount": 8200
    },
    "CLICKHOUSE": {
      "cpuTimeMs": 8000000,
      "bytesScanned": 2199023255552,
      "queryCount": 3800
    },
    "SPARK_ASYNC": {
      "cpuTimeMs": 2000000,
      "bytesScanned": 10995116277760,
      "queryCount": 450
    }
  },
  "topResourceConsumers": [
    {
      "userId": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
      "queryCount": 450,
      "totalCpuTimeMs": 8500000,
      "totalBytesScanned": 2199023255552
    }
  ]
}

Per-Query Statistics

Each QueryResponse includes detailed per-query resource statistics in the statistics field, as provided by the execution engine (primarily Trino):

MetricDescription
cpuTimeMsAggregate CPU time across all workers
wallTimeMsWall-clock execution time
peakMemoryBytesMaximum memory used at any point
inputRows / inputBytesData read from source tables
outputRows / outputBytesData in the final result
completedSplitsNumber of Trino splits (parallel units) processed