RequestFinishedInfo.Metrics

public 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 @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Long

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Long

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

abstract boolean

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

abstract @Nullable Date

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

abstract @Nullable Date

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

abstract @Nullable Long

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

abstract @Nullable Long

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

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

เมตริก

public Metrics()

เมธอดสาธารณะ

getConnectEnd

public abstract @Nullable Date getConnectEnd()

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

การคืนสินค้า
@Nullable Date

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

getConnectStart

public abstract @Nullable Date getConnectStart()

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

การคืนสินค้า
@Nullable Date

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

getDnsEnd

public abstract @Nullable Date getDnsEnd()

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

การคืนสินค้า
@Nullable Date

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

getDnsStart

public abstract @Nullable Date getDnsStart()

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

การคืนสินค้า
@Nullable Date

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

getPushEnd

public abstract @Nullable Date getPushEnd()

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

การคืนสินค้า
@Nullable Date

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

getPushStart

public abstract @Nullable Date getPushStart()

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

การคืนสินค้า
@Nullable Date

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

getReceivedByteCount

public abstract @Nullable Long getReceivedByteCount()

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

getRequestEnd

public abstract @Nullable Date getRequestEnd()

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

การคืนสินค้า
@Nullable Date

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

getRequestStart

public abstract @Nullable Date getRequestStart()

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

การคืนสินค้า
@Nullable Date

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

getResponseStart

public abstract @Nullable Date getResponseStart()

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

การคืนสินค้า
@Nullable Date

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

getSendingEnd

public abstract @Nullable Date getSendingEnd()

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

การคืนสินค้า
@Nullable Date

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

getSendingStart

public abstract @Nullable Date getSendingStart()

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

การคืนสินค้า
@Nullable Date

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

getSentByteCount

public abstract @Nullable Long getSentByteCount()

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

getSocketReused

public abstract boolean getSocketReused()

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

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

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

getSslEnd

public abstract @Nullable Date getSslEnd()

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

การคืนสินค้า
@Nullable Date

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

getSslStart

public abstract @Nullable Date getSslStart()

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

การคืนสินค้า
@Nullable Date

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

getTotalTimeMs

public abstract @Nullable Long getTotalTimeMs()

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

getTtfbMs

public abstract @Nullable Long getTtfbMs()

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