RequestFinishedInfo.Metrics

public abstract class RequestFinishedInfo.Metrics


Metriche raccolte per una singola richiesta. La maggior parte di queste metriche sono timestamp per gli eventi durante il ciclo di vita della richiesta, che possono essere utilizzati per creare una cronologia dettagliata per analizzare le prestazioni.

Gli eventi si verificano in questo ordine:

  1. request start
  2. DNS start
  3. DNS end
  4. connect start
  5. SSL start
  6. SSL end
  7. connect end
  8. sending start
  9. sending end
  10. response start
  11. request end
Gli orari di inizio vengono segnalati come l'ora in cui una richiesta ha iniziato il blocco dell'evento, non quando l'evento si è effettivamente verificato, ad eccezione dell'inizio e della fine della notifica push. Se una metrica non è significativa o non è disponibile, inclusi i casi in cui una richiesta è terminata prima di raggiungere questa fase, l'ora di inizio e di fine sarà null. Se non è stato dedicato tempo al blocco di un evento, l'ora di inizio e di fine coincideranno.

Se l'orologio di sistema viene regolato durante la richiesta, alcuni valori di java.util.Date potrebbero non corrispondere. I timestamp vengono registrati utilizzando un orologio che non può andare indietro. Tutti i timestamp sono corretti rispetto all'orologio di sistema al momento dell'inizio della richiesta e la differenza tra due timestamp fornisce la differenza corretta tra gli eventi. Per preservare questa proprietà, non è garantito che i timestamp degli eventi diversi dall'inizio della richiesta corrispondano all'orologio di sistema negli orari che rappresentano.

La maggior parte delle metriche di temporizzazione viene estratta da LoadTimingInfo, che contiene le informazioni per e .

Riepilogo

Costruttori pubblici

Metodi pubblici

abstract @Nullable Date

Restituisce l'ora in cui è terminato lo stabilimento della connessione.

abstract @Nullable Date

Restituisce l'ora in cui è iniziato lo stabilimento della connessione.

abstract @Nullable Date

Restituisce l'ora in cui è terminata la ricerca DNS.

abstract @Nullable Date

Restituisce l'ora in cui è iniziata la ricerca DNS.

abstract @Nullable Date

Restituisce l'ora in cui è stato ricevuto l'ultimo byte del push del server HTTP/2.

abstract @Nullable Date

Restituisce l'ora in cui è stato ricevuto il primo byte del push del server HTTP/2.

abstract @Nullable Long

Restituisce il totale dei byte ricevuti tramite il livello di trasporto di rete o null se non raccolti.

abstract @Nullable Date

Restituisce l'ora in cui è terminata la richiesta.

abstract @Nullable Date

Restituisce l'ora in cui è iniziata la richiesta.

abstract @Nullable Date

Restituisce l'ora in cui sono state ricevute le intestazioni della risposta.

abstract @Nullable Date

Restituisce l'ora in cui è terminato l'invio della richiesta.

abstract @Nullable Date

Restituisce l'ora in cui è iniziato l'invio della richiesta.

abstract @Nullable Long

Restituisce il totale dei byte inviati tramite il livello di trasporto di rete o null se non raccolti.

abstract boolean

Restituisce un valore che indica se il socket è stato riutilizzato da una richiesta precedente.

abstract @Nullable Date

Restituisce l'ora in cui è terminato l'handshake SSL.

abstract @Nullable Date

Restituisce l'ora in cui è iniziato l'handshake SSL.

abstract @Nullable Long

Restituisce i millisecondi tra l'inizio e la fine della richiesta, inclusi un errore o un annullamento, oppure null se non raccolti.

abstract @Nullable Long

Restituisce i millisecondi tra l'avvio della richiesta e il primo byte delle intestazioni della risposta oppure null se non raccolti.

Costruttori pubblici

Metriche

public Metrics()

Metodi pubblici

getConnectEnd

public abstract @Nullable Date getConnectEnd()

Restituisce l'ora in cui è terminato lo stabilimento della connessione.

Resi
@Nullable Date

java.util.Date che rappresenta il momento in cui è terminata la creazione della connessione, dopo che è stata stabilita la connessione TCP e, se utilizzi HTTPS, è stato completato l'handshake SSL. Per QUIC 0-RTT, questo rappresenta il momento della conferma dell'handshake e potrebbe verificarsi in un momento successivo a getSendingStart. null se il socket è stato riutilizzato (vedi getSocketReused).

getConnectStart

public abstract @Nullable Date getConnectStart()

Restituisce l'ora in cui è iniziato lo stabilimento della connessione.

Resi
@Nullable Date

java.util.Date che indica l'inizio della creazione della connessione, in genere al termine della risoluzione DNS. null se il socket è stato riutilizzato (vedi getSocketReused).

getDnsEnd

public abstract @Nullable Date getDnsEnd()

Restituisce l'ora in cui è terminata la ricerca DNS. Questo e getDnsStart restituiranno valori non nulli indipendentemente dal fatto che il risultato provenga da un server DNS o dalla cache locale.

Resi
@Nullable Date

java.util.Date che indica il termine della ricerca DNS. null se il socket è stato riutilizzato (vedi getSocketReused).

getDnsStart

public abstract @Nullable Date getDnsStart()

Restituisce l'ora in cui è iniziata la ricerca DNS. Questo e getDnsEnd restituiranno valori non nulli indipendentemente dal fatto che il risultato provenga da un server DNS o dalla cache locale.

Resi
@Nullable Date

java.util.Date che indica l'inizio della ricerca DNS. null se il socket è stato riutilizzato (vedi getSocketReused).

getPushEnd

public abstract @Nullable Date getPushEnd()

Restituisce l'ora in cui è stato ricevuto l'ultimo byte del push del server HTTP/2.

Resi
@Nullable Date

java.util.Date che rappresenta il momento in cui è stato ricevuto l'ultimo byte di un push del server HTTP/2. null se il push del server non viene utilizzato.

getPushStart

public abstract @Nullable Date getPushStart()

Restituisce l'ora in cui è stato ricevuto il primo byte del push del server HTTP/2.

Resi
@Nullable Date

java.util.Date che indica quando è stato ricevuto il primo byte di un push del server HTTP/2. null se il push del server non viene utilizzato.

getReceivedByteCount

public abstract @Nullable Long getReceivedByteCount()

Restituisce il totale dei byte ricevuti tramite il livello di trasporto di rete o null se non raccolti. Il numero di byte non include eventuali reindirizzamenti precedenti.

getRequestEnd

public abstract @Nullable Date getRequestEnd()

Restituisce l'ora in cui è terminata la richiesta.

Resi
@Nullable Date

java.util.Date che indica il termine della richiesta.

getRequestStart

public abstract @Nullable Date getRequestStart()

Restituisce l'ora in cui è iniziata la richiesta.

Resi
@Nullable Date

java.util.Date che indica quando è iniziata effettivamente la richiesta nativa. Questo timestamp corrisponderà all'orologio di sistema al momento in cui è stato registrato.

getResponseStart

public abstract @Nullable Date getResponseStart()

Restituisce l'ora in cui sono state ricevute le intestazioni della risposta.

Resi
@Nullable Date

java.util.Date che indica il momento in cui sono state ricevute le intestazioni della risposta.

getSendingEnd

public abstract @Nullable Date getSendingEnd()

Restituisce l'ora in cui è terminato l'invio della richiesta.

Resi
@Nullable Date

java.util.Date che indica il termine dell'invio del corpo della richiesta HTTP. L'invio del corpo della richiesta avviene dopo l'invio delle intestazioni della richiesta.

getSendingStart

public abstract @Nullable Date getSendingStart()

Restituisce l'ora in cui è iniziato l'invio della richiesta.

Resi
@Nullable Date

java.util.Date che rappresenta l'inizio dell'invio delle intestazioni della richiesta HTTP.

getSentByteCount

public abstract @Nullable Long getSentByteCount()

Restituisce il totale dei byte inviati tramite il livello di trasporto di rete o null se non raccolti.

getSocketReused

public abstract boolean getSocketReused()

Restituisce un valore che indica se il socket è stato riutilizzato da una richiesta precedente. In HTTP/2 o QUIC, se i flussi vengono multiplexati in una singola connessione, restituisce true per tutti i flussi dopo il primo.

Resi
boolean

se questa richiesta ha riutilizzato un socket di una richiesta precedente. Quando true, i tempi di DNS, connessione e SSL saranno null.

getSslEnd

public abstract @Nullable Date getSslEnd()

Restituisce l'ora in cui è terminato l'handshake SSL. Per QUIC, sarà lo stesso orario di getConnectEnd.

Resi
@Nullable Date

java.util.Date che indica quando è terminato l'handshake SSL. null se SSL non viene utilizzato o se il socket è stato riutilizzato (vedi getSocketReused).

getSslStart

public abstract @Nullable Date getSslStart()

Restituisce l'ora in cui è iniziato l'handshake SSL. Per QUIC, sarà lo stesso orario di getConnectStart.

Resi
@Nullable Date

java.util.Date che indica l'inizio dell'handshake SSL. null se SSL non viene utilizzato o se il socket è stato riutilizzato (vedi getSocketReused).

getTotalTimeMs

public abstract @Nullable Long getTotalTimeMs()

Restituisce i millisecondi tra l'inizio e la fine della richiesta, inclusi un errore o un annullamento, oppure null se non raccolti. TODO(mgersh): Remove once new API works http://crbug.com/629194

getTtfbMs

public abstract @Nullable Long getTtfbMs()

Restituisce i millisecondi tra l'avvio della richiesta e il primo byte delle intestazioni della risposta oppure null se non raccolti. TODO(mgersh): Remove once new API works http://crbug.com/629194