RequestFinishedInfo.Metrics

public abstract class RequestFinishedInfo.Metrics


Metrik yang dikumpulkan untuk satu permintaan. Sebagian besar metrik ini adalah stempel waktu untuk peristiwa selama masa aktif permintaan, yang dapat digunakan untuk membuat linimasa mendetail guna menyelidiki performa.

Peristiwa terjadi dalam urutan berikut:

  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
Waktu mulai dilaporkan sebagai waktu saat permintaan mulai memblokir peristiwa, bukan saat peristiwa benar-benar terjadi, kecuali untuk mulai dan berakhirnya push. Jika metrik tidak bermakna atau tidak tersedia, termasuk kasus saat permintaan selesai sebelum mencapai tahap tersebut, waktu mulai dan berakhir akan menjadi null. Jika tidak ada waktu yang dihabiskan untuk memblokir suatu peristiwa, waktu mulai dan berakhir akan sama.

Jika jam sistem disesuaikan selama permintaan, beberapa nilai java.util.Date mungkin tidak cocok. Stempel waktu direkam menggunakan clock yang dijamin tidak berjalan mundur. Semua stempel waktu sudah benar relatif terhadap jam sistem pada saat permintaan dimulai, dan selisih antara dua stempel waktu akan memberikan selisih yang benar antara peristiwa. Untuk mempertahankan properti ini, stempel waktu untuk peristiwa selain awal permintaan tidak dijamin cocok dengan jam sistem pada waktu yang diwakilinya.

Sebagian besar metrik waktu diambil dari LoadTimingInfo, yang menyimpan informasi untuk dan .

Ringkasan

Konstruktor publik

Metode publik

abstract @Nullable Date

Menampilkan waktu saat pembuatan koneksi selesai.

abstract @Nullable Date

Menampilkan waktu saat pembuatan koneksi dimulai.

abstract @Nullable Date

Menampilkan waktu saat pencarian DNS selesai.

abstract @Nullable Date

Menampilkan waktu saat pencarian DNS dimulai.

abstract @Nullable Date

Menampilkan waktu saat byte terakhir push server HTTP/2 diterima.

abstract @Nullable Date

Menampilkan waktu saat byte pertama server push HTTP/2 diterima.

abstract @Nullable Long

Menampilkan total byte yang diterima melalui lapisan transport jaringan, atau null jika tidak dikumpulkan.

abstract @Nullable Date

Menampilkan waktu saat permintaan selesai.

abstract @Nullable Date

Menampilkan waktu saat permintaan dimulai.

abstract @Nullable Date

Menampilkan waktu saat akhir header respons diterima.

abstract @Nullable Date

Menampilkan waktu saat pengiriman permintaan selesai.

abstract @Nullable Date

Menampilkan waktu saat pengiriman permintaan dimulai.

abstract @Nullable Long

Menampilkan total byte yang dikirim melalui lapisan transport jaringan, atau null jika tidak dikumpulkan.

abstract boolean

Menampilkan apakah soket digunakan kembali dari permintaan sebelumnya.

abstract @Nullable Date

Menampilkan waktu saat handshake SSL selesai.

abstract @Nullable Date

Menampilkan waktu saat handshake SSL dimulai.

abstract @Nullable Long

Menampilkan milidetik antara inisiasi dan penyelesaian permintaan, termasuk kegagalan atau pembatalan, atau null jika tidak dikumpulkan.

abstract @Nullable Long

Menampilkan milidetik antara inisiasi permintaan dan byte pertama header respons, atau null jika tidak dikumpulkan.

Konstruktor publik

Metrik

public Metrics()

Metode publik

getConnectEnd

public abstract @Nullable Date getConnectEnd()

Menampilkan waktu saat pembuatan koneksi selesai.

Hasil
@Nullable Date

java.util.Date yang menunjukkan kapan pembentukan koneksi selesai, setelah koneksi TCP dibuat dan, jika menggunakan HTTPS, handshake SSL selesai. Untuk QUIC 0-RTT, ini menunjukkan waktu konfirmasi handshake dan mungkin terjadi setelah getSendingStart. null jika soket digunakan kembali (lihat getSocketReused).

getConnectStart

public abstract @Nullable Date getConnectStart()

Menampilkan waktu saat pembuatan koneksi dimulai.

Hasil
@Nullable Date

java.util.Date yang menunjukkan kapan pembentukan koneksi dimulai, biasanya saat resolusi DNS selesai. null jika soket digunakan kembali (lihat getSocketReused).

getDnsEnd

public abstract @Nullable Date getDnsEnd()

Menampilkan waktu saat pencarian DNS selesai. getDnsStart dan getDnsStart akan menampilkan nilai non-null, terlepas dari apakah hasilnya berasal dari server DNS atau cache lokal.

Hasil
@Nullable Date

java.util.Date yang menunjukkan kapan pencarian DNS selesai. null jika soket digunakan kembali (lihat getSocketReused).

getDnsStart

public abstract @Nullable Date getDnsStart()

Menampilkan waktu saat pencarian DNS dimulai. getDnsEnd dan getDnsEnd akan menampilkan nilai non-null, terlepas dari apakah hasilnya berasal dari server DNS atau cache lokal.

Hasil
@Nullable Date

java.util.Date yang menunjukkan kapan pencarian DNS dimulai. null jika soket digunakan kembali (lihat getSocketReused).

getPushEnd

public abstract @Nullable Date getPushEnd()

Menampilkan waktu saat byte terakhir push server HTTP/2 diterima.

Hasil
@Nullable Date

java.util.Date yang menunjukkan kapan byte terakhir dari server push HTTP/2 diterima. null jika server push tidak digunakan.

getPushStart

public abstract @Nullable Date getPushStart()

Menampilkan waktu saat byte pertama server push HTTP/2 diterima.

Hasil
@Nullable Date

java.util.Date yang menunjukkan kapan byte pertama server push HTTP/2 diterima. null jika server push tidak digunakan.

getReceivedByteCount

public abstract @Nullable Long getReceivedByteCount()

Menampilkan total byte yang diterima melalui lapisan transport jaringan, atau null jika tidak dikumpulkan. Jumlah byte tidak mencakup pengalihan sebelumnya.

getRequestEnd

public abstract @Nullable Date getRequestEnd()

Menampilkan waktu saat permintaan selesai.

Hasil
@Nullable Date

java.util.Date yang menunjukkan kapan permintaan selesai.

getRequestStart

public abstract @Nullable Date getRequestStart()

Menampilkan waktu saat permintaan dimulai.

Hasil
@Nullable Date

java.util.Date yang menunjukkan kapan permintaan native benar-benar dimulai. Stempel waktu ini akan cocok dengan jam sistem pada waktu yang diwakilinya.

getResponseStart

public abstract @Nullable Date getResponseStart()

Menampilkan waktu saat akhir header respons diterima.

Hasil
@Nullable Date

java.util.Date yang menunjukkan kapan akhir header respons diterima.

getSendingEnd

public abstract @Nullable Date getSendingEnd()

Menampilkan waktu saat pengiriman permintaan selesai.

Hasil
@Nullable Date

java.util.Date yang menunjukkan kapan pengiriman isi permintaan HTTP selesai. (Pengiriman isi permintaan terjadi setelah pengiriman header permintaan.)

getSendingStart

public abstract @Nullable Date getSendingStart()

Menampilkan waktu saat pengiriman permintaan dimulai.

Hasil
@Nullable Date

java.util.Date yang menunjukkan kapan pengiriman header permintaan HTTP dimulai.

getSentByteCount

public abstract @Nullable Long getSentByteCount()

Menampilkan total byte yang dikirim melalui lapisan transport jaringan, atau null jika tidak dikumpulkan.

getSocketReused

public abstract boolean getSocketReused()

Menampilkan apakah soket digunakan kembali dari permintaan sebelumnya. Di HTTP/2 atau QUIC, jika aliran di-multiplex dalam satu koneksi, akan menampilkan true untuk semua aliran setelah yang pertama.

Hasil
boolean

apakah permintaan ini menggunakan kembali soket dari permintaan sebelumnya. Saat true, waktu DNS, koneksi, dan SSL akan menjadi null.

getSslEnd

public abstract @Nullable Date getSslEnd()

Menampilkan waktu saat handshake SSL selesai. Untuk QUIC, waktu ini akan sama dengan getConnectEnd.

Hasil
@Nullable Date

java.util.Date yang menunjukkan kapan handshake SSL selesai. null jika SSL tidak digunakan atau jika soket digunakan kembali (lihat getSocketReused).

getSslStart

public abstract @Nullable Date getSslStart()

Menampilkan waktu saat handshake SSL dimulai. Untuk QUIC, waktu ini akan sama dengan getConnectStart.

Hasil
@Nullable Date

java.util.Date yang menunjukkan kapan handshake SSL dimulai. null jika SSL tidak digunakan atau jika soket digunakan kembali (lihat getSocketReused).

getTotalTimeMs

public abstract @Nullable Long getTotalTimeMs()

Menampilkan milidetik antara inisiasi dan penyelesaian permintaan, termasuk kegagalan atau pembatalan, atau null jika tidak dikumpulkan. TODO(mgersh): Hapus setelah API baru berfungsi http://crbug.com/629194

getTtfbMs

public abstract @Nullable Long getTtfbMs()

Menampilkan milidetik antara inisiasi permintaan dan byte pertama header respons, atau null jika tidak dikumpulkan. TODO(mgersh): Hapus setelah API baru berfungsi http://crbug.com/629194