RequestFinishedInfo.Metrics

public 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

Méthodes publiques

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

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

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

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

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

abstract @Nullable Date

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

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

public Metrics()

Méthodes publiques

getConnectEnd

public abstract @Nullable Date getConnectEnd()

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

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

public abstract @Nullable Date getConnectStart()

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

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

public abstract @Nullable Date getDnsEnd()

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

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

getDnsStart

public abstract @Nullable Date getDnsStart()

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

public abstract @Nullable Date getPushEnd()

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

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

public abstract @Nullable Date getPushStart()

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

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

public abstract @Nullable Long getReceivedByteCount()

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

public abstract @Nullable Date getRequestEnd()

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

Renvoie
@Nullable Date

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

getRequestStart

public abstract @Nullable Date getRequestStart()

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

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

public abstract @Nullable Date getResponseStart()

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

Renvoie
@Nullable Date

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

getSendingEnd

public abstract @Nullable Date getSendingEnd()

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

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

public abstract @Nullable Date getSendingStart()

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

Renvoie
@Nullable Date

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

getSentByteCount

public abstract @Nullable Long getSentByteCount()

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

public abstract boolean getSocketReused()

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

public abstract @Nullable Date getSslEnd()

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

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

public abstract @Nullable Date getSslStart()

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

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

public abstract @Nullable Long getTotalTimeMs()

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

public abstract @Nullable Long getTtfbMs()

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