Skip to main content
GET
/
projects
/
{projectId}
/
environments
/
{environmentId}
/
observability
/
resources
/
summary
Get resource metrics summary
curl --request GET \
  --url {schemes}://api.upsun.com/projects/{projectId}/environments/{environmentId}/observability/resources/summary \
  --header 'Authorization: Bearer <token>'
import requests

url = "{schemes}://api.upsun.com/projects/{projectId}/environments/{environmentId}/observability/resources/summary"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('{schemes}://api.upsun.com/projects/{projectId}/environments/{environmentId}/observability/resources/summary', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "{schemes}://api.upsun.com/projects/{projectId}/environments/{environmentId}/observability/resources/summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "{schemes}://api.upsun.com/projects/{projectId}/environments/{environmentId}/observability/resources/summary"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("{schemes}://api.upsun.com/projects/{projectId}/environments/{environmentId}/observability/resources/summary")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("{schemes}://api.upsun.com/projects/{projectId}/environments/{environmentId}/observability/resources/summary")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "_from": 1704067200,
  "_to": 1704153600,
  "_project_id": "abc123def456",
  "_environment_id": "main",
  "_branch_machine_name": "main-bvxea6i",
  "data": {
    "services": {
      "app": {
        "app.0": {
          "cpu_used": {
            "min": 0.12,
            "max": 1.85,
            "avg": 0.45,
            "stddev": 0.32,
            "p50": 0.42,
            "p95": 1.23,
            "p96": 1.34,
            "p97": 1.45,
            "p98": 1.62,
            "p99": 1.78
          },
          "cpu_limit": {
            "max": 2
          },
          "memory_used": {
            "min": 536870912,
            "max": 715827883,
            "avg": 612892672,
            "stddev": 45000000,
            "p50": 605000000,
            "p95": 690000000,
            "p96": 695000000,
            "p97": 700000000,
            "p98": 708000000,
            "p99": 712000000
          },
          "memory_limit": {
            "max": 1073741824
          },
          "swap_used": {
            "min": 0,
            "max": 4194304,
            "avg": 1048576,
            "stddev": 850000,
            "p50": 950000,
            "p95": 3200000,
            "p96": 3400000,
            "p97": 3600000,
            "p98": 3900000,
            "p99": 4100000
          },
          "swap_limit": {
            "max": 536870912
          },
          "memory_pressure": {
            "min": 0,
            "max": 0.15,
            "avg": 0.03,
            "stddev": 0.02,
            "p50": 0.02,
            "p95": 0.12,
            "p96": 0.13,
            "p97": 0.14,
            "p98": 0.145,
            "p99": 0.148
          },
          "cpu_pressure": {
            "min": 0,
            "max": 0.08,
            "avg": 0.01,
            "stddev": 0.01,
            "p50": 0.01,
            "p95": 0.05,
            "p96": 0.06,
            "p97": 0.065,
            "p98": 0.07,
            "p99": 0.075
          },
          "io_pressure": {
            "min": 0,
            "max": 0.22,
            "avg": 0.05,
            "stddev": 0.04,
            "p50": 0.04,
            "p95": 0.18,
            "p96": 0.19,
            "p97": 0.2,
            "p98": 0.21,
            "p99": 0.215
          },
          "irq_pressure": {
            "min": 0,
            "max": 0.01,
            "avg": 0.001,
            "stddev": 0.002,
            "p50": 0,
            "p95": 0.008,
            "p96": 0.009,
            "p97": 0.0095,
            "p98": 0.0097,
            "p99": 0.0099
          },
          "mountpoints": {
            "": {
              "disk_used": {
                "min": null,
                "max": null,
                "avg": null,
                "stddev": null,
                "p50": null,
                "p95": null,
                "p96": null,
                "p97": null,
                "p98": null,
                "p99": null
              },
              "disk_limit": {
                "max": null
              },
              "inodes_used": {
                "min": null,
                "max": null,
                "avg": null,
                "stddev": null,
                "p50": null,
                "p95": null,
                "p96": null,
                "p97": null,
                "p98": null,
                "p99": null
              },
              "inodes_limit": {
                "max": null
              }
            },
            "/tmp": {
              "disk_used": {
                "min": 147197952,
                "max": 147197952,
                "avg": 147197952,
                "stddev": null,
                "p50": 147197952,
                "p95": 147197952,
                "p96": 147197952,
                "p97": 147197952,
                "p98": 147197952,
                "p99": 147197952
              },
              "disk_limit": {
                "max": 17169383424
              },
              "inodes_used": {
                "min": 2244,
                "max": 2244,
                "avg": 2244,
                "stddev": null,
                "p50": 2244,
                "p95": 2244,
                "p96": 2244,
                "p97": 2244,
                "p98": 2244,
                "p99": 2244
              },
              "inodes_limit": {
                "max": 8388608
              }
            }
          }
        }
      },
      "clickhouse": {
        "clickhouse.0": {
          "cpu_used": {
            "min": 0.88,
            "max": 0.88,
            "avg": 0.88,
            "stddev": null,
            "p50": 0.88,
            "p95": 0.88,
            "p96": 0.88,
            "p97": 0.88,
            "p98": 0.88,
            "p99": 0.88
          },
          "cpu_limit": {
            "max": 16
          },
          "memory_used": {
            "min": 1415147520,
            "max": 1415147520,
            "avg": 1415147520,
            "stddev": null,
            "p50": 1415147520,
            "p95": 1415147520,
            "p96": 1415147520,
            "p97": 1415147520,
            "p98": 1415147520,
            "p99": 1415147520
          },
          "memory_limit": {
            "max": 34359738368
          },
          "swap_used": {
            "min": 223432704,
            "max": 223432704,
            "avg": 223432704,
            "stddev": null,
            "p50": 223432704,
            "p95": 223432704,
            "p96": 223432704,
            "p97": 223432704,
            "p98": 223432704,
            "p99": 223432704
          },
          "swap_limit": {
            "max": 536870912
          },
          "memory_pressure": {
            "min": 0,
            "max": 0,
            "avg": 0,
            "stddev": null,
            "p50": 0,
            "p95": 0,
            "p96": 0,
            "p97": 0,
            "p98": 0,
            "p99": 0
          },
          "cpu_pressure": {
            "min": 0.08,
            "max": 0.08,
            "avg": 0.08,
            "stddev": null,
            "p50": 0.08,
            "p95": 0.08,
            "p96": 0.08,
            "p97": 0.08,
            "p98": 0.08,
            "p99": 0.08
          },
          "io_pressure": {
            "min": 0.12,
            "max": 0.12,
            "avg": 0.12,
            "stddev": null,
            "p50": 0.12,
            "p95": 0.12,
            "p96": 0.12,
            "p97": 0.12,
            "p98": 0.12,
            "p99": 0.12
          },
          "irq_pressure": {
            "min": 0,
            "max": 0,
            "avg": 0,
            "stddev": null,
            "p50": 0,
            "p95": 0,
            "p96": 0,
            "p97": 0,
            "p98": 0,
            "p99": 0
          },
          "mountpoints": {
            "": {
              "disk_used": {
                "min": null,
                "max": null,
                "avg": null,
                "stddev": null,
                "p50": null,
                "p95": null,
                "p96": null,
                "p97": null,
                "p98": null,
                "p99": null
              },
              "disk_limit": {
                "max": null
              },
              "inodes_used": {
                "min": null,
                "max": null,
                "avg": null,
                "stddev": null,
                "p50": null,
                "p95": null,
                "p96": null,
                "p97": null,
                "p98": null,
                "p99": null
              },
              "inodes_limit": {
                "max": null
              }
            },
            "/mnt": {
              "disk_used": {
                "min": 608173674496,
                "max": 608173674496,
                "avg": 608173674496,
                "stddev": null,
                "p50": 608173674496,
                "p95": 608173674496,
                "p96": 608173674496,
                "p97": 608173674496,
                "p98": 608173674496,
                "p99": 608173674496
              },
              "disk_limit": {
                "max": 1056876748800
              },
              "inodes_used": {
                "min": 495287,
                "max": 495287,
                "avg": 495287,
                "stddev": null,
                "p50": 495287,
                "p95": 495287,
                "p96": 495287,
                "p97": 495287,
                "p98": 495287,
                "p99": 495287
              },
              "inodes_limit": {
                "max": 65536000
              }
            },
            "/tmp": {
              "disk_used": {
                "min": 76398592,
                "max": 76398592,
                "avg": 76398592,
                "stddev": null,
                "p50": 76398592,
                "p95": 76398592,
                "p96": 76398592,
                "p97": 76398592,
                "p98": 76398592,
                "p99": 76398592
              },
              "disk_limit": {
                "max": 17169383424
              },
              "inodes_used": {
                "min": 11,
                "max": 11,
                "avg": 11,
                "stddev": null,
                "p50": 11,
                "p95": 11,
                "p96": 11,
                "p97": 11,
                "p98": 11,
                "p99": 11
              },
              "inodes_limit": {
                "max": 8388608
              }
            }
          }
        }
      }
    }
  }
}
{
"type": "https://tools.ietf.org/html/rfc2616#section-1",
"title": "Please ensure parameters are correct.",
"status": 400,
"violations": {
"from": [
"The from timestamp must be in the past."
],
"to": [
"The to timestamp must be greater than the from timestamp."
]
}
}
{
"error": "Too much data fetched",
"message": "Please reduce the time range or add more filters to narrow down the query"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

projectId
string
required

The unique identifier of the Upsun project

Pattern: [a-z0-9]+
Example:

"abc123def456"

environmentId
string
required

The environment identifier

Pattern: .+
Example:

"main"

Query Parameters

from
integer<int64>
required

Start timestamp for the time range (Unix timestamp in seconds)

Example:

1704067200

to
integer<int64>
required

End timestamp for the time range (Unix timestamp in seconds)

Example:

1704153600

aggs[]
enum<string>[]

Statistical aggregations to include in the response. Can be specified multiple times. Available values: avg, stddev, max, min, p50, p95, p96, p97, p98, p99. Specify parameter multiple times for multiple values (e.g., ?aggs[]=avg&aggs[]=p50).

Available options:
avg,
stddev,
max,
min,
p50,
p95,
p96,
p97,
p98,
p99
types[]
enum<string>[]

Metric types to include in the response. Can be specified multiple times. Available values: cpu, memory, disk, inodes, swap, memory_pressure, cpu_pressure, io_pressure, irq_pressure. Specify parameter multiple times for multiple values (e.g., ?types[]=cpu&types[]=memory).

Available options:
cpu,
memory,
disk,
inodes,
swap,
memory_pressure,
cpu_pressure,
io_pressure,
irq_pressure
services[]
string[]

Filter results to specific services. Can be specified multiple times for multiple services. When omitted, all services are included by default. Use services_mode to control inclusion/exclusion behavior. Specify parameter multiple times for multiple values (e.g., ?services[]=app&services[]=database).

services_mode
enum<string>

Filter mode for services parameter. "1" (additive) includes only specified services. "-1" (subtractive, default) excludes specified services and includes all others.

Available options:
1,
-1
Example:

"1"

Response

Successfully retrieved resource summary with per-service-instance aggregations

_from
integer
required

Query start timestamp

Example:

1704067200

_to
integer
required

Query end timestamp

Example:

1704153600

_project_id
string
required

Project identifier

Example:

"abc123def456"

_environment_id
string
required

Environment identifier

Example:

"main"

_branch_machine_name
string
required

Branch machine name

Example:

"main-bvxea6i"

data
object
required

Resource summary data organized by service and instance

Last modified on June 16, 2026