RequestFinishedInfo.Metrics

public abstract class RequestFinishedInfo.Metrics


Métricas coletadas para uma única solicitação. A maioria dessas métricas são carimbos de data/hora de eventos durante o ciclo de vida da solicitação, que podem ser usados para criar uma linha do tempo detalhada para investigar o desempenho.

Os eventos acontecem nesta ordem:

  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
Os horários de início são informados como o momento em que uma solicitação começou a bloquear um evento, não quando o evento realmente ocorreu, exceto no caso de início e fim de push. Se uma métrica não for significativa ou não estiver disponível, incluindo casos em que uma solicitação foi concluída antes de atingir essa etapa, os horários de início e término serão null. Se nenhum tempo foi gasto bloqueando um evento, o início e o fim serão no mesmo horário.

Se o relógio do sistema for ajustado durante a solicitação, alguns dos valores de java.util.Date poderão não corresponder a ele. Os carimbos de data/hora são registrados usando um relógio que não volta para trás. Todos os carimbos de data/hora estão corretos em relação ao relógio do sistema no momento do início da solicitação, e a diferença entre dois carimbos de data/hora vai dar a diferença correta entre os eventos. Para preservar essa propriedade, não há garantia de que os carimbos de data/hora de eventos que não sejam o início da solicitação correspondam ao relógio do sistema nos horários que representam.

A maioria das métricas de tempo é extraída de LoadTimingInfo, que contém as informações de e .

Resumo

Construtores públicos

Métodos públicos

abstract @Nullable Date

Retorna o horário em que o estabelecimento da conexão foi concluído.

abstract @Nullable Date

Retorna o horário em que o estabelecimento da conexão começou.

abstract @Nullable Date

Retorna o horário em que a busca DNS foi concluída.

abstract @Nullable Date

Retorna o horário em que a pesquisa DNS foi iniciada.

abstract @Nullable Date

Retorna o momento em que o último byte do push de servidor HTTP/2 foi recebido.

abstract @Nullable Date

Retorna o horário em que o primeiro byte do push do servidor HTTP/2 foi recebido.

abstract @Nullable Long

Retorna o total de bytes recebidos na camada de transporte de rede ou null se não forem coletados.

abstract @Nullable Date

Retorna o horário em que a solicitação foi concluída.

abstract @Nullable Date

Retorna o horário em que a solicitação foi iniciada.

abstract @Nullable Date

Retorna o horário em que o fim dos cabeçalhos de resposta foi recebido.

abstract @Nullable Date

Retorna o horário em que o envio da solicitação foi concluído.

abstract @Nullable Date

Retorna o horário em que o envio da solicitação começou.

abstract @Nullable Long

Retorna o total de bytes enviados pela camada de transporte de rede ou null se não forem coletados.

abstract boolean

Retorna se o soquete foi reutilizado de uma solicitação anterior.

abstract @Nullable Date

Retorna o horário em que o handshake de SSL foi concluído.

abstract @Nullable Date

Retorna o horário em que o handshake SSL foi iniciado.

abstract @Nullable Long

Retorna milissegundos entre o início e o fim da solicitação, incluindo uma falha ou um cancelamento, ou null se não for coletado.

abstract @Nullable Long

Retorna milissegundos entre o início da solicitação e o primeiro byte dos cabeçalhos de resposta ou null se não forem coletados.

Construtores públicos

Métricas

public Metrics()

Métodos públicos

getConnectEnd

public abstract @Nullable Date getConnectEnd()

Retorna o horário em que o estabelecimento da conexão foi concluído.

Retorna
@Nullable Date

java.util.Date representando quando o estabelecimento da conexão termina, depois que a conexão TCP é estabelecida e, se estiver usando HTTPS, o handshake SSL é concluído. Para QUIC 0-RTT, isso representa o tempo de confirmação do handshake e pode acontecer depois de getSendingStart. null se o soquete foi reutilizado (consulte getSocketReused).

getConnectStart

public abstract @Nullable Date getConnectStart()

Retorna o horário em que o estabelecimento da conexão começou.

Retorna
@Nullable Date

java.util.Date representando o início do estabelecimento da conexão, geralmente quando a resolução de DNS termina. null se o soquete foi reutilizado (consulte getSocketReused).

getDnsEnd

public abstract @Nullable Date getDnsEnd()

Retorna o horário em que a busca DNS foi concluída. Esse e getDnsStart vão retornar valores não nulos, independente de o resultado ter vindo de um servidor DNS ou do cache local.

Retorna
@Nullable Date

java.util.Date representando quando a pesquisa DNS terminou. null se o soquete foi reutilizado (consulte getSocketReused).

getDnsStart

public abstract @Nullable Date getDnsStart()

Retorna o horário em que a pesquisa DNS foi iniciada. Esse e getDnsEnd vão retornar valores não nulos, independente de o resultado ter vindo de um servidor DNS ou do cache local.

Retorna
@Nullable Date

java.util.Date representando quando a pesquisa DNS começou. null se o soquete foi reutilizado (consulte getSocketReused).

getPushEnd

public abstract @Nullable Date getPushEnd()

Retorna o momento em que o último byte do push de servidor HTTP/2 foi recebido.

Retorna
@Nullable Date

java.util.Date representando quando o último byte de um push de servidor HTTP/2 foi recebido. null se o push do servidor não for usado.

getPushStart

public abstract @Nullable Date getPushStart()

Retorna o horário em que o primeiro byte do push do servidor HTTP/2 foi recebido.

Retorna
@Nullable Date

java.util.Date representando quando o primeiro byte de um push do servidor HTTP/2 foi recebido. null se o push do servidor não for usado.

getReceivedByteCount

public abstract @Nullable Long getReceivedByteCount()

Retorna o total de bytes recebidos na camada de transporte de rede ou null se não forem coletados. O número de bytes não inclui redirecionamentos anteriores.

getRequestEnd

public abstract @Nullable Date getRequestEnd()

Retorna o horário em que a solicitação foi concluída.

Retorna
@Nullable Date

java.util.Date representando quando a solicitação foi concluída.

getRequestStart

public abstract @Nullable Date getRequestStart()

Retorna o horário em que a solicitação foi iniciada.

Retorna
@Nullable Date

java.util.Date representando quando a solicitação nativa realmente começou. Esse carimbo de data/hora vai corresponder ao relógio do sistema no momento em que ele representa.

getResponseStart

public abstract @Nullable Date getResponseStart()

Retorna o horário em que o fim dos cabeçalhos de resposta foi recebido.

Retorna
@Nullable Date

java.util.Date representando o momento em que o fim dos cabeçalhos de resposta foi recebido.

getSendingEnd

public abstract @Nullable Date getSendingEnd()

Retorna o horário em que o envio da solicitação foi concluído.

Retorna
@Nullable Date

java.util.Date representando quando o envio do corpo da solicitação HTTP foi concluído. O envio do corpo da solicitação acontece depois do envio dos cabeçalhos.

getSendingStart

public abstract @Nullable Date getSendingStart()

Retorna o horário em que o envio da solicitação começou.

Retorna
@Nullable Date

java.util.Date representando quando o envio de cabeçalhos de solicitação HTTP começou.

getSentByteCount

public abstract @Nullable Long getSentByteCount()

Retorna o total de bytes enviados pela camada de transporte de rede ou null se não forem coletados.

getSocketReused

public abstract boolean getSocketReused()

Retorna se o soquete foi reutilizado de uma solicitação anterior. Em HTTP/2 ou QUIC, se os fluxos forem multiplexados em uma única conexão, retornará true para todos os fluxos após o primeiro.

Retorna
boolean

se esta solicitação reutilizou um soquete de uma solicitação anterior. Quando true, os tempos de DNS, conexão e SSL serão null.

getSslEnd

public abstract @Nullable Date getSslEnd()

Retorna o horário em que o handshake de SSL foi concluído. Para QUIC, será o mesmo tempo que getConnectEnd.

Retorna
@Nullable Date

java.util.Date representando quando o handshake de SSL foi concluído. null se o SSL não for usado ou se o soquete for reutilizado (consulte getSocketReused).

getSslStart

public abstract @Nullable Date getSslStart()

Retorna o horário em que o handshake SSL foi iniciado. Para QUIC, será o mesmo tempo que getConnectStart.

Retorna
@Nullable Date

java.util.Date representando quando o handshake SSL começou. null se o SSL não for usado ou se o soquete for reutilizado (consulte getSocketReused).

getTotalTimeMs

public abstract @Nullable Long getTotalTimeMs()

Retorna milissegundos entre o início e o fim da solicitação, incluindo uma falha ou um cancelamento, ou null se não for coletado. TODO(mgersh): Remove once new API works http://crbug.com/629194

getTtfbMs

public abstract @Nullable Long getTtfbMs()

Retorna milissegundos entre o início da solicitação e o primeiro byte dos cabeçalhos de resposta ou null se não forem coletados. TODO(mgersh): Remove once new API works http://crbug.com/629194