RequestFinishedInfo.Metrics

public 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

Métodos públicos

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

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

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

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

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

abstract @Nullable Date

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

abstract @Nullable Long

Devuelve los milisegundos entre el inicio y el final de la solicitud, incluidos los casos de falla o cancelación, o null si no se recopiló.

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

public Metrics()

Métodos públicos

getConnectEnd

public abstract @Nullable Date getConnectEnd()

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

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

public abstract @Nullable Date getConnectStart()

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

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

public abstract @Nullable Date getDnsEnd()

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

public abstract @Nullable Date getDnsStart()

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

public abstract @Nullable Date getPushEnd()

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

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

public abstract @Nullable Date getPushStart()

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

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

public abstract @Nullable Long getReceivedByteCount()

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

public abstract @Nullable Date getRequestEnd()

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

Muestra
@Nullable Date

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

getRequestStart

public abstract @Nullable Date getRequestStart()

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

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

public abstract @Nullable Date getResponseStart()

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

Muestra
@Nullable Date

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

getSendingEnd

public abstract @Nullable Date getSendingEnd()

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

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

public abstract @Nullable Date getSendingStart()

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

Muestra
@Nullable Date

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

getSentByteCount

public abstract @Nullable Long getSentByteCount()

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

public abstract boolean getSocketReused()

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

public abstract @Nullable Date getSslEnd()

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

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

public abstract @Nullable Date getSslStart()

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

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

public abstract @Nullable Long getTotalTimeMs()

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

public abstract @Nullable Long getTtfbMs()

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