List profiled applications
curl --request GET \
--url {schemes}://api.upsun.com/projects/{projectId}/environments/{envId}/continuous-profiling \
--header 'Authorization: Bearer <token>'import requests
url = "{schemes}://api.upsun.com/projects/{projectId}/environments/{envId}/continuous-profiling"
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', 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",
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"
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")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("{schemes}://api.upsun.com/projects/{projectId}/environments/{envId}/continuous-profiling")
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{
"applications": {
"ingester": {
"name": "ingester",
"profile_types": {
"cpu": {
"name": "cpu",
"description": "Time spent running on the CPU",
"title": "CPU Time",
"unit": "nanoseconds",
"aggregation": "sum"
},
"alloc_objects": {
"name": "alloc_objects",
"description": "Number of objects allocated",
"title": "Allocations",
"unit": "count",
"aggregation": "sum"
}
},
"languages": [
"go"
]
},
"admin-pipeline": {
"name": "admin-pipeline",
"profile_types": {
"cpu": {
"name": "cpu",
"description": "Time spent running on the CPU",
"title": "CPU Time",
"unit": "nanoseconds",
"aggregation": "sum"
},
"wall-time": {
"name": "wall-time",
"description": "Wall clock time spent executing",
"title": "Wall Time",
"unit": "nanoseconds",
"aggregation": "sum"
}
},
"languages": [
"php"
]
}
}
}{
"code": 400,
"message": "invalid 'from' parameter"
}{
"code": 499,
"message": "Timeout while querying data"
}Continuous Profiling
List profiled applications
Returns all applications reporting continuous profiling data for the authenticated agent, scoped to the given time range. Each application includes its available profile types (with unit and aggregation metadata) and detected languages
GET
/
projects
/
{projectId}
/
environments
/
{envId}
/
continuous-profiling
List profiled applications
curl --request GET \
--url {schemes}://api.upsun.com/projects/{projectId}/environments/{envId}/continuous-profiling \
--header 'Authorization: Bearer <token>'import requests
url = "{schemes}://api.upsun.com/projects/{projectId}/environments/{envId}/continuous-profiling"
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', 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",
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"
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")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("{schemes}://api.upsun.com/projects/{projectId}/environments/{envId}/continuous-profiling")
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{
"applications": {
"ingester": {
"name": "ingester",
"profile_types": {
"cpu": {
"name": "cpu",
"description": "Time spent running on the CPU",
"title": "CPU Time",
"unit": "nanoseconds",
"aggregation": "sum"
},
"alloc_objects": {
"name": "alloc_objects",
"description": "Number of objects allocated",
"title": "Allocations",
"unit": "count",
"aggregation": "sum"
}
},
"languages": [
"go"
]
},
"admin-pipeline": {
"name": "admin-pipeline",
"profile_types": {
"cpu": {
"name": "cpu",
"description": "Time spent running on the CPU",
"title": "CPU Time",
"unit": "nanoseconds",
"aggregation": "sum"
},
"wall-time": {
"name": "wall-time",
"description": "Wall clock time spent executing",
"title": "Wall Time",
"unit": "nanoseconds",
"aggregation": "sum"
}
},
"languages": [
"php"
]
}
}
}{
"code": 400,
"message": "invalid 'from' parameter"
}{
"code": 499,
"message": "Timeout while querying data"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The unique identifier of the Upsun project
Pattern:
[a-z0-9]+Example:
"22sdxmbrs4lai"
The environment identifier
Pattern:
.+Example:
"main"
Query Parameters
Start of the time range as a Unix timestamp, defaults to now minus 30 minutes.
Example:
1700000000
End of the time range as a Unix timestamp, defaults to now.
Example:
1700003600
Response
Applications listed successfully
Map of application name to application details
Show child attributes
Show child attributes
Example:
{
"ingester": {
"name": "ingester",
"profile_types": {
"cpu": {
"name": "cpu",
"description": "Time spent running on the CPU",
"title": "CPU Time",
"unit": "nanoseconds",
"aggregation": "sum"
},
"alloc_objects": {
"name": "alloc_objects",
"description": "Number of objects allocated",
"title": "Allocations",
"unit": "count",
"aggregation": "sum"
}
},
"languages": ["go"]
},
"admin-pipeline": {
"name": "admin-pipeline",
"profile_types": {
"cpu": {
"name": "cpu",
"description": "Time spent running on the CPU",
"title": "CPU Time",
"unit": "nanoseconds",
"aggregation": "sum"
},
"wall-time": {
"name": "wall-time",
"description": "Wall clock time spent executing",
"title": "Wall Time",
"unit": "nanoseconds",
"aggregation": "sum"
}
},
"languages": ["php"]
}
}
Last modified on June 16, 2026
Was this page helpful?