RequestFinishedInfo.Metrics

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

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

abstract Date ?

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

abstract Date ?

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

abstract Date ?

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

abstract Date ?

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

abstract Date ?

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

abstract Long ?

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

abstract Date ?

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

abstract Date ?

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

abstract Date ?

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

abstract Date ?

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

abstract Date ?

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

abstract Long ?

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

abstract Boolean

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

abstract Date ?

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

abstract Date ?

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

abstract Long ?

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

abstract Long ?

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

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

Метрики

Metrics()

Общественные функции

getConnectEnd

abstract fun getConnectEnd(): Date?

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

Возвраты
Date ?

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

getConnectStart

abstract fun getConnectStart(): Date?

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

Возвраты
Date ?

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

getDnsEnd

abstract fun getDnsEnd(): Date?

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

Возвраты
Date ?

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

getDnsStart

abstract fun getDnsStart(): Date?

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

Возвраты
Date ?

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

getPushEnd

abstract fun getPushEnd(): Date?

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

Возвраты
Date ?

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

getPushStart

abstract fun getPushStart(): Date?

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

Возвраты
Date ?

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

getReceivedByteCount

abstract fun getReceivedByteCount(): Long?

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

getRequestEnd

abstract fun getRequestEnd(): Date?

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

Возвраты
Date ?

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

getRequestStart

abstract fun getRequestStart(): Date?

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

Возвраты
Date ?

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

getResponseStart

abstract fun getResponseStart(): Date?

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

Возвраты
Date ?

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

getSendingEnd

abstract fun getSendingEnd(): Date?

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

Возвраты
Date ?

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

getSendingStart

abstract fun getSendingStart(): Date?

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

Возвраты
Date ?

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

getSentByteCount

abstract fun getSentByteCount(): Long?

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

getSocketReused

abstract fun getSocketReused(): Boolean

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

Возвраты
Boolean

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

getSslEnd

abstract fun getSslEnd(): Date?

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

Возвраты
Date ?

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

getSslStart

abstract fun getSslStart(): Date?

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

Возвраты
Date ?

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

getTotalTimeMs

abstract fun getTotalTimeMs(): Long?

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

getTtfbMs

abstract fun getTtfbMs(): Long?

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