Application - Réseau
Performance réseau
Obtenez les percentiles de latence edge et origin avec des répartitions par pays, colo et chemin pour l’application.
GET
/
v2
/
apps
/
{app_id}
/
network
/
performance
Performance réseau
curl --request GET \
--url https://api.squarecloud.app/v2/apps/{app_id}/network/performance \
--header 'Authorization: <authorization>'import requests
url = "https://api.squarecloud.app/v2/apps/{app_id}/network/performance"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.squarecloud.app/v2/apps/{app_id}/network/performance', 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 => "https://api.squarecloud.app/v2/apps/{app_id}/network/performance",
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: <authorization>"
],
]);
$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 := "https://api.squarecloud.app/v2/apps/{app_id}/network/performance"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.squarecloud.app/v2/apps/{app_id}/network/performance")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.squarecloud.app/v2/apps/{app_id}/network/performance")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"status": "success",
"response": {
"summary": {
"edge": { "p50": 42, "p95": 180, "p99": 320 },
"origin": { "p50": 28, "p95": 150, "p99": 280 },
"requests": 12450
},
"timeseries": [
{
"date": "2025-12-01T12:00:00.000Z",
"requests": 540,
"edge": { "p50": 41, "p95": 175, "p99": 310 },
"origin": { "p50": 27, "p95": 148, "p99": 270 }
}
],
"countries": [
{ "type": "BR", "p50": 35, "p95": 160, "requests": 8200 },
{ "type": "US", "p50": 55, "p95": 210, "requests": 3100 }
],
"colos": [
{
"type": "GRU",
"city": "São Paulo",
"country": "BR",
"p50": 34,
"p95": 158,
"requests": 8100
}
],
"slowest_paths": [
{
"path": "/api/reports/generate",
"p95": 820,
"p99": 1500,
"requests": 230
}
]
}
}
Renvoie les percentiles de temps de réponse edge et origin (
p50, p95, p99) pour l’application sur une fenêtre temporelle, ainsi que des répartitions par pays, par colo et par chemins les plus lents. Utile pour diagnostiquer les régressions de latence et identifier quelles routes ou régions sont les plus lentes.
Disponible uniquement sur les plans Pro et Enterprise. Limite de débit en cas de cache miss : 10 requêtes par 60 secondes par propriétaire.
La clé d’API de votre compte. Vous pouvez la trouver dans les paramètres de votre compte.
Paramètres
L’ID de l’application. Vous le trouverez dans l’URL du tableau de bord de votre application.
Horodatage de début au format ISO 8601 pour la fenêtre d’analyse.
Horodatage de fin au format ISO 8601. Doit être postérieur à
start.Réponse
Indique si l’appel a réussi.
success en cas de succès, error sinon.Percentiles de latence et répartitions pour la fenêtre.
Afficher Afficher l'objet de réponse
Afficher Afficher l'objet de réponse
Percentiles de latence agrégés sur l’ensemble de la fenêtre.
Afficher Afficher l'objet summary
Afficher Afficher l'objet summary
Nombre total de requêtes analysées dans la fenêtre.
Percentiles de latence regroupés en intervalles sur la fenêtre d’analyse.
Répartition de la latence par colo edge (centre de données).
Afficher Afficher l'élément colos
Afficher Afficher l'élément colos
Chemins présentant la latence la plus élevée dans la fenêtre.
{
"status": "success",
"response": {
"summary": {
"edge": { "p50": 42, "p95": 180, "p99": 320 },
"origin": { "p50": 28, "p95": 150, "p99": 280 },
"requests": 12450
},
"timeseries": [
{
"date": "2025-12-01T12:00:00.000Z",
"requests": 540,
"edge": { "p50": 41, "p95": 175, "p99": 310 },
"origin": { "p50": 27, "p95": 148, "p99": 270 }
}
],
"countries": [
{ "type": "BR", "p50": 35, "p95": 160, "requests": 8200 },
{ "type": "US", "p50": 55, "p95": 210, "requests": 3100 }
],
"colos": [
{
"type": "GRU",
"city": "São Paulo",
"country": "BR",
"p50": 34,
"p95": 158,
"requests": 8100
}
],
"slowest_paths": [
{
"path": "/api/reports/generate",
"p95": 820,
"p99": 1500,
"requests": 230
}
]
}
}
Précédent
Définir un domaine personnaliséReliez votre site web à un domaine personnalisé. Limité à 10 changements toutes les 5 minutes et 50 toutes les 24 heures.
Suivant
⌘I
Performance réseau
curl --request GET \
--url https://api.squarecloud.app/v2/apps/{app_id}/network/performance \
--header 'Authorization: <authorization>'import requests
url = "https://api.squarecloud.app/v2/apps/{app_id}/network/performance"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.squarecloud.app/v2/apps/{app_id}/network/performance', 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 => "https://api.squarecloud.app/v2/apps/{app_id}/network/performance",
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: <authorization>"
],
]);
$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 := "https://api.squarecloud.app/v2/apps/{app_id}/network/performance"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.squarecloud.app/v2/apps/{app_id}/network/performance")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.squarecloud.app/v2/apps/{app_id}/network/performance")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"status": "success",
"response": {
"summary": {
"edge": { "p50": 42, "p95": 180, "p99": 320 },
"origin": { "p50": 28, "p95": 150, "p99": 280 },
"requests": 12450
},
"timeseries": [
{
"date": "2025-12-01T12:00:00.000Z",
"requests": 540,
"edge": { "p50": 41, "p95": 175, "p99": 310 },
"origin": { "p50": 27, "p95": 148, "p99": 270 }
}
],
"countries": [
{ "type": "BR", "p50": 35, "p95": 160, "requests": 8200 },
{ "type": "US", "p50": 55, "p95": 210, "requests": 3100 }
],
"colos": [
{
"type": "GRU",
"city": "São Paulo",
"country": "BR",
"p50": 34,
"p95": 158,
"requests": 8100
}
],
"slowest_paths": [
{
"path": "/api/reports/generate",
"p95": 820,
"p99": 1500,
"requests": 230
}
]
}
}

