RequestFinishedInfo.Metrics

public abstract class RequestFinishedInfo.Metrics


Метрики, собираемые для одного запроса. Большинство этих метрик представляют собой временные метки событий в течение всего времени выполнения запроса, которые можно использовать для построения подробной хронологии для анализа производительности.

События происходят в следующем порядке:

  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
Время начала указывается как время, когда запрос начал блокироваться на этапе обработки события, а не когда событие фактически произошло, за исключением времени начала и окончания push-уведомлений. Если метрика неинформативна или недоступна, включая случаи, когда запрос завершился до достижения этого этапа, время начала и окончания будет null . Если на обработку события не было потрачено время, время начала и окончания будет совпадать.

Если системные часы корректируются во время запроса, некоторые значения java.util.Date могут не совпадать с ними. Временные метки записываются с использованием часов, которые гарантированно не идут вспять. Все временные метки верны относительно системных часов на момент начала запроса, и разность двух временных меток даст правильную разность между событиями. Чтобы сохранить это свойство, временные метки для событий, отличных от начала запроса, не гарантируют совпадения с системными часами в соответствующие моменты времени.

Большинство показателей времени берутся из LoadTimingInfo , который содержит информацию о и .

Краткое содержание

Государственные строители

Metrics ()

Общедоступные методы

abstract @ Nullable Date

Возвращает время завершения установления соединения.

abstract @ Nullable Date

Возвращает время начала установления соединения.

abstract @ Nullable Date

Возвращает время завершения поиска DNS.

abstract @ Nullable Date

Возвращает время начала поиска DNS.

abstract @ Nullable Date

Возвращает время получения последнего байта HTTP/2-сообщения от сервера.

abstract @ Nullable Date

Возвращает время получения первого байта HTTP/2-сообщения, отправленного сервером.

abstract @ Nullable Long

Возвращает общее количество байтов, полученных по транспортному уровню сети, или null , если данные не были получены.

abstract @ Nullable Date

Возвращает время завершения запроса.

abstract @ Nullable Date

Возвращает время начала запроса.

abstract @ Nullable Date

Возвращает время, когда был получен конец заголовков ответа.

abstract @ Nullable Date

Возвращает время, когда отправка запроса завершена.

abstract @ Nullable Date

Возвращает время начала отправки запроса.

abstract @ Nullable Long

Возвращает общее количество байтов, отправленных по транспортному уровню сети, или null , если данные не были собраны.

abstract boolean

Возвращает значение, указывающее, был ли сокет повторно использован в предыдущем запросе.

abstract @ Nullable Date

Возвращает время завершения SSL-рукопожатия.

abstract @ Nullable Date

Возвращает время начала SSL-рукопожатия.

abstract @ Nullable Long

Возвращает значение в миллисекундах между началом и завершением запроса, включая сбой или отмену, или null если запрос не был обработан.

abstract @ Nullable Long

Возвращает значение в миллисекундах между началом запроса и первым байтом заголовков ответа, или null если оно не было получено.

Государственные строители

Метрики

public Metrics()

Общедоступные методы

getConnectEnd

public abstract @Nullable Date getConnectEnd()

Возвращает время завершения установления соединения.

Возвраты
@ Nullable Date

java.util.Date это значение, указывающее на момент завершения установления соединения, то есть после установления TCP-соединения и, если используется HTTPS, завершения SSL-рукопожатия. Для QUIC 0-RTT это время представляет собой время подтверждения рукопожатия и может наступить позже, чем getSendingStart null если сокет был использован повторно (см. getSocketReused ).

getConnectStart

public abstract @Nullable Date getConnectStart()

Возвращает время начала установления соединения.

Возвраты
@ Nullable Date

java.util.Date значение, указывающее на момент начала установления соединения, обычно на момент завершения разрешения DNS-запросов. null , если сокет был использован повторно (см. getSocketReused ).

getDnsEnd

public abstract @Nullable Date getDnsEnd()

Возвращает время завершения поиска DNS. Эта функция и getDnsStart будут возвращать ненулевые значения независимо от того, был ли результат получен с DNS-сервера или из локального кэша.

Возвраты
@ Nullable Date

java.util.Date — дата завершения поиска DNS. Значение null , если сокет был использован повторно (см. getSocketReused ).

getDnsStart

public abstract @Nullable Date getDnsStart()

