---
title: "Compute Pool Utilization"
method: GET
path: "/compute-pools/v2/{pool_name}/utilization"
tags: ["COMPUTE_POOLS_V2"]
---

# Compute Pool Utilization

`GET /compute-pools/v2/{pool_name}/utilization`

CPU and memory utilization for one compute pool, hour by hour.

Hourly by default because that is the grain a sizing decision is made at: a
daily mean erases the short bursts that prove an application is in use.
`day` exists for windows too long to render at hour grain.

A bucket with no telemetry is **absent** from `data`, and a metric the
agent never served is **null**, not zero -- `coverage.has_cpu_telemetry` /
`has_mem_telemetry` say which case applies. Low utilization here is also
not on its own evidence a pool is unused: an SPCS container can render an
application at near-zero CPU while the substantive SQL runs on a warehouse.

Ratios are a fraction of the capacity **in that bucket**. A pool
autoscales, so capacity moves between buckets and a ratio is not comparable
across them on its own; `cpu_capacity_cores` / `mem_capacity_bytes` travel
with every point so a consumer can recover the absolute value.

## Path parameters

- `pool_name` string, required

## Query parameters

- `start_date` string, date-time, required
- `end_date` string, date-time, required
- `aggregation_level` string
- `instance_id` string
- `navigationSource` string, nullable

## Response `200`

Successful Response

- ComputePoolUtilizationResponse
  - `compute_pool_name` string, required
  - `aggregation_level` string, required
  - `coverage` ComputePoolUtilizationCoverage, required — What was actually measured over the window. ``has_cpu_telemetry`` / ``has_mem_telemetry`` are the fields a client should branch on before rendering a metric. False means the SPCS agent served no such gauge for this pool, and the correct rendering is a stated absence rather than a zero line.
    - `has_cpu_telemetry` boolean
    - `has_mem_telemetry` boolean
    - `node_count` integer
    - `node_hours` integer
    - `measured_hours` integer
    - `sample_count` integer
    - `cpu_sample_count` integer
    - `mem_sample_count` integer
    - `peak_cpu_util` number, nullable
    - `peak_mem_util` number, nullable
    - `cpu_quiet_node_hours` integer
  - `data` ComputePoolUtilizationPoint[], required
    - `bucket` string, date-time, required
    - `node_count` integer, required
    - `sample_count` integer, required
    - `cpu_sample_count` integer, required
    - `mem_sample_count` integer, required
    - `cpu_capacity_cores` number, nullable
    - `mem_capacity_bytes` integer, nullable
    - `cpu_used_avg` number, nullable
    - `mem_used_avg` number, nullable
    - `cpu_used_p95` number, nullable
    - `mem_used_p95` number, nullable
    - `cpu_used_max` number, nullable
    - `mem_used_max` number, nullable
    - `cpu_util_avg` number, nullable
    - `cpu_util_p95` number, nullable
    - `cpu_util_max` number, nullable
    - `mem_util_avg` number, nullable
    - `mem_util_p95` number, nullable
    - `mem_util_max` number, nullable
    - `cpu_quiet_node_hours` integer

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-23** `eebfc2f234e1` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/myaltimate/apis/fastapi/changes/compute-pools/v2/:pool_name/utilization/get.md)

---

[API](https://skmtc.dev/myaltimate/apis/fastapi.md) · [All operations](https://skmtc.dev/myaltimate/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc.dev/myaltimate/apis/fastapi/revisions/eb8306fa77dd?raw)
