RequestFinishedInfo.Metrics

public abstract class RequestFinishedInfo.Metrics


Dane zebrane w ramach jednego żądania. Większość tych danych to sygnatury czasowe zdarzeń w trakcie trwania żądania, które można wykorzystać do utworzenia szczegółowej osi czasu na potrzeby analizowania wydajności.

Wydarzenia występują w tej kolejności:

  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
Czasy rozpoczęcia są podawane jako czas, w którym żądanie zaczęło blokować zdarzenie, a nie czas, w którym zdarzenie faktycznie wystąpiło. Wyjątkiem są rozpoczęcie i zakończenie wysyłania powiadomień push. Jeśli dane nie są istotne lub są niedostępne (np. gdy żądanie zostało zakończone przed osiągnięciem tego etapu), czas rozpoczęcia i zakończenia będzie oznaczony symbolem null. Jeśli nie poświęcono czasu na blokowanie wydarzenia, godzina rozpoczęcia i zakończenia będzie taka sama.

Jeśli zegar systemowy zostanie dostosowany podczas żądania, niektóre wartości java.util.Date mogą się z nim nie zgadzać. Sygnatury czasowe są rejestrowane za pomocą zegara, który na pewno nie będzie się cofać. Wszystkie sygnatury czasowe są prawidłowe w stosunku do zegara systemowego w momencie rozpoczęcia żądania, a różnica między dwiema sygnaturami czasowymi będzie prawidłową różnicą między zdarzeniami. Aby zachować tę właściwość, sygnatury czasowe zdarzeń innych niż rozpoczęcie żądania nie muszą odpowiadać zegarowi systemowemu w czasie, który reprezentują.

Większość danych o czasie pochodzi z interfejsu LoadTimingInfo, który zawiera informacje o .

Podsumowanie

Konstruktory publiczne

Metody publiczne

abstract @Nullable Date

Zwraca czas zakończenia nawiązywania połączenia.

abstract @Nullable Date

Zwraca czas rozpoczęcia nawiązywania połączenia.

abstract @Nullable Date

Zwraca czas zakończenia wyszukiwania DNS.

abstract @Nullable Date

Zwraca czas rozpoczęcia wyszukiwania DNS.

abstract @Nullable Date

Zwraca czas, w którym został odebrany ostatni bajt komunikatu push z serwera HTTP/2.

abstract @Nullable Date

Zwraca czas otrzymania pierwszego bajta komunikatu push z serwera HTTP/2.

abstract @Nullable Long

Zwraca łączną liczbę bajtów odebranych w warstwie transportowej sieci lub null, jeśli nie zostały zebrane.

abstract @Nullable Date

Zwraca czas zakończenia żądania.

abstract @Nullable Date

Zwraca czas rozpoczęcia żądania.

abstract @Nullable Date

Zwraca czas otrzymania końca nagłówków odpowiedzi.

abstract @Nullable Date

Zwraca czas zakończenia wysyłania żądania.

abstract @Nullable Date

Zwraca czas rozpoczęcia wysyłania żądania.

abstract @Nullable Long

Zwraca łączną liczbę bajtów wysłanych przez warstwę transportową sieci lub wartość null, jeśli nie są zbierane.

abstract boolean

Zwraca informację, czy gniazdo zostało ponownie użyte z poprzedniego żądania.

abstract @Nullable Date

Zwraca czas zakończenia uzgadniania połączenia SSL.

abstract @Nullable Date

Zwraca czas rozpoczęcia uzgadniania protokołu SSL.

abstract @Nullable Long

Zwraca liczbę milisekund między rozpoczęciem a zakończeniem żądania, w tym nieudanego lub anulowanego, albo null, jeśli nie zebrano danych.

abstract @Nullable Long

Zwraca liczbę milisekund między zainicjowaniem żądania a pierwszym bajtem nagłówków odpowiedzi lub null, jeśli nie zebrano tych danych.

Konstruktory publiczne

Wskaźniki

public Metrics()

Metody publiczne

getConnectEnd

public abstract @Nullable Date getConnectEnd()

Zwraca czas zakończenia nawiązywania połączenia.

Zwraca
@Nullable Date

java.util.Date – moment zakończenia nawiązywania połączenia po nawiązaniu połączenia TCP i zakończeniu uzgadniania SSL (jeśli używasz protokołu HTTPS). W przypadku QUIC 0-RTT jest to czas potwierdzenia uzgadniania połączenia, który może nastąpić później niż getSendingStart. null czy gniazdo zostało ponownie użyte (patrz getSocketReused).

getConnectStart

public abstract @Nullable Date getConnectStart()

Zwraca czas rozpoczęcia nawiązywania połączenia.

Zwraca
@Nullable Date

java.util.Date – moment rozpoczęcia nawiązywania połączenia, zwykle po zakończeniu rozpoznawania nazw DNS. null czy gniazdo zostało ponownie użyte (patrz getSocketReused).

getDnsEnd

public abstract @Nullable Date getDnsEnd()

Zwraca czas zakończenia wyszukiwania DNS. Zarówno ta funkcja, jak i funkcja getDnsStart zwracają wartości inne niż null niezależnie od tego, czy wynik pochodzi z serwera DNS, czy z pamięci podręcznej.

Zwraca
@Nullable Date

java.util.Date – moment zakończenia wyszukiwania DNS. null jeśli gniazdo zostało ponownie użyte (patrz getSocketReused).

getDnsStart

public abstract @Nullable Date getDnsStart()

Zwraca czas rozpoczęcia wyszukiwania DNS. Zarówno ta funkcja, jak i funkcja getDnsEnd zwracają wartości inne niż null niezależnie od tego, czy wynik pochodzi z serwera DNS, czy z pamięci podręcznej.

Zwraca
@Nullable Date

java.util.Date – moment rozpoczęcia wyszukiwania DNS. null jeśli gniazdo zostało ponownie użyte (patrz getSocketReused).

getPushEnd

public abstract @Nullable Date getPushEnd()

Zwraca czas, w którym został odebrany ostatni bajt komunikatu push z serwera HTTP/2.

Zwraca
@Nullable Date

java.util.Date – moment otrzymania ostatniego bajtu komunikatu push z serwera HTTP/2. null jeśli nie jest używane wypychanie serwera.

getPushStart

public abstract @Nullable Date getPushStart()

Zwraca czas otrzymania pierwszego bajta komunikatu push z serwera HTTP/2.

Zwraca
@Nullable Date

java.util.Date – moment otrzymania pierwszego bajtu komunikatu push z serwera HTTP/2. null jeśli nie jest używane wypychanie serwera.

getReceivedByteCount

public abstract @Nullable Long getReceivedByteCount()

Zwraca łączną liczbę bajtów odebranych w warstwie transportowej sieci lub null, jeśli nie zostały zebrane. Liczba bajtów nie obejmuje żadnych poprzednich przekierowań.

getRequestEnd

public abstract @Nullable Date getRequestEnd()

Zwraca czas zakończenia żądania.

Zwraca
@Nullable Date

java.util.Date, która oznacza zakończenie żądania.

getRequestStart

public abstract @Nullable Date getRequestStart()

Zwraca czas rozpoczęcia żądania.

Zwraca
@Nullable Date

java.util.Date – moment rozpoczęcia żądania reklamy natywnej. Sygnatura czasowa będzie zgodna z zegarem systemowym w momencie, którego dotyczy.

getResponseStart

public abstract @Nullable Date getResponseStart()

Zwraca czas otrzymania końca nagłówków odpowiedzi.

Zwraca
@Nullable Date

java.util.Date, która oznacza moment otrzymania końca nagłówków odpowiedzi.

getSendingEnd

public abstract @Nullable Date getSendingEnd()

Zwraca czas zakończenia wysyłania żądania.

Zwraca
@Nullable Date

java.util.Date – oznacza zakończenie wysyłania treści żądania HTTP. (Treść żądania jest wysyłana po wysłaniu nagłówków żądania).

getSendingStart

public abstract @Nullable Date getSendingStart()

Zwraca czas rozpoczęcia wysyłania żądania.

Zwraca
@Nullable Date

java.util.Date – moment rozpoczęcia wysyłania nagłówków żądania HTTP.

getSentByteCount

public abstract @Nullable Long getSentByteCount()

Zwraca łączną liczbę bajtów wysłanych przez warstwę transportową sieci lub wartość null, jeśli nie są zbierane.

getSocketReused

public abstract boolean getSocketReused()

Zwraca informację, czy gniazdo zostało ponownie użyte z poprzedniego żądania. W przypadku protokołów HTTP/2 lub QUIC, jeśli strumienie są multipleksowane w ramach jednego połączenia, funkcja zwraca wartość true dla wszystkich strumieni po pierwszym.

Zwraca
boolean

czy ta prośba ponownie wykorzystała gniazdo z poprzedniej prośby. Gdy true, czasy DNS, połączenia i SSL będą null.

getSslEnd

public abstract @Nullable Date getSslEnd()

Zwraca czas zakończenia uzgadniania połączenia SSL. W przypadku QUIC będzie to ten sam czas co getConnectEnd.

Zwraca
@Nullable Date

java.util.Date – oznacza zakończenie uzgadniania połączenia SSL. null jeśli protokół SSL nie jest używany lub gniazdo zostało ponownie użyte (patrz getSocketReused).

getSslStart

public abstract @Nullable Date getSslStart()

Zwraca czas rozpoczęcia uzgadniania protokołu SSL. W przypadku QUIC będzie to ten sam czas co getConnectStart.

Zwraca
@Nullable Date

java.util.Date – moment rozpoczęcia inicjowania połączenia SSL. null jeśli protokół SSL nie jest używany lub gniazdo zostało ponownie użyte (patrz getSocketReused).

getTotalTimeMs

public abstract @Nullable Long getTotalTimeMs()

Zwraca liczbę milisekund między rozpoczęciem a zakończeniem żądania, w tym nieudanego lub anulowanego, albo null, jeśli nie zebrano danych. TODO(mgersh): Remove once new API works http://crbug.com/629194

getTtfbMs

public abstract @Nullable Long getTtfbMs()

Zwraca liczbę milisekund między zainicjowaniem żądania a pierwszym bajtem nagłówków odpowiedzi lub null, jeśli nie zebrano tych danych. TODO(mgersh): Remove once new API works http://crbug.com/629194