Skip to main content
GET
/
projects
/
{projectId}
/
environments
/
{envId}
/
continuous-profiling
/
app
/
{app}
Get application timeline
curl --request GET \
  --url {schemes}://api.upsun.com/projects/{projectId}/environments/{envId}/continuous-profiling/app/{app} \
  --header 'Authorization: Bearer <token>'
import requests

url = "{schemes}://api.upsun.com/projects/{projectId}/environments/{envId}/continuous-profiling/app/{app}"

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/{envId}/continuous-profiling/app/{app}', 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/{envId}/continuous-profiling/app/{app}",
  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/{envId}/continuous-profiling/app/{app}"

	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/{envId}/continuous-profiling/app/{app}")
  .header("Authorization", "Bearer <token>")
  .asString();
require 'uri'
require 'net/http'

url = URI("{schemes}://api.upsun.com/projects/{projectId}/environments/{envId}/continuous-profiling/app/{app}")

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": 1700000000,
  "to": 1700003600,
  "grain": 1800,
  "unit": "nanoseconds_per_second",
  "aggregation_type": "sum",
  "retention": 80640,
  "points": [
    {
      "timestamp": 1700000000,
      "value": 15733333
    }
  ]
}
{
  "code": 400,
  "message": "Invalid filters"
}
{
  "code": 499,
  "message": "Timeout while querying data"
}

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:

"22sdxmbrs4lai"

envId
string
required

The environment identifier

Pattern: .+
Example:

"main"

app
string
required

URL-encoded application name

Pattern: .+
Example:

"my-app"

Query Parameters

from
integer<int64>

Start of the time range as a Unix timestamp, defaults to now minus 30 minutes.

Example:

1700000000

to
integer<int64>

End of the time range as a Unix timestamp, defaults to now.

Example:

1700003600

profile_type
enum<string>

Profile type to query.

Available options:
cpu,
wall-time,
wall,
goroutine,
alloc_objects,
alloc_space,
inuse_objects,
inuse_space,
space
Example:

"cpu"

runtime_mode
enum<integer>

Filter mode for runtime parameter. "1" (additive) includes only specified runtimes. "-1" (subtractive) excludes specified runtimes and includes all others. When omitted while runtime[] is supplied, defaults to "1" (additive).

Available options:
1,
-1
Example:

1

runtime[]
string[]

Filter by runtime language. Can be specified multiple times for multiple values (e.g., ?runtime[]=go&runtime[]=python). Use runtime_mode to control inclusion/exclusion behavior.

runtime_version_mode
enum<integer>

Filter mode for runtime_version parameter. "1" (additive) includes only specified versions. "-1" (subtractive) excludes specified versions and includes all others. When omitted while runtime_version[] is supplied, defaults to "1" (additive).

Available options:
1,
-1
Example:

1

runtime_version[]
string[]

Filter by runtime version. Can be specified multiple times for multiple values (e.g., ?runtime_version[]=1.21&runtime_version[]=1.22). Use runtime_version_mode to control inclusion/exclusion behavior.

runtime_arch_mode
enum<integer>

Filter mode for runtime_arch parameter. "1" (additive) includes only specified architectures. "-1" (subtractive) excludes specified architectures and includes all others. When omitted while runtime_arch[] is supplied, defaults to "1" (additive).

Available options:
1,
-1
Example:

1

runtime_arch[]
string[]

Filter by runtime architecture. Can be specified multiple times for multiple values (e.g., ?runtime_arch[]=amd64&runtime_arch[]=arm64). Use runtime_arch_mode to control inclusion/exclusion behavior.

runtime_os_mode
enum<integer>

Filter mode for runtime_os parameter. "1" (additive) includes only specified operating systems. "-1" (subtractive) excludes specified operating systems and includes all others. When omitted while runtime_os[] is supplied, defaults to "1" (additive).

Available options:
1,
-1
Example:

1

runtime_os[]
string[]

Filter by runtime operating system. Can be specified multiple times for multiple values (e.g., ?runtime_os[]=linux&runtime_os[]=darwin). Use runtime_os_mode to control inclusion/exclusion behavior.

probe_version_mode
enum<integer>

Filter mode for probe_version parameter. "1" (additive) includes only specified probe versions. "-1" (subtractive) excludes specified probe versions and includes all others. When omitted while probe_version[] is supplied, defaults to "1" (additive).

Available options:
1,
-1
Example:

1

probe_version[]
string[]

Filter by probe version. Can be specified multiple times for multiple values (e.g., ?probe_version[]=2.28.2&probe_version[]=2.28.1). Use probe_version_mode to control inclusion/exclusion behavior.

Response

Timeline data retrieved successfully

from
integer<int64>
required

Actual start of the time range as a Unix timestamp

Example:

1700000000

to
integer<int64>
required

Actual end of the time range as a Unix timestamp

Example:

1700003600

grain
integer
required

Granularity of data points in seconds

Example:

1800

unit
string
required

Unit of the sample values, suffixed with _per_second for sum aggregation types

Example:

"nanoseconds_per_second"

aggregation_type
enum<string>
required
Available options:
avg,
sum
Example:

"sum"

retention
integer
required

Agent retention period in minutes

Example:

80640

points
object[]
required
Last modified on June 16, 2026