RequestFinishedInfo.Metrics

abstract class RequestFinishedInfo.Metrics


Son las métricas recopiladas para una sola solicitud. La mayoría de estas métricas son marcas de tiempo de eventos que ocurren durante el ciclo de vida de la solicitud, que se pueden usar para crear una línea de tiempo detallada para investigar el rendimiento.

Los eventos ocurren en este orden:

  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
Las horas de inicio se registran como el momento en que una solicitud comenzó a bloquearse en el evento, no cuando ocurrió el evento, con la excepción del inicio y el final de la inserción. Si una métrica no es significativa o no está disponible, incluidos los casos en que una solicitud finalizó antes de alcanzar esa etapa, las horas de inicio y finalización serán null. Si no se dedicó tiempo a bloquear un evento, la hora de inicio y la de finalización serán las mismas.

Si el reloj del sistema se ajusta durante la solicitud, es posible que algunos de los valores de java.util.Date no coincidan con él. Las marcas de tiempo se registran con un reloj que garantiza que no se ejecute hacia atrás. Todas las marcas de tiempo son correctas en relación con el reloj del sistema en el momento del inicio de la solicitud, y la diferencia entre dos marcas de tiempo dará la diferencia correcta entre los eventos. Para preservar esta propiedad, no se garantiza que las marcas de tiempo de los eventos que no sean el inicio de la solicitud coincidan con el reloj del sistema en los momentos que representan.

La mayoría de las métricas de tiempo se toman de LoadTimingInfo, que contiene la información de y .

Resumen

Constructores públicos

Funciones públicas

abstract Date?

Devuelve la fecha y hora en que finalizó el establecimiento de la conexión.

abstract Date?

Devuelve la fecha y hora en que se inició el establecimiento de la conexión.

abstract Date?

Devuelve la hora en que finalizó la búsqueda de DNS.

abstract Date?

Devuelve la fecha y hora en que comenzó la búsqueda de DNS.

abstract Date?

Devuelve la hora en que se recibió el último byte del push desde servidor HTTP/2.

abstract Date?

Devuelve la fecha y hora en que se recibió el primer byte del push desde servidor HTTP/2.

abstract Long?

Devuelve la cantidad total de bytes recibidos a través de la capa de transporte de la red o null si no se recopiló.

abstract Date?

Devuelve la fecha y hora en que finalizó la solicitud.

abstract Date?

Devuelve la fecha y hora en que comenzó la solicitud.

abstract Date?

Devuelve la fecha y hora en que se recibieron los encabezados de respuesta.

abstract Date?

Devuelve la fecha y hora en que finalizó el envío de la solicitud.

abstract Date?

Devuelve la fecha y hora en que se inició el envío de la solicitud.

abstract Long?

Devuelve la cantidad total de bytes enviados a través de la capa de transporte de la red o null si no se recopiló.

abstract Boolean

Devuelve si el socket se reutilizó de una solicitud anterior.

abstract Date?

Devuelve la hora en que finalizó el protocolo de enlace SSL.

abstract Date?

Devuelve la fecha y hora en que se inició el protocolo de enlace SSL.

abstract Long?

Devuelve los milisegundos entre el inicio y el final de la solicitud, incluidos los errores o las cancelaciones, o null si no se recopiló.

abstract Long?

Devuelve los milisegundos entre el inicio de la solicitud y el primer byte de los encabezados de respuesta, o null si no se recopiló.

Constructores públicos

Métricas

Metrics()

Funciones públicas

getConnectEnd

abstract fun getConnectEnd(): Date?

Devuelve la fecha y hora en que finalizó el establecimiento de la conexión.

Muestra
Date?

java.util.Date representa el momento en que finalizó el establecimiento de la conexión, después de que se estableció la conexión TCP y, si se usa HTTPS, se completó el protocolo de enlace SSL. Para QUIC 0-RTT, esto representa el momento de la confirmación del handshake y podría ocurrir más tarde que getSendingStart. null si se reutilizó el socket (consulta getSocketReused).

getConnectStart

abstract fun getConnectStart(): Date?

Devuelve la fecha y hora en que se inició el establecimiento de la conexión.

Muestra
Date?

java.util.Date representa el momento en que se inició el establecimiento de la conexión, por lo general, cuando finaliza la resolución de DNS. null si se reutilizó el socket (consulta getSocketReused).

getDnsEnd

abstract fun getDnsEnd(): Date?

Devuelve la hora en que finalizó la búsqueda de DNS. Este método y getDnsStart devolverán valores no nulos, independientemente de si el resultado provino de un servidor DNS o de la caché local.

Muestra
Date?

java.util.Date que representa el momento en que finalizó la búsqueda de DNS. null si se reutilizó el socket (consulta getSocketReused).

getDnsStart

abstract fun getDnsStart(): Date?

Devuelve la fecha y hora en que comenzó la búsqueda de DNS. Este método y getDnsEnd devolverán valores no nulos, independientemente de si el resultado provino de un servidor DNS o de la caché local.

Muestra
Date?

java.util.Date que representa el momento en que se inició la búsqueda de DNS. null si se reutilizó el socket (consulta getSocketReused).

getPushEnd

abstract fun getPushEnd(): Date?

Devuelve la hora en que se recibió el último byte del push desde servidor HTTP/2.

Muestra
Date?

java.util.Date que representa el momento en que se recibió el último byte de un push desde servidor HTTP/2. null si no se usa la función de envío del servidor.

getPushStart

abstract fun getPushStart(): Date?

Devuelve la fecha y hora en que se recibió el primer byte del push desde servidor HTTP/2.

Muestra
Date?

java.util.Date que representa el momento en que se recibió el primer byte de un push desde servidor HTTP/2. null si no se usa la función de envío del servidor.

getReceivedByteCount

abstract fun getReceivedByteCount(): Long?

Devuelve la cantidad total de bytes recibidos a través de la capa de transporte de la red o null si no se recopiló. La cantidad de bytes no incluye redireccionamientos anteriores.

getRequestEnd

abstract fun getRequestEnd(): Date?

Devuelve la fecha y hora en que finalizó la solicitud.

Muestra
Date?

java.util.Date que representa el momento en que finalizó la solicitud.

getRequestStart

abstract fun getRequestStart(): Date?

Devuelve la fecha y hora en que comenzó la solicitud.

Muestra
Date?

java.util.Date que representa el momento en que realmente comenzó la solicitud nativa. Esta marca de tiempo coincidirá con el reloj del sistema en el momento que representa.

getResponseStart

abstract fun getResponseStart(): Date?

Devuelve la fecha y hora en que se recibieron los encabezados de respuesta.

Muestra
Date?

java.util.Date que representa el momento en que se recibieron los encabezados de respuesta.

getSendingEnd

abstract fun getSendingEnd(): Date?

Devuelve la fecha y hora en que finalizó el envío de la solicitud.

Muestra
Date?

java.util.Date que representa el momento en que finalizó el envío del cuerpo de la solicitud HTTP. (El envío del cuerpo de la solicitud se realiza después del envío de los encabezados de la solicitud).

getSendingStart

abstract fun getSendingStart(): Date?

Devuelve la fecha y hora en que se inició el envío de la solicitud.

Muestra
Date?

java.util.Date que representa el momento en que se comenzaron a enviar los encabezados de solicitud HTTP.

getSentByteCount

abstract fun getSentByteCount(): Long?

Devuelve la cantidad total de bytes enviados a través de la capa de transporte de la red o null si no se recopiló.

getSocketReused

abstract fun getSocketReused(): Boolean

Devuelve si el socket se reutilizó de una solicitud anterior. En HTTP/2 o QUIC, si los flujos se multiplexan en una sola conexión, se devuelve true para todos los flujos después del primero.

Muestra
Boolean

Indica si esta solicitud reutilizó un socket de una solicitud anterior. Cuando es true, los tiempos de DNS, conexión y SSL serán null.

getSslEnd

abstract fun getSslEnd(): Date?

Devuelve la hora en que finalizó el protocolo de enlace SSL. Para QUIC, será el mismo tiempo que getConnectEnd.

Muestra
Date?

java.util.Date representa el momento en que finalizó el protocolo de enlace SSL. null si no se usa SSL o si se reutilizó el socket (consulta getSocketReused).

getSslStart

abstract fun getSslStart(): Date?

Devuelve la fecha y hora en que se inició el protocolo de enlace SSL. Para QUIC, será el mismo tiempo que getConnectStart.

Muestra
Date?

java.util.Date que representa el momento en que se inició el protocolo de enlace SSL. null si no se usa SSL o si se reutilizó el socket (consulta getSocketReused).

getTotalTimeMs

abstract fun getTotalTimeMs(): Long?

Devuelve los milisegundos entre el inicio y el final de la solicitud, incluidos los errores o las cancelaciones, o null si no se recopiló. TODO(mgersh): Quítalo una vez que funcione la nueva API http://crbug.com/629194

getTtfbMs

abstract fun getTtfbMs(): Long?

Devuelve los milisegundos entre el inicio de la solicitud y el primer byte de los encabezados de respuesta, o null si no se recopiló. TODO(mgersh): Quítalo una vez que funcione la nueva API http://crbug.com/629194