> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Prestazioni di Rete

> Ottieni i percentili di latenza edge e origin con suddivisioni per paese, colo e path dell'applicazione.

Restituisce i percentili del tempo di risposta edge e origin (`p50`, `p95`, `p99`) dell'applicazione su un intervallo di tempo, oltre alle suddivisioni per paese, per colo e per i path più lenti. Utile per diagnosticare regressioni di latenza e identificare quali route o regioni sono le più lente.

<Info>
  Disponibile solo sui piani **Pro** ed **Enterprise**. Limite di frequenza per cache miss: 10 richieste ogni 60 secondi per proprietario.
</Info>

<ParamField header="Authorization" type="string" placeholder="API Key" required>
  La chiave API del tuo account. Puoi trovarla nelle [impostazioni del tuo account](https://squarecloud.app/it/account/security).
</ParamField>

### Parametri

<ParamField path="app_id" type="string" placeholder="Application ID" required>
  L'ID dell'applicazione. Puoi trovarlo nell'URL della dashboard della tua applicazione.
</ParamField>

<ParamField query="start" type="string" placeholder="ISO 8601 timestamp" required>
  Timestamp di inizio ISO 8601 per l'intervallo di analisi.
</ParamField>

<ParamField query="end" type="string" placeholder="ISO 8601 timestamp" required>
  Timestamp di fine ISO 8601. Deve essere successivo a `start`.
</ParamField>

### Risposta

<ResponseField name="status" type="string">
  Indica se la chiamata è andata a buon fine. `success` in caso di successo, `error` in caso contrario.
</ResponseField>

<ResponseField name="response" type="object">
  Percentili di latenza e suddivisioni per l'intervallo.

  <Expandable title="Mostra oggetto response">
    <ResponseField name="summary" type="object">
      Percentili di latenza aggregati sull'intero intervallo.

      <Expandable title="Mostra oggetto summary">
        <ResponseField name="edge" type="object">
          Percentili di latenza lato edge in millisecondi.

          <Expandable title="Mostra oggetto edge">
            <ResponseField name="p50" type="integer">Latenza edge al 50° percentile (mediana).</ResponseField>
            <ResponseField name="p95" type="integer">Latenza edge al 95° percentile.</ResponseField>
            <ResponseField name="p99" type="integer">Latenza edge al 99° percentile.</ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="origin" type="object">
          Percentili di latenza lato origin in millisecondi.

          <Expandable title="Mostra oggetto origin">
            <ResponseField name="p50" type="integer">Latenza origin al 50° percentile (mediana).</ResponseField>
            <ResponseField name="p95" type="integer">Latenza origin al 95° percentile.</ResponseField>
            <ResponseField name="p99" type="integer">Latenza origin al 99° percentile.</ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="requests" type="integer">Numero totale di richieste analizzate nell'intervallo.</ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="timeseries" type="array">
      Percentili di latenza suddivisi in intervalli lungo la finestra di analisi.

      <Expandable title="Mostra elemento timeseries">
        <ResponseField name="date" type="string">Timestamp di inizio del bucket in formato ISO 8601.</ResponseField>
        <ResponseField name="requests" type="integer">Richieste osservate nel bucket.</ResponseField>
        <ResponseField name="edge" type="object">`p50`/`p95`/`p99` edge per questo bucket.</ResponseField>
        <ResponseField name="origin" type="object">`p50`/`p95`/`p99` origin per questo bucket.</ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="countries" type="array">
      Suddivisione della latenza per paese del client.

      <Expandable title="Mostra elemento countries">
        <ResponseField name="type" type="string">Codice paese ISO (es. `BR`, `US`).</ResponseField>
        <ResponseField name="p50" type="integer">Latenza mediana per questo paese in millisecondi.</ResponseField>
        <ResponseField name="p95" type="integer">Latenza al 95° percentile per questo paese in millisecondi.</ResponseField>
        <ResponseField name="requests" type="integer">Richieste servite a questo paese.</ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="colos" type="array">
      Suddivisione della latenza per colo edge (data center).

      <Expandable title="Mostra elemento colos">
        <ResponseField name="type" type="string">Identificatore del colo (es. `GRU`, `IAD`).</ResponseField>
        <ResponseField name="city" type="string">Città in cui si trova il colo.</ResponseField>
        <ResponseField name="country" type="string">Paese in cui si trova il colo.</ResponseField>
        <ResponseField name="p50" type="integer">Latenza mediana su questo colo in millisecondi.</ResponseField>
        <ResponseField name="p95" type="integer">Latenza al 95° percentile su questo colo in millisecondi.</ResponseField>
        <ResponseField name="requests" type="integer">Richieste servite attraverso questo colo.</ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="slowest_paths" type="array">
      I path con la latenza più alta nell'intervallo.

      <Expandable title="Mostra elemento slowest_paths">
        <ResponseField name="path" type="string">Path della richiesta.</ResponseField>
        <ResponseField name="p95" type="integer">Latenza al 95° percentile per questo path in millisecondi.</ResponseField>
        <ResponseField name="p99" type="integer">Latenza al 99° percentile per questo path in millisecondi.</ResponseField>
        <ResponseField name="requests" type="integer">Richieste osservate per questo path.</ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json theme={null}
  {
    "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
        }
      ]
    }
  }
  ```
</ResponseExample>
