RequestFinishedInfo.Metrics

abstract class RequestFinishedInfo.Metrics


Messwerte, die für eine einzelne Anfrage erfasst werden. Die meisten dieser Messwerte sind Zeitstempel für Ereignisse während der Lebensdauer der Anfrage. Sie können verwendet werden, um einen detaillierten Zeitachsendiagramm zur Untersuchung der Leistung zu erstellen.

Die Ereignisse laufen in dieser Reihenfolge ab:

  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
Startzeiten werden als die Zeit angegeben, zu der eine Anfrage mit dem Blockieren eines Ereignisses begonnen hat, nicht als die Zeit, zu der das Ereignis tatsächlich aufgetreten ist. Eine Ausnahme bilden Push-Start und ‑Ende. Wenn eine Messwert nicht aussagekräftig oder nicht verfügbar ist, z. B. weil eine Anfrage vor Erreichen dieser Phase abgeschlossen wurde, sind Start- und Endzeit null. Wenn keine Zeit mit dem Blockieren eines Ereignisses verbracht wurde, sind Start- und Endzeit identisch.

Wenn die Systemuhr während der Anfrage angepasst wird, stimmen einige der java.util.Date-Werte möglicherweise nicht damit überein. Zeitstempel werden mit einer Uhr aufgezeichnet, die garantiert nicht rückwärts läuft. Alle Zeitstempel sind relativ zur Systemuhr zum Zeitpunkt des Anforderungsstarts korrekt. Wenn Sie die Differenz zwischen zwei Zeitstempeln berechnen, erhalten Sie die korrekte Differenz zwischen den Ereignissen. Um diese Eigenschaft beizubehalten, stimmen Zeitstempel für andere Ereignisse als den Anforderungsstart möglicherweise nicht mit der Systemuhrzeit überein.

Die meisten Zeitmesswerte stammen aus LoadTimingInfo, das die Informationen für und enthält.

Zusammenfassung

Öffentliche Konstruktoren

Öffentliche Funktionen

abstract Date?

Gibt die Zeit zurück, zu der die Verbindungsherstellung abgeschlossen wurde.

abstract Date?

Gibt den Zeitpunkt zurück, zu dem die Verbindungsherstellung begonnen hat.

abstract Date?

Gibt den Zeitpunkt zurück, zu dem der DNS-Lookup abgeschlossen wurde.

abstract Date?

Gibt den Zeitpunkt zurück, zu dem der DNS-Lookup gestartet wurde.

abstract Date?

Gibt die Zeit zurück, zu der das letzte Byte des HTTP/2-Server-Push empfangen wurde.

abstract Date?

Gibt den Zeitpunkt zurück, zu dem das erste Byte des HTTP/2-Server-Push empfangen wurde.

abstract Long?

Gibt die Gesamtzahl der über die Netzwerktransportschicht empfangenen Byte zurück oder null, wenn keine Daten erhoben werden.

abstract Date?

Gibt die Zeit zurück, zu der die Anfrage abgeschlossen wurde.

abstract Date?

Gibt den Zeitpunkt zurück, zu dem die Anfrage gestartet wurde.

abstract Date?

Gibt die Zeit zurück, zu der das Ende der Antwortheader empfangen wurde.

abstract Date?

Gibt die Zeit zurück, zu der das Senden der Anfrage abgeschlossen wurde.

abstract Date?

Gibt den Zeitpunkt zurück, zu dem das Senden der Anfrage begonnen hat.

abstract Long?

Gibt die Gesamtzahl der über die Netzwerktransportschicht gesendeten Byte zurück oder null, wenn keine Daten erhoben werden.

abstract Boolean

Gibt zurück, ob der Socket aus einer vorherigen Anfrage wiederverwendet wurde.

abstract Date?

Gibt den Zeitpunkt zurück, zu dem der SSL-Handshake abgeschlossen wurde.

abstract Date?

Gibt den Zeitpunkt zurück, zu dem der SSL-Handshake gestartet wurde.

abstract Long?

Gibt die Millisekunden zwischen dem Beginn und dem Ende der Anfrage zurück, einschließlich eines Fehlers oder einer Abbrechen, oder null, wenn keine Daten erhoben werden.

abstract Long?

Gibt die Anzahl der Millisekunden zwischen dem Beginn der Anfrage und dem ersten Byte der Antwortheader zurück oder null, wenn keine Daten erhoben werden.

Öffentliche Konstruktoren

Messwerte

Metrics()

Öffentliche Funktionen

getConnectEnd

abstract fun getConnectEnd(): Date?

Gibt die Zeit zurück, zu der die Verbindungsherstellung abgeschlossen wurde.

Gibt Folgendes zurück:
Date?

java.util.Date – gibt an, wann die Verbindungsherstellung abgeschlossen ist, nachdem die TCP-Verbindung hergestellt und, falls HTTPS verwendet wird, der SSL-Handshake abgeschlossen ist. Bei QUIC 0-RTT entspricht dies dem Zeitpunkt der Handshake-Bestätigung. Dieser kann später als getSendingStart eintreten. null, wenn der Socket wiederverwendet wurde (siehe getSocketReused).

getConnectStart

abstract fun getConnectStart(): Date?

Gibt den Zeitpunkt zurück, zu dem die Verbindungsherstellung begonnen hat.

Gibt Folgendes zurück:
Date?

java.util.Date – Zeitpunkt, zu dem die Verbindungsherstellung begonnen hat, in der Regel nach Abschluss der DNS-Auflösung. null, wenn der Socket wiederverwendet wurde (siehe getSocketReused).

getDnsEnd

abstract fun getDnsEnd(): Date?

Gibt den Zeitpunkt zurück, zu dem der DNS-Lookup abgeschlossen wurde. Diese und getDnsStart geben Werte zurück, die nicht null sind, unabhängig davon, ob das Ergebnis von einem DNS-Server oder aus dem lokalen Cache stammt.

Gibt Folgendes zurück:
Date?

java.util.Date – gibt an, wann der DNS-Lookup abgeschlossen ist. null, wenn der Socket wiederverwendet wurde (siehe getSocketReused).

getDnsStart

abstract fun getDnsStart(): Date?

Gibt den Zeitpunkt zurück, zu dem der DNS-Lookup gestartet wurde. Diese und getDnsEnd geben Werte zurück, die nicht null sind, unabhängig davon, ob das Ergebnis von einem DNS-Server oder aus dem lokalen Cache stammt.

Gibt Folgendes zurück:
Date?

java.util.Date – Zeitpunkt, zu dem der DNS-Lookup gestartet wurde. null, wenn der Socket wiederverwendet wurde (siehe getSocketReused).

getPushEnd

abstract fun getPushEnd(): Date?

Gibt die Zeit zurück, zu der das letzte Byte des HTTP/2-Server-Push empfangen wurde.

Gibt Folgendes zurück:
Date?

java.util.Date – Zeitpunkt, zu dem das letzte Byte eines HTTP/2-Server-Push empfangen wurde. null, wenn kein Server Push verwendet wird.

getPushStart

abstract fun getPushStart(): Date?

Gibt den Zeitpunkt zurück, zu dem das erste Byte des HTTP/2-Server-Push empfangen wurde.

Gibt Folgendes zurück:
Date?

java.util.Date gibt an, wann das erste Byte eines HTTP/2-Server-Push empfangen wurde. null, wenn kein Server Push verwendet wird.

getReceivedByteCount

abstract fun getReceivedByteCount(): Long?

Gibt die Gesamtzahl der über die Netzwerktransportschicht empfangenen Byte zurück oder null, wenn keine Daten erhoben werden. Die Anzahl der Bytes enthält keine vorherigen Weiterleitungen.

getRequestEnd

abstract fun getRequestEnd(): Date?

Gibt die Zeit zurück, zu der die Anfrage abgeschlossen wurde.

Gibt Folgendes zurück:
Date?

java.util.Date gibt an, wann die Anfrage abgeschlossen wurde.

getRequestStart

abstract fun getRequestStart(): Date?

Gibt den Zeitpunkt zurück, zu dem die Anfrage gestartet wurde.

Gibt Folgendes zurück:
Date?

java.util.Date – Zeitpunkt, zu dem die native Anfrage tatsächlich gestartet wurde. Dieser Zeitstempel entspricht der Systemuhr zum entsprechenden Zeitpunkt.

getResponseStart

abstract fun getResponseStart(): Date?

Gibt die Zeit zurück, zu der das Ende der Antwortheader empfangen wurde.

Gibt Folgendes zurück:
Date?

java.util.Date gibt an, wann das Ende der Antwortheader empfangen wurde.

getSendingEnd

abstract fun getSendingEnd(): Date?

Gibt die Zeit zurück, zu der das Senden der Anfrage abgeschlossen wurde.

Gibt Folgendes zurück:
Date?

java.util.Date – gibt an, wann das Senden des HTTP-Anfragetexts abgeschlossen ist. Der Anfragetext wird nach den Anfrageheadern gesendet.

getSendingStart

abstract fun getSendingStart(): Date?

Gibt den Zeitpunkt zurück, zu dem das Senden der Anfrage begonnen hat.

Gibt Folgendes zurück:
Date?

java.util.Date, die den Beginn des Sendens von HTTP-Anfrageheadern darstellt.

getSentByteCount

abstract fun getSentByteCount(): Long?

Gibt die Gesamtzahl der über die Netzwerktransportschicht gesendeten Byte zurück oder null, wenn keine Daten erhoben werden.

getSocketReused

abstract fun getSocketReused(): Boolean

Gibt zurück, ob der Socket aus einer vorherigen Anfrage wiederverwendet wurde. Wenn in HTTP/2 oder QUIC Streams in einer einzigen Verbindung gemultiplext werden, wird für alle Streams nach dem ersten true zurückgegeben.

Gibt Folgendes zurück:
Boolean

Gibt an, ob für diese Anfrage ein Socket aus einer vorherigen Anfrage wiederverwendet wurde. Wenn true, sind die DNS-, Verbindungs- und SSL-Zeiten null.

getSslEnd

abstract fun getSslEnd(): Date?

Gibt den Zeitpunkt zurück, zu dem der SSL-Handshake abgeschlossen wurde. Bei QUIC ist das dieselbe Zeit wie bei getConnectEnd.

Gibt Folgendes zurück:
Date?

java.util.Date – Zeitpunkt, zu dem der SSL-Handshake abgeschlossen wurde. null, wenn SSL nicht verwendet wird oder der Socket wiederverwendet wurde (siehe getSocketReused).

getSslStart

abstract fun getSslStart(): Date?

Gibt den Zeitpunkt zurück, zu dem der SSL-Handshake gestartet wurde. Bei QUIC ist das dieselbe Zeit wie bei getConnectStart.

Gibt Folgendes zurück:
Date?

java.util.Date – gibt an, wann der SSL-Handshake begonnen hat. null, wenn SSL nicht verwendet wird oder der Socket wiederverwendet wurde (siehe getSocketReused).

getTotalTimeMs

abstract fun getTotalTimeMs(): Long?

Gibt die Millisekunden zwischen dem Beginn und dem Ende der Anfrage zurück, einschließlich eines Fehlers oder einer Abbrechen, oder null, wenn keine Daten erhoben werden. TODO(mgersh): Remove once new API works http://crbug.com/629194

getTtfbMs

abstract fun getTtfbMs(): Long?

Gibt die Anzahl der Millisekunden zwischen dem Beginn der Anfrage und dem ersten Byte der Antwortheader zurück oder null, wenn keine Daten erhoben werden. TODO(mgersh): Remove once new API works http://crbug.com/629194