AWS SDK for Java 2.x: Riferimento completo alle metriche - AWS SDK for Java 2.x

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS SDK for Java 2.x: Riferimento completo alle metriche

Con AWS SDK for Java 2.x, puoi raccogliere metriche dai client di servizio nella tua applicazione e quindi pubblicarle (emettere) tali metriche su Amazon. CloudWatch

Queste tabelle elencano le metriche che puoi raccogliere e qualsiasi requisito di utilizzo del client HTTP.

Per ulteriori informazioni sull'abilitazione e la configurazione delle metriche per l'SDK, consulta Abilitazione delle metriche SDK.

Metriche raccolte con ogni richiesta

Nome parametro Descrizione Tipo

ApiCallDuration

La durata della chiamata API. Sono inclusi tutti i tentativi di chiamata effettuati.

Durata*

ApiCallSuccessful

Vero se la chiamata API è riuscita, falso in caso contrario.

Booleano

CredentialsFetchDuration

Il periodo di tempo necessario per recuperare le credenziali di firma per la chiamata API.

Durata*

EndpointResolveDuration Il periodo di tempo necessario per risolvere l'endpoint utilizzato per la chiamata API. Durata*

MarshallingDuration

Il periodo di tempo necessario per adattare la richiesta SDK a una richiesta HTTP.

Durata*

OperationName

Il nome dell'operazione di servizio richiamata.

Stringa

RetryCount

Il numero di tentativi eseguiti dall'SDK nell'esecuzione della richiesta. 0 implica che la richiesta ha funzionato la prima volta e che non è stato effettuato alcun tentativo.

Per ulteriori informazioni sulla configurazione del comportamento dei nuovi tentativi, consulta. Strategie di nuovo tentativo

Numero intero

ServiceId

L'ID univoco del servizio.

Stringa

ServiceEndpoint

L'endpoint del servizio.

URI

TokenFetchDuration

Il periodo di tempo necessario per recuperare le credenziali di firma per la chiamata API. Durata*

* java.time.Duration.

Metriche raccolte per ogni tentativo di richiesta

Ogni chiamata API potrebbe richiedere più tentativi prima di ricevere una risposta. Queste metriche vengono raccolte per ogni tentativo.

Metriche principali

Nome parametro Descrizione Tipo

AwsExtendedRequestId

L'ID della richiesta estesa della richiesta di servizio.

Stringa

AwsRequestId

L'ID della richiesta di servizio.

Stringa

BackoffDelayDuration

Il periodo di attesa dell'SDK prima di questo tentativo di chiamata API. Il valore si basa sul BackoffStrategy set sul client. Per ulteriori informazioni, consulta la Strategie di nuovo tentativo sezione di questa guida.

Durata*

ErrorType

Il tipo di errore che si è verificato durante un tentativo di chiamata.

I seguenti sono i valori possibili:

  • Throttling: Il servizio ha risposto con un errore di limitazione.

  • ServerError: Il servizio ha risposto con un errore diverso dalla limitazione.

  • ConfiguredTimeout: si è verificato un timeout del client, a livello di chiamata API o a livello di tentativo di chiamata API.

  • IO: si è verificato un I/O errore.

  • Other: Rileva tutti gli altri errori che non rientrano in una delle categorie elencate sopra.

Stringa
ReadThroughput

La velocità effettiva di lettura del client, definita come. NumberOfResponseBytesRead / (TTLB - TTFB) Questo valore è espresso in byte al secondo.

Nota che questa metrica misura solo i byte letti dall'interno di o. ResponseTransformer AsyncResponseTransformer I dati letti all'esterno del trasformatore, ad esempio quando il flusso di risposta viene restituito come risultato del trasformatore, non sono inclusi nel calcolo.

Doppio

ServiceCallDuration

Il periodo di tempo necessario per connettersi al servizio (o acquisire una connessione dal pool di connessioni), inviare la richiesta serializzata e ricevere la risposta iniziale (ad esempio codice di stato HTTP e intestazioni). Ciò NON include il tempo necessario per leggere l'intera risposta dal servizio.

Durata*

SigningDuration

Il periodo di tempo necessario per firmare la richiesta HTTP.

Durata*

TimeToFirstByte Periodo di tempo compreso tra l'invio della richiesta HTTP (inclusa l'acquisizione di una connessione) al servizio e la ricezione del primo byte delle intestazioni della risposta. Durata*
TimeToLastByte

Il periodo di tempo compreso tra l'invio della richiesta HTTP (inclusa l'acquisizione di una connessione) al servizio e la ricezione dell'ultimo byte della risposta.

Tieni presente APIs che per le risposte in streaming di ritorno, questa metrica copre il tempo fino al completamento dell'o. ResponseTransformer AsyncResponseTransformer

