RequestFinishedInfo.Metrics

abstract class RequestFinishedInfo.Metrics


เมตริกที่รวบรวมสําหรับคําขอเดียว เมตริกส่วนใหญ่เหล่านี้คือการประทับเวลาสำหรับเหตุการณ์ในระหว่างอายุการใช้งานของคำขอ ซึ่งสามารถใช้เพื่อสร้างไทม์ไลน์แบบละเอียดสำหรับการตรวจสอบประสิทธิภาพ

เหตุการณ์จะเกิดขึ้นตามลำดับต่อไปนี้

  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
เวลาเริ่มต้นจะรายงานเป็นเวลาที่คำขอเริ่มบล็อกในเหตุการณ์ ไม่ใช่เวลาที่เหตุการณ์เกิดขึ้นจริง ยกเว้นการเริ่มต้นและสิ้นสุดแบบพุช หากเมตริกไม่มีความหมายหรือไม่มีให้ใช้งาน รวมถึงกรณีที่คำขอเสร็จสิ้นก่อนถึงขั้นตอนนั้น เวลาเริ่มต้นและเวลาสิ้นสุดจะเป็น null หากไม่ได้ใช้เวลาในการบล็อกกิจกรรม เวลาเริ่มต้นและเวลาสิ้นสุดจะเป็นเวลาเดียวกัน

หากมีการปรับนาฬิกาของระบบในระหว่างคำขอ ค่า java.util.Date บางค่าอาจไม่ตรงกัน ระบบจะบันทึกการประทับเวลาโดยใช้นาฬิกาที่รับประกันว่าจะไม่ย้อนกลับ การประทับเวลาทั้งหมดถูกต้องเมื่อเทียบกับนาฬิกาของระบบ ณ เวลาที่เริ่มคำขอ และการหาความแตกต่างระหว่างการประทับเวลา 2 รายการจะให้ความแตกต่างที่ถูกต้องระหว่างเหตุการณ์ เพื่อรักษาพร็อพเพอร์ตี้นี้ ระบบจึงไม่รับประกันว่าการประทับเวลาสำหรับเหตุการณ์อื่นๆ นอกเหนือจากเวลาเริ่มต้นของคำขอจะตรงกับนาฬิกาของระบบ ณ เวลาที่แสดง

เมตริกเวลาส่วนใหญ่มาจาก LoadTimingInfo ซึ่งมีข้อมูลสำหรับ และ

สรุป

เครื่องมือสร้างสาธารณะ

ฟังก์ชันสาธารณะ

abstract Date?

แสดงเวลาเมื่อการสร้างการเชื่อมต่อเสร็จสิ้น

abstract Date?

แสดงเวลาเมื่อเริ่มสร้างการเชื่อมต่อ

abstract Date?

แสดงเวลาเมื่อการค้นหา DNS เสร็จสิ้น

abstract Date?

แสดงเวลาที่การค้นหา DNS เริ่มต้น

abstract Date?

แสดงเวลาที่ได้รับไบต์สุดท้ายของพุชจากเซิร์ฟเวอร์ HTTP/2

abstract Date?

แสดงเวลาที่ได้รับไบต์แรกของพุชจากเซิร์ฟเวอร์ HTTP/2

abstract Long?

แสดงผลไบต์ทั้งหมดที่ได้รับผ่านเลเยอร์การรับส่งข้อมูลเครือข่าย หรือ null หากไม่ได้รวบรวม

abstract Date?

แสดงเวลาเมื่อคำขอเสร็จสิ้น

abstract Date?

แสดงเวลาเมื่อคำขอเริ่มต้น

abstract Date?

แสดงเวลาเมื่อได้รับส่วนหัวการตอบกลับ

abstract Date?

แสดงเวลาเมื่อส่งคำขอเสร็จสิ้น

abstract Date?

แสดงเวลาเมื่อเริ่มส่งคำขอ

abstract Long?

แสดงผลจำนวนไบต์ทั้งหมดที่ส่งผ่านเลเยอร์การรับส่งข้อมูลเครือข่าย หรือ null หากไม่ได้รวบรวม

abstract Boolean

แสดงว่ามีการนำซ็อกเก็ตจากคำขอก่อนหน้ามาใช้ซ้ำหรือไม่

abstract Date?

แสดงเวลาเมื่อแฮนด์เชค SSL เสร็จสิ้น

