RequestFinishedInfo.Metrics

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

Funções públicas

abstract Date?

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

abstract Date?

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

abstract Date?

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

abstract Date?

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

abstract Date?

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

abstract Date?

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

abstract Long?

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

abstract Date?

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

abstract Date?

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

abstract Date?

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

abstract Date?

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

abstract Date?

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

abstract 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 Date?

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

abstract Date?

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

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

Metrics()

Funções públicas

getConnectEnd

abstract fun getConnectEnd(): Date?

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

Retorna
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

abstract fun getConnectStart(): Date?

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

Retorna
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

abstract fun getDnsEnd(): Date?

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
Date?

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

getDnsStart

abstract fun getDnsStart(): Date?

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
Date?

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

getPushEnd

abstract fun getPushEnd(): Date?

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

Retorna
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

abstract fun getPushStart(): Date?

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

Retorna
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

abstract fun getReceivedByteCount(): Long?

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

abstract fun getRequestEnd(): Date?

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

Retorna
Date?

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

getRequestStart

abstract fun getRequestStart(): Date?

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

Retorna
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

abstract fun getResponseStart(): Date?

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

Retorna
Date?

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

getSendingEnd

abstract fun getSendingEnd(): Date?

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

Retorna
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

abstract fun getSendingStart(): Date?

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

Retorna
Date?

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

getSentByteCount

abstract fun getSentByteCount(): Long?

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

getSocketReused

abstract fun getSocketReused(): Boolean

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

abstract fun getSslEnd(): Date?

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

Retorna
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

abstract fun getSslStart(): Date?

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

Retorna
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

abstract fun getTotalTimeMs(): 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. TODO(mgersh): Remove once new API works http://crbug.com/629194

getTtfbMs

abstract fun getTtfbMs(): 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. TODO(mgersh): Remove once new API works http://crbug.com/629194