RequestFinishedInfo.Metrics

public 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 Methoden

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Long

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable 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 @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable 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 @Nullable 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

public Metrics()

Öffentliche Methoden

getConnectEnd

public abstract @Nullable Date getConnectEnd()

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

Gibt Folgendes zurück:
@Nullable 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

public abstract @Nullable Date getConnectStart()

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

Gibt Folgendes zurück:
@Nullable 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

public abstract @Nullable Date getDnsEnd()

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:
@Nullable Date

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

getDnsStart

public abstract @Nullable Date getDnsStart()

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:
@Nullable Date

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

getPushEnd

public abstract @Nullable Date getPushEnd()

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

Gibt Folgendes zurück:
@Nullable 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

public abstract @Nullable Date getPushStart()

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

Gibt Folgendes zurück:
@Nullable 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

public abstract @Nullable Long getReceivedByteCount()

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

public abstract @Nullable Date getRequestEnd()

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

Gibt Folgendes zurück:
@Nullable Date

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

getRequestStart

public abstract @Nullable Date getRequestStart()

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

Gibt Folgendes zurück:
@Nullable Date

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

getResponseStart

public abstract @Nullable Date getResponseStart()

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

Gibt Folgendes zurück:
@Nullable Date

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

getSendingEnd

public abstract @Nullable Date getSendingEnd()

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

Gibt Folgendes zurück:
@Nullable Date

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

getSendingStart

public abstract @Nullable Date getSendingStart()

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

Gibt Folgendes zurück:
@Nullable Date

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

getSentByteCount

public abstract @Nullable Long getSentByteCount()

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

getSocketReused

public abstract boolean getSocketReused()

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

public abstract @Nullable Date getSslEnd()

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:
@Nullable 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

public abstract @Nullable Date getSslStart()

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:
@Nullable 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

public abstract @Nullable Long getTotalTimeMs()

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

public abstract @Nullable Long getTtfbMs()

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