abstract Date?

แสดงเวลาที่เริ่มแฮนด์เชค SSL

abstract Long?

แสดงมิลลิวินาทีระหว่างการเริ่มต้นคำขอและการสิ้นสุด รวมถึงการล้มเหลวหรือการยกเลิก หรือ null หากไม่ได้รวบรวม

abstract Long?

แสดงมิลลิวินาทีระหว่างการเริ่มต้นคำขอและไบต์แรกของส่วนหัวการตอบกลับ หรือ null หากไม่ได้รวบรวม

เครื่องมือสร้างสาธารณะ

เมตริก

Metrics()

ฟังก์ชันสาธารณะ

getConnectEnd

abstract fun getConnectEnd(): Date?

แสดงเวลาเมื่อการสร้างการเชื่อมต่อเสร็จสิ้น

การคืนสินค้า
Date?

java.util.Date แสดงเมื่อการสร้างการเชื่อมต่อเสร็จสิ้น หลังจากสร้างการเชื่อมต่อ TCP แล้ว และหากใช้ HTTPS การทำแฮนด์เชค SSL จะเสร็จสมบูรณ์ สำหรับ QUIC 0-RTT ค่านี้แสดงถึงเวลาของการยืนยันแฮนด์เชค และอาจเกิดขึ้นภายหลัง getSendingStart null หากมีการนำซ็อกเก็ตกลับมาใช้ใหม่ (ดู getSocketReused)

getConnectStart

abstract fun getConnectStart(): Date?

แสดงเวลาเมื่อเริ่มสร้างการเชื่อมต่อ

การคืนสินค้า
Date?

java.util.Date แสดงเวลาที่เริ่มสร้างการเชื่อมต่อ ซึ่งโดยปกติคือเมื่อการแปลงชื่อ DNS เสร็จสิ้น null หากมีการนำซ็อกเก็ตกลับมาใช้ใหม่ (ดู getSocketReused)

getDnsEnd

abstract fun getDnsEnd(): Date?

แสดงเวลาเมื่อการค้นหา DNS เสร็จสิ้น ทั้งนี้ getDnsStart จะแสดงค่าที่ไม่ใช่ Null ไม่ว่าผลลัพธ์จะมาจากเซิร์ฟเวอร์ DNS หรือแคชในเครื่องก็ตาม

การคืนสินค้า
Date?

java.util.Date แสดงเมื่อการค้นหา DNS เสร็จสิ้น null หากมีการนำซ็อกเก็ตกลับมาใช้ใหม่ (ดู getSocketReused)

getDnsStart

abstract fun getDnsStart(): Date?

แสดงเวลาที่การค้นหา DNS เริ่มต้น ทั้งนี้ getDnsEnd จะแสดงค่าที่ไม่ใช่ Null ไม่ว่าผลลัพธ์จะมาจากเซิร์ฟเวอร์ DNS หรือแคชในเครื่องก็ตาม

การคืนสินค้า
Date?

java.util.Date แสดงเวลาที่การค้นหา DNS เริ่มต้น null หากมีการนำซ็อกเก็ตกลับมาใช้ใหม่ (ดู getSocketReused)

getPushEnd

abstract fun getPushEnd(): Date?

แสดงเวลาที่ได้รับไบต์สุดท้ายของพุชจากเซิร์ฟเวอร์ HTTP/2

การคืนสินค้า
Date?

java.util.Date แสดงเวลาที่ได้รับไบต์สุดท้ายของพุชจากเซิร์ฟเวอร์ HTTP/2 null หากไม่ได้ใช้พุชจากเซิร์ฟเวอร์

getPushStart

abstract fun getPushStart(): Date?

แสดงเวลาที่ได้รับไบต์แรกของพุชจากเซิร์ฟเวอร์ HTTP/2

การคืนสินค้า
Date?

java.util.Date ซึ่งแสดงเวลาที่ได้รับไบต์แรกของการพุชจากเซิร์ฟเวอร์ HTTP/2 null หากไม่ได้ใช้พุชจากเซิร์ฟเวอร์

getReceivedByteCount

abstract fun getReceivedByteCount(): Long?

แสดงผลไบต์ทั้งหมดที่ได้รับผ่านเลเยอร์การรับส่งข้อมูลเครือข่าย หรือ null หากไม่ได้รวบรวม จำนวนไบต์ไม่รวมการเปลี่ยนเส้นทางก่อนหน้า

getRequestEnd

abstract fun getRequestEnd(): Date?

แสดงเวลาเมื่อคำขอเสร็จสิ้น

การคืนสินค้า
Date?

java.util.Date แสดงเมื่อคำขอเสร็จสมบูรณ์

getRequestStart

abstract fun getRequestStart(): Date?

แสดงเวลาเมื่อคำขอเริ่มต้น

การคืนสินค้า
Date?

java.util.Date แสดงเวลาที่คำขอโฆษณาเนทีฟเริ่มขึ้นจริง การประทับเวลานี้จะตรงกับนาฬิกาของระบบ ณ เวลาที่ระบุ

getResponseStart

abstract fun getResponseStart(): Date?

แสดงเวลาเมื่อได้รับส่วนหัวการตอบกลับ

การคืนสินค้า
Date?

java.util.Date ซึ่งแสดงเวลาที่ได้รับส่วนหัวการตอบกลับ

getSendingEnd

abstract fun getSendingEnd(): Date?

แสดงเวลาเมื่อส่งคำขอเสร็จสิ้น

การคืนสินค้า
Date?

java.util.Date แสดงเมื่อส่งเนื้อหาคำขอ HTTP เสร็จแล้ว (การส่งเนื้อหาคำขอจะเกิดขึ้นหลังจากส่งส่วนหัวของคำขอ)

getSendingStart

abstract fun getSendingStart(): Date?

แสดงเวลาเมื่อเริ่มส่งคำขอ

การคืนสินค้า
Date?

java.util.Date ซึ่งแสดงเวลาที่เริ่มส่งส่วนหัวคำขอ HTTP

getSentByteCount

abstract fun getSentByteCount(): Long?

แสดงผลจำนวนไบต์ทั้งหมดที่ส่งผ่านเลเยอร์การรับส่งข้อมูลเครือข่าย หรือ null หากไม่ได้รวบรวม

getSocketReused

abstract fun getSocketReused(): Boolean

แสดงว่ามีการนำซ็อกเก็ตจากคำขอก่อนหน้ามาใช้ซ้ำหรือไม่ ใน HTTP/2 หรือ QUIC หากมีการมัลติเพล็กซ์สตรีมในการเชื่อมต่อเดียว ระบบจะแสดง true สำหรับสตรีมทั้งหมดหลังจากสตรีมแรก

การคืนสินค้า
Boolean

คำขอนี้ใช้ซ็อกเก็ตจากคำขอก่อนหน้าหรือไม่ เมื่อ true เวลา DNS, การเชื่อมต่อ และ SSL จะเป็น null

getSslEnd

abstract fun getSslEnd(): Date?

แสดงเวลาเมื่อแฮนด์เชค SSL เสร็จสิ้น สำหรับ QUIC เวลาดังกล่าวจะเหมือนกับ getConnectEnd

การคืนสินค้า
Date?

java.util.Date ซึ่งแสดงเวลาที่แฮนด์เชค SSL เสร็จสิ้น null หากไม่ได้ใช้ SSL หรือหากมีการนำซ็อกเก็ตกลับมาใช้ใหม่ (ดู getSocketReused)

getSslStart

abstract fun getSslStart(): Date?

แสดงเวลาที่เริ่มแฮนด์เชค SSL สำหรับ QUIC เวลาดังกล่าวจะเหมือนกับ getConnectStart

การคืนสินค้า
Date?

java.util.Date แสดงเวลาที่เริ่มแฮนด์เชค SSL null หากไม่ได้ใช้ SSL หรือหากมีการนำซ็อกเก็ตกลับมาใช้ใหม่ (ดู getSocketReused)

getTotalTimeMs

abstract fun getTotalTimeMs(): Long?

แสดงมิลลิวินาทีระหว่างการเริ่มต้นคำขอและการสิ้นสุด รวมถึงการล้มเหลวหรือการยกเลิก หรือ null หากไม่ได้รวบรวม TODO(mgersh): Remove once new API works http://crbug.com/629194

getTtfbMs

abstract fun getTtfbMs(): Long?

แสดงมิลลิวินาทีระหว่างการเริ่มต้นคำขอและไบต์แรกของส่วนหัวการตอบกลับ หรือ null หากไม่ได้รวบรวม TODO(mgersh): Remove once new API works http://crbug.com/629194