RequestFinishedInfo.Metrics

abstract class RequestFinishedInfo.Metrics


Métriques collectées pour une seule demande. La plupart de ces métriques sont des codes temporels pour les événements survenus au cours de la durée de vie de la requête. Elles peuvent être utilisées pour créer un calendrier détaillé permettant d'analyser les performances.

Les événements se déroulent dans l'ordre suivant :

  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
Les heures de début sont indiquées comme étant l'heure à laquelle une requête a commencé à bloquer un événement, et non l'heure à laquelle l'événement s'est réellement produit, à l'exception du début et de la fin des notifications push. Si une métrique n'est pas pertinente ou n'est pas disponible (y compris dans les cas où une requête s'est terminée avant d'atteindre cette étape), les heures de début et de fin seront null. Si aucun temps n'a été passé à bloquer un événement, les heures de début et de fin seront identiques.

Si l'horloge système est ajustée pendant la requête, il est possible que certaines valeurs java.util.Date ne correspondent pas. Les codes temporels sont enregistrés à l'aide d'une horloge qui ne peut pas reculer. Tous les codes temporels sont corrects par rapport à l'horloge système au moment du début de la requête. La différence entre deux codes temporels donnera la différence correcte entre les événements. Afin de préserver cette propriété, il n'est pas garanti que les codes temporels des événements autres que le début de la requête correspondent à l'horloge système aux heures qu'ils représentent.

La plupart des métriques de timing proviennent de LoadTimingInfo, qui contient les informations pour et .

Résumé

Constructeurs publics

Fonctions publiques

abstract Date?

Renvoie l'heure à laquelle l'établissement de la connexion s'est terminé.

abstract Date?

Renvoie l'heure à laquelle l'établissement de la connexion a commencé.

abstract Date?

Renvoie l'heure à laquelle la résolution DNS s'est terminée.

abstract Date?

Renvoie l'heure à laquelle la résolution DNS a commencé.

abstract Date?

Renvoie l'heure à laquelle le dernier octet du push du serveur HTTP/2 a été reçu.

abstract Date?

Renvoie l'heure à laquelle le premier octet du server push HTTP/2 a été reçu.

abstract Long?

Renvoie le nombre total d'octets reçus sur la couche de transport réseau ou null s'ils ne sont pas collectés.

abstract Date?

Renvoie l'heure à laquelle la requête s'est terminée.

abstract Date?

Renvoie l'heure à laquelle la requête a commencé.

abstract Date?

Renvoie l'heure à laquelle la fin des en-têtes de réponse a été reçue.

abstract Date?

Renvoie l'heure à laquelle l'envoi de la requête s'est terminé.

abstract Date?

Renvoie l'heure à laquelle l'envoi de la requête a commencé.

abstract Long?

Renvoie le nombre total d'octets envoyés sur la couche de transport réseau ou null s'ils ne sont pas collectés.

abstract Boolean

Indique si le socket a été réutilisé à partir d'une requête précédente.

abstract Date?

Renvoie l'heure à laquelle le handshake SSL s'est terminé.

abstract Date?

Renvoie l'heure à laquelle le handshake SSL a commencé.

abstract Long?

Renvoie les millisecondes entre le début et la fin de la requête, y compris en cas d'échec ou d'annulation, ou null si elles n'ont pas été collectées.

abstract Long?

Renvoie les millisecondes écoulées entre le début de la requête et le premier octet des en-têtes de réponse, ou null si cette valeur n'est pas collectée.

Constructeurs publics

Métriques

Metrics()

Fonctions publiques

getConnectEnd

abstract fun getConnectEnd(): Date?

Renvoie l'heure à laquelle l'établissement de la connexion s'est terminé.

Renvoie
Date?

java.util.Date représentant la fin de l'établissement de la connexion, après l'établissement de la connexion TCP et, si vous utilisez HTTPS, la fin du handshake SSL. Pour QUIC 0-RTT, cela représente le temps de confirmation de la négociation et peut se produire après getSendingStart. null si le socket a été réutilisé (voir getSocketReused).

getConnectStart

abstract fun getConnectStart(): Date?

Renvoie l'heure à laquelle l'établissement de la connexion a commencé.

Renvoie
Date?

java.util.Date : indique le début de l'établissement de la connexion, généralement à la fin de la résolution DNS. null si le socket a été réutilisé (voir getSocketReused).

getDnsEnd

abstract fun getDnsEnd(): Date?

Renvoie l'heure à laquelle la résolution DNS s'est terminée. Cette méthode et getDnsStart renverront des valeurs non nulles, que le résultat provienne d'un serveur DNS ou du cache local.

Renvoie
Date?

java.util.Date représentant la fin de la résolution DNS. null si le socket a été réutilisé (voir getSocketReused).

getDnsStart

abstract fun getDnsStart(): Date?

Renvoie l'heure à laquelle la résolution DNS a commencé. Cette méthode et getDnsEnd renverront des valeurs non nulles, que le résultat provienne d'un serveur DNS ou du cache local.

Renvoie
Date?

java.util.Date représentant le début de la résolution DNS. null si le socket a été réutilisé (voir getSocketReused).

getPushEnd

abstract fun getPushEnd(): Date?

Renvoie l'heure à laquelle le dernier octet du push du serveur HTTP/2 a été reçu.

Renvoie
Date?

java.util.Date représentant le moment où le dernier octet d'un server push HTTP/2 a été reçu. null si le push du serveur n'est pas utilisé.

getPushStart

abstract fun getPushStart(): Date?

Renvoie l'heure à laquelle le premier octet du server push HTTP/2 a été reçu.

Renvoie
Date?

java.util.Date représentant le moment où le premier octet d'un push serveur HTTP/2 a été reçu. null si le push du serveur n'est pas utilisé.

getReceivedByteCount

abstract fun getReceivedByteCount(): Long?

Renvoie le nombre total d'octets reçus sur la couche de transport réseau ou null s'ils ne sont pas collectés. Le nombre d'octets n'inclut aucune redirection précédente.

getRequestEnd

abstract fun getRequestEnd(): Date?

Renvoie l'heure à laquelle la requête s'est terminée.

Renvoie
Date?

java.util.Date représentant la fin de la requête.

getRequestStart

abstract fun getRequestStart(): Date?

Renvoie l'heure à laquelle la requête a commencé.

Renvoie
Date?

java.util.Date représentant le moment où la demande native a réellement commencé. Cet code temporel correspondra à l'horloge système au moment où il est généré.

getResponseStart

abstract fun getResponseStart(): Date?

Renvoie l'heure à laquelle la fin des en-têtes de réponse a été reçue.

Renvoie
Date?

java.util.Date : indique la fin de la réception des en-têtes de réponse.

getSendingEnd

abstract fun getSendingEnd(): Date?

Renvoie l'heure à laquelle l'envoi de la requête s'est terminé.

Renvoie
Date?

java.util.Date représentant la fin de l'envoi du corps de la requête HTTP. (L'envoi du corps de la requête a lieu après l'envoi des en-têtes de requête.)

getSendingStart

abstract fun getSendingStart(): Date?

Renvoie l'heure à laquelle l'envoi de la requête a commencé.

Renvoie
Date?

java.util.Date représentant le début de l'envoi des en-têtes de requête HTTP.

getSentByteCount

abstract fun getSentByteCount(): Long?

Renvoie le nombre total d'octets envoyés sur la couche de transport réseau ou null s'ils ne sont pas collectés.

getSocketReused

abstract fun getSocketReused(): Boolean

Indique si le socket a été réutilisé à partir d'une requête précédente. Dans HTTP/2 ou QUIC, si les flux sont multiplexés dans une seule connexion, renvoie true pour tous les flux après le premier.

Renvoie
Boolean

Indique si cette requête a réutilisé un socket d'une requête précédente. Lorsque true, les temps DNS, de connexion et SSL seront null.

getSslEnd

abstract fun getSslEnd(): Date?

Renvoie l'heure à laquelle le handshake SSL s'est terminé. Pour QUIC, il s'agit du même délai que pour getConnectEnd.

Renvoie
Date?

java.util.Date représentant la fin du handshake SSL. null si SSL n'est pas utilisé ou si le socket a été réutilisé (voir getSocketReused).

getSslStart

abstract fun getSslStart(): Date?

Renvoie l'heure à laquelle le handshake SSL a commencé. Pour QUIC, il s'agit du même délai que pour getConnectStart.

Renvoie
Date?

java.util.Date : début du handshake SSL. null si SSL n'est pas utilisé ou si le socket a été réutilisé (voir getSocketReused).

getTotalTimeMs

abstract fun getTotalTimeMs(): Long?

Renvoie les millisecondes entre le début et la fin de la requête, y compris en cas d'échec ou d'annulation, ou null si elles n'ont pas été collectées. TODO(mgersh): Remove once new API works http://crbug.com/629194

getTtfbMs

abstract fun getTtfbMs(): Long?

Renvoie les millisecondes écoulées entre le début de la requête et le premier octet des en-têtes de réponse, ou null si cette valeur n'est pas collectée. TODO(mgersh): Remove once new API works http://crbug.com/629194