Skip to content
Stackship documentation Svenska

MonitoringUsers

Read a resource's metrics

Find a resource's CPU, memory, disk, network and HTTP charts in the portal, read the notes under them, and fetch the same numbers through the API.

Requires: monitoring/read

Reading metrics needs monitoring/read on the resource. Reader, Contributor, Owner, the platform roles and every scoped reader and operator role hold it — see Permissions.

In the portal

  1. Open the resource. The Metrics card is at the bottom of its Overview tab.
  2. Choose the range in the card's header: 15m, 1h, 6h, 1d or 7d. It starts at 15m, and every chart in the card shows the same range.
  3. Above the charts, each metric has a chip with its latest value. Select a chip to hide the metric and again to show it.
  4. Point at a chart to see every visible metric at that moment in one tooltip.

The charts are grouped by unit, one chart per unit, on a shared time axis:

Chart title Metrics in it
CPU and memory, % of limit CPU, Memory and Disk, as percentages
CPU, cores CPU, when the resource declares no limits
Memory, bytes Memory, when the resource declares no limits
Network, bytes/s Network In and Network Out
HTTP requests per 30 s, 1 min or 5 min HTTP 2xx, HTTP 3xx, HTTP 4xx and HTTP Server Errors, as requests per point

Which resource types have the card, and what each metric measures, is listed in Charts and metrics.

Notes under the chips

Note Meaning
CPU: no limit set, showing absolute usage, and the same for Memory None of the resource's containers declares both a CPU and a memory limit, or the platform has not seen its pods yet. The chart shows cores or bytes instead of a percentage
No persistent volume attached The resource has no persistent volume, or no pod has mounted it yet, so there is no disk chart
No requests observed in this period No request reached the resource through the platform's ingress in the range

An error under the chips means a metric could not be loaded. Without monitoring/read, none can.

When a chart is empty

A chart that says No data has nothing to draw for the range:

  • The resource is new. Points appear once its pods have run for a scrape or two.
  • It is stopped. A stopped resource has no pods to measure; its history is still there in the longer ranges. With no pods the platform knows no limits either, so the notes read CPU: no limit set, showing absolute usage and the same for Memory, and the charts show cores and bytes.
  • It runs in another cluster. Only the platform's own cluster is measured.
  • It is an app slot. A slot's page has a Metrics card, but it shows no data in this version: a slot's pods are measured as part of the app, whose charts include them.

An HTTP chart with nothing to draw says No requests observed in this period instead: requests are only counted for traffic through the platform's ingress, so an app without a public endpoint has none.

When no resource has metrics at all, ask a platform administrator — see Troubleshoot monitoring.

Through the API

Three routes serve a resource's metrics. {type} is the resource type as it appears in the resource's own routes: apps, containerinstances, staticwebapps, postgresclusters, sqlserverclusters, qdrantclusters or valkeys; the routes also answer for s3storageaccounts and functionnamespaces, which have no card. from and to are timestamps such as 2026-09-27T08:00:00Z.

Route under /boundaries/{boundaryId}/resourcegroups/{resourceGroup}/resources/monitoring/{type}/{name} Returns
/utilization?metric=cpu, memory or disk &from=…&to=… The metric as a percentage: points (bucket, value), limit — the current limits of the resource's pods added up, or for disk the latest capacity — and a reason — NoLimitsDeclared or NoVolume — when there is nothing to divide by
/requests?from=…&to=… Requests per point in the classes 2xx, 3xx, 4xx and 5xx, with bucketSeconds, the width of a point, and the reason NoRequestsObserved when there was no traffic
?metric=…&aggregation=…&from=…&to=… One stored series, summed over the resource's pods and containers. aggregation is Avg, Max, Min, LastValue or Rate; container= narrows it to one container. The series names are listed in Stored series

With the CLI signed in:

bash
stsh api GET "/boundaries/<boundary-id>/resourcegroups/my-rg/resources/monitoring/apps/my-app/utilization?metric=cpu&from=2026-09-27T08:00:00Z&to=2026-09-27T09:00:00Z"
stsh api GET "/boundaries/<boundary-id>/resourcegroups/my-rg/resources/monitoring/apps/my-app/requests?from=2026-09-27T08:00:00Z&to=2026-09-27T09:00:00Z"
stsh api GET "/boundaries/<boundary-id>/resourcegroups/my-rg/resources/monitoring/apps/my-app?metric=container_memory_working_set_bytes&aggregation=Max&from=2026-09-20T00:00:00Z&to=2026-09-27T00:00:00Z"

The length of the range decides the resolution — see Resolution and history. Every route of the module is listed in its API reference.