Durata*

UnmarshallingDuration

Il periodo di tempo necessario per annullare il marshall della risposta HTTP a una risposta SDK.

Nota: per le operazioni di streaming, questo non include il tempo necessario per leggere il payload di risposta.

Durata*

* java.time.Duration.

Metriche HTTP

Nome parametro Descrizione Tipo Client HTTP richiesto*

AvailableConcurrency

Il numero di richieste simultanee aggiuntive supportate dal client HTTP senza stabilire nuove connessioni al server di destinazione.

Per le operazioni HTTP/1, questo è uguale al numero di connessioni TCP inattive stabilite con il servizio. Per le operazioni HTTP/2, questo è uguale al numero di flussi inattivi.

Nota: questo valore varia in base all'implementazione del client HTTP:

  • Client Apache: il valore si applica all'intero client HTTP

  • Client Netty: il valore si applica per endpoint

  • AWS Client basato su CRT: il valore si applica per endpoint

Il valore è limitato a una singola istanza del client HTTP ed esclude la concorrenza di altri client HTTP nella stessa JVM.

Numero intero

Apache, Netty, CRT

ConcurrencyAcquireDuration

Il periodo di tempo necessario per acquisire un canale dal pool di connessioni.

Per le operazioni HTTP/1, un canale equivale a una connessione TCP. Per le operazioni HTTP/2, un canale è uguale a un canale di flusso HTTP/2.

L'acquisizione di un nuovo canale può includere del tempo per:

  1. In attesa di un permesso di concorrenza, come previsto dalla configurazione massima di concorrenza del client.

  2. Stabilire una nuova connessione, se nessuna connessione esistente è disponibile nel pool.

  3. Esecuzione dell'handshake e della negoziazione TLS, se TLS è abilitato.

Durata*

Apache, Netty, CRT

HttpClientName

Il nome dell'HTTP utilizzato per la richiesta.

Stringa

Apache, Netty, CRT

HttpStatusCode

Il codice di stato della risposta HTTP.

Numero intero

Qualsiasi

LeasedConcurrency

Il numero di richieste attualmente eseguite dal client HTTP.

Per le operazioni HTTP/1, questo è uguale al numero di connessioni TCP attive con il servizio (escluse le connessioni inattive). Per le operazioni HTTP/2, questo è uguale al numero di flussi HTTP attivi con il servizio (esclusa la capacità del flusso inattivo).

Nota: questo valore varia in base all'implementazione del client HTTP:

  • Client Apache: il valore si applica all'intero client HTTP

  • Client Netty: il valore si applica per endpoint

  • AWS Client basato su CRT: il valore si applica per endpoint

Il valore è limitato a una singola istanza del client HTTP ed esclude la concorrenza di altri client HTTP nella stessa JVM.

Numero intero

Apache, Netty, CRT

LocalStreamWindowSize

La dimensione della finestra HTTP/2 locale in byte per il flusso che esegue questa richiesta.

Numero intero

Netty

MaxConcurrency

Il numero massimo di richieste simultanee supportate dal client HTTP.

Per le operazioni HTTP/1, questo è uguale al numero massimo di connessioni TCP che il client HTTP può raggruppare. Per le operazioni HTTP/2, questo è uguale al numero massimo di flussi che il client HTTP può raggruppare.

Nota: questo valore varia in base all'implementazione del client HTTP:

  • Client Apache: il valore si applica all'intero client HTTP

  • Client Netty: il valore si applica per endpoint

  • AWS Client basato su CRT: il valore si applica per endpoint

Il valore è limitato a una singola istanza del client HTTP ed esclude la concorrenza di altri client HTTP nella stessa JVM.

Numero intero

Apache, Netty, CRT

PendingConcurrencyAcquires

Il numero di richieste che attendono la concorrenza dal client HTTP.

Per le operazioni HTTP/1, questo è uguale al numero di richieste in attesa che venga stabilita o restituita una connessione TCP dal pool di connessioni. Per le operazioni HTTP/2, questo è uguale al numero di richieste in attesa di un nuovo flusso (e possibilmente di una nuova connessione HTTP/2) dal pool di connessioni.

Nota: questo valore varia in base all'implementazione del client HTTP:

  • Client Apache: il valore si applica all'intero client HTTP

  • Client Netty: il valore si applica per endpoint

  • AWS Client basato su CRT: il valore si applica per endpoint

Il valore è limitato a una singola istanza del client HTTP ed esclude la concorrenza di altri client HTTP nella stessa JVM.

Numero intero

Apache, Netty, CRT

RemoteStreamWindowSize

La dimensione della finestra HTTP/2 remota in byte per il flusso che esegue questa richiesta.

Numero intero

Netty

* java.time.Duration.

I termini usati nella colonna significano: