RequestFinishedInfo.Metrics

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

Fungsi publik

abstract Date?

Menampilkan waktu saat pembuatan koneksi selesai.

abstract Date?

Menampilkan waktu saat pembuatan koneksi dimulai.

abstract Date?

Menampilkan waktu saat pencarian DNS selesai.

abstract Date?

Menampilkan waktu saat pencarian DNS dimulai.

abstract Date?

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

abstract Date?

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

abstract Long?

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

abstract Date?

Menampilkan waktu saat permintaan selesai.

abstract Date?

Menampilkan waktu saat permintaan dimulai.

abstract Date?

Menampilkan waktu saat akhir header respons diterima.

abstract Date?

Menampilkan waktu saat pengiriman permintaan selesai.

abstract Date?

Menampilkan waktu saat pengiriman permintaan dimulai.

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

Menampilkan waktu saat handshake SSL selesai.

abstract Date?

Menampilkan waktu saat handshake SSL dimulai.

abstract Long?

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

abstract Long?

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

Konstruktor publik

Metrik

Metrics()

Fungsi publik

getConnectEnd

abstract fun getConnectEnd(): Date?

Menampilkan waktu saat pembuatan koneksi selesai.

Hasil
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

abstract fun getConnectStart(): Date?

Menampilkan waktu saat pembuatan koneksi dimulai.

Hasil
Date?

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

getDnsEnd

abstract fun getDnsEnd(): Date?

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

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

getDnsStart

abstract fun getDnsStart(): Date?

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

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

getPushEnd

abstract fun getPushEnd(): Date?

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

Hasil
Date?

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

getPushStart

abstract fun getPushStart(): Date?

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

Hasil
Date?

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

getReceivedByteCount

abstract fun getReceivedByteCount(): Long?

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

getRequestEnd

abstract fun getRequestEnd(): Date?

Menampilkan waktu saat permintaan selesai.

Hasil
Date?

java.util.Date yang menunjukkan kapan permintaan selesai.

getRequestStart

abstract fun getRequestStart(): Date?

Menampilkan waktu saat permintaan dimulai.

Hasil
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

abstract fun getResponseStart(): Date?

Menampilkan waktu saat akhir header respons diterima.

Hasil
Date?

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

getSendingEnd

abstract fun getSendingEnd(): Date?

Menampilkan waktu saat pengiriman permintaan selesai.

Hasil
Date?

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

getSendingStart

abstract fun getSendingStart(): Date?

Menampilkan waktu saat pengiriman permintaan dimulai.

Hasil
Date?

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

getSentByteCount

abstract fun getSentByteCount(): Long?

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

getSocketReused

abstract fun getSocketReused(): Boolean

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

abstract fun getSslEnd(): Date?

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

Hasil
Date?

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

getSslStart

abstract fun getSslStart(): Date?

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

Hasil
Date?

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

getTotalTimeMs

abstract fun getTotalTimeMs(): Long?

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

abstract fun getTtfbMs(): Long?

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