Возвращает время начала поиска DNS. Эта функция и getDnsEnd будут возвращать ненулевые значения независимо от того, получен ли результат от DNS-сервера или из локального кэша.

Возвраты
@ Nullable Date

java.util.Date — дата начала поиска DNS. Значение null , если сокет был использован повторно (см. getSocketReused ).

getPushEnd

public abstract @Nullable Date getPushEnd()

Возвращает время получения последнего байта HTTP/2-сообщения от сервера.

Возвраты
@ Nullable Date

java.util.Date — значение, указывающее дату получения последнего байта HTTP/2-запроса на сервер. null если запрос на сервер не используется.

getPushStart

public abstract @Nullable Date getPushStart()

Возвращает время получения первого байта HTTP/2-сообщения, отправленного сервером.

Возвраты
@ Nullable Date

java.util.Date — значение, указывающее дату получения первого байта HTTP/2-запроса на сервер. null если запрос на сервер не используется.

getReceivedByteCount

public abstract @Nullable Long getReceivedByteCount()

Возвращает общее количество байтов, полученных по транспортному уровню сети, или null , если данные не были получены. Количество байтов не включает предыдущие перенаправления.

getRequestEnd

public abstract @Nullable Date getRequestEnd()

Возвращает время завершения запроса.

Возвраты
@ Nullable Date

java.util.Date — дата завершения запроса.

getRequestStart

public abstract @Nullable Date getRequestStart()

Возвращает время начала запроса.

Возвраты
@ Nullable Date

java.util.Date это значение, указывающее на фактическое время начала выполнения нативного запроса. Эта метка времени будет соответствовать системным часам на указанное время.

getResponseStart

public abstract @Nullable Date getResponseStart()

Возвращает время, когда был получен конец заголовков ответа.

Возвраты
@ Nullable Date

java.util.Date это значение, указывающее на момент получения конца заголовков ответа.

getSendingEnd

public abstract @Nullable Date getSendingEnd()

Возвращает время, когда отправка запроса завершена.

Возвраты
@ Nullable Date

java.util.Date — это значение, указывающее на момент завершения отправки тела HTTP-запроса. (Отправка тела запроса происходит после отправки заголовков запроса.)

getSendingStart

public abstract @Nullable Date getSendingStart()

Возвращает время начала отправки запроса.

Возвраты
@ Nullable Date

java.util.Date — дата начала отправки заголовков HTTP-запроса.

getSentByteCount

public abstract @Nullable Long getSentByteCount()

Возвращает общее количество байтов, отправленных по транспортному уровню сети, или null , если данные не были собраны.

getSocketReused

public abstract boolean getSocketReused()

Возвращает значение true, указывающее, был ли сокет повторно использован в предыдущем запросе. В HTTP/2 или QUIC, если потоки мультиплексируются в одном соединении, возвращает true для всех потоков после первого.

Возвраты
boolean

Указывает, использовалось ли в этом запросе повторное соединение из предыдущего запроса. Если true , то время DNS, время соединения и время SSL будут null .

getSslEnd

public abstract @Nullable Date getSslEnd()

Возвращает время завершения SSL-рукопожатия. Для QUIC это будет то же время, что и в getConnectEnd .

Возвраты
@ Nullable Date

java.util.Date значение, указывающее на момент завершения SSL-рукопожатия. null , если SSL не использовался или если сокет был использован повторно (см. getSocketReused ).

getSslStart

public abstract @Nullable Date getSslStart()

Возвращает время начала SSL-рукопожатия. Для QUIC это будет то же время, что и в getConnectStart .

Возвраты
@ Nullable Date

java.util.Date — дата начала SSL-рукопожатия. Значение null , если SSL не используется или если сокет был использован повторно (см. getSocketReused ).

getTotalTimeMs

public abstract @Nullable Long getTotalTimeMs()

Возвращает количество миллисекунд между началом и завершением запроса, включая сбой или отмену, или null если данные не были получены. TODO(mgersh): Удалить после того, как новый API заработает. http://crbug.com/629194

getTtfbMs

public abstract @Nullable Long getTtfbMs()

Возвращает количество миллисекунд между началом запроса и первым байтом заголовков ответа или null , если данные не были получены. TODO(mgersh): Удалить после того, как новый API заработает. http://crbug.com/629194