RequestFinishedInfo.Metrics

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

Funzioni pubbliche

abstract Date?

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

abstract Date?

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

abstract Date?

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

abstract Date?

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

abstract Date?

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

abstract Date?

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

abstract Long?

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

abstract Date?

Restituisce l'ora in cui è terminata la richiesta.

abstract Date?

Restituisce l'ora in cui è iniziata la richiesta.

abstract Date?

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

abstract Date?

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

abstract Date?

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

abstract 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 Date?

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

abstract Date?

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

abstract Long?

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

abstract 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

Metrics()

Funzioni pubbliche

getConnectEnd

abstract fun getConnectEnd(): Date?

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

Resi
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

abstract fun getConnectStart(): Date?

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

Resi
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

abstract fun getDnsEnd(): Date?

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
Date?

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

getDnsStart

abstract fun getDnsStart(): Date?

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
Date?

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

getPushEnd

abstract fun getPushEnd(): Date?

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

Resi
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

abstract fun getPushStart(): Date?

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

Resi
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

abstract fun getReceivedByteCount(): Long?

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

abstract fun getRequestEnd(): Date?

Restituisce l'ora in cui è terminata la richiesta.

Resi
Date?

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

getRequestStart

abstract fun getRequestStart(): Date?

Restituisce l'ora in cui è iniziata la richiesta.

Resi
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

abstract fun getResponseStart(): Date?

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

Resi
Date?

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

getSendingEnd

abstract fun getSendingEnd(): Date?

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

Resi
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

abstract fun getSendingStart(): Date?

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

Resi
Date?

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

getSentByteCount

abstract fun getSentByteCount(): Long?

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

getSocketReused

abstract fun getSocketReused(): Boolean

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

abstract fun getSslEnd(): Date?

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

Resi
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

abstract fun getSslStart(): Date?

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

Resi
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

abstract fun getTotalTimeMs(): Long?

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

abstract fun getTtfbMs(): Long?

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