RequestFinishedInfo.Metrics

abstract class RequestFinishedInfo.Metrics


Các chỉ số được thu thập cho một yêu cầu duy nhất. Hầu hết các chỉ số này đều là dấu thời gian cho các sự kiện trong suốt thời gian tồn tại của yêu cầu. Bạn có thể dùng các chỉ số này để tạo một dòng thời gian chi tiết nhằm điều tra hiệu suất.

Các sự kiện diễn ra theo thứ tự sau:

  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
Thời gian bắt đầu được báo cáo là thời gian yêu cầu bắt đầu chặn sự kiện, chứ không phải thời gian sự kiện thực sự xảy ra, ngoại trừ thời gian bắt đầu và kết thúc của thông báo đẩy. Nếu một chỉ số không có ý nghĩa hoặc không có sẵn, kể cả trong trường hợp yêu cầu hoàn tất trước khi đạt đến giai đoạn đó, thì thời gian bắt đầu và kết thúc sẽ là null. Nếu không có thời gian nào dành cho việc chặn một sự kiện, thì thời gian bắt đầu và kết thúc sẽ giống nhau.

Nếu đồng hồ hệ thống được điều chỉnh trong quá trình yêu cầu, thì một số giá trị java.util.Date có thể không khớp với đồng hồ hệ thống. Dấu thời gian được ghi lại bằng đồng hồ đảm bảo không chạy ngược. Tất cả dấu thời gian đều chính xác so với đồng hồ hệ thống tại thời điểm bắt đầu yêu cầu và việc lấy hiệu số giữa hai dấu thời gian sẽ cho ra hiệu số chính xác giữa các sự kiện. Để duy trì thuộc tính này, dấu thời gian cho các sự kiện khác ngoài thời gian bắt đầu yêu cầu không được đảm bảo khớp với đồng hồ hệ thống tại thời điểm mà chúng biểu thị.

Hầu hết các chỉ số về thời gian đều được lấy từ LoadTimingInfo, trong đó lưu giữ thông tin cho .

Tóm tắt

Hàm khởi tạo công khai

Hàm công khai

abstract Date?

Trả về thời gian khi quá trình thiết lập kết nối hoàn tất.

abstract Date?

Trả về thời gian bắt đầu thiết lập kết nối.

abstract Date?

Trả về thời gian khi quá trình tra cứu DNS hoàn tất.

abstract Date?

Trả về thời gian bắt đầu tra cứu DNS.

abstract Date?

Trả về thời gian nhận được byte cuối cùng của công nghệ đẩy của máy chủ HTTP/2.

abstract Date?

Trả về thời gian nhận được byte đầu tiên của thông báo đẩy máy chủ HTTP/2.

abstract Long?

Trả về tổng số byte nhận được qua lớp truyền tải mạng hoặc null nếu không được thu thập.

abstract Date?

Trả về thời gian khi yêu cầu hoàn tất.

abstract Date?

Trả về thời gian bắt đầu yêu cầu.

abstract Date?

Trả về thời gian nhận được phần cuối của tiêu đề phản hồi.

abstract Date?

Trả về thời gian khi yêu cầu gửi hoàn tất.

abstract Date?

Trả về thời gian bắt đầu gửi yêu cầu.

abstract Long?

Trả về tổng số byte được gửi qua lớp truyền tải mạng hoặc null nếu không được thu thập.

abstract Boolean

Trả về việc ổ cắm có được dùng lại từ một yêu cầu trước đó hay không.

abstract Date?

Trả về thời gian khi quá trình bắt tay SSL kết thúc.

abstract Date?

Trả về thời gian bắt đầu bắt tay giao thức SSL.

abstract Long?

Trả về số mili giây giữa thời điểm bắt đầu và kết thúc yêu cầu, bao gồm cả trường hợp thất bại hoặc huỷ bỏ, hoặc null nếu không thu thập được.

abstract Long?

Trả về số mili giây giữa thời điểm bắt đầu yêu cầu và byte đầu tiên của tiêu đề phản hồi, hoặc null nếu không được thu thập.

Hàm khởi tạo công khai

Chỉ số

Metrics()

Hàm công khai

getConnectEnd

abstract fun getConnectEnd(): Date?

Trả về thời gian khi quá trình thiết lập kết nối hoàn tất.

Giá trị trả về
Date?

java.util.Date biểu thị thời điểm hoàn tất việc thiết lập kết nối, sau khi thiết lập kết nối TCP và nếu sử dụng HTTPS, thì quá trình bắt tay SSL sẽ hoàn tất. Đối với QUIC 0-RTT, điều này biểu thị thời gian xác nhận bắt tay và có thể xảy ra muộn hơn getSendingStart. null nếu ổ cắm được dùng lại (xem getSocketReused).

getConnectStart

abstract fun getConnectStart(): Date?

Trả về thời gian bắt đầu thiết lập kết nối.

Giá trị trả về
Date?

java.util.Date biểu thị thời điểm bắt đầu thiết lập kết nối, thường là khi quá trình phân giải DNS kết thúc. null nếu ổ cắm được dùng lại (xem getSocketReused).

getDnsEnd

abstract fun getDnsEnd(): Date?

Trả về thời gian khi quá trình tra cứu DNS hoàn tất. getDnsStartgetDnsStart sẽ trả về các giá trị không rỗng, bất kể kết quả đến từ máy chủ DNS hay bộ nhớ đệm cục bộ.

Giá trị trả về
Date?

java.util.Date biểu thị thời điểm tra cứu DNS hoàn tất. null nếu ổ cắm được dùng lại (xem getSocketReused).

getDnsStart

abstract fun getDnsStart(): Date?

Trả về thời gian bắt đầu tra cứu DNS. getDnsEndgetDnsEnd sẽ trả về các giá trị không rỗng, bất kể kết quả đến từ máy chủ DNS hay bộ nhớ đệm cục bộ.

Giá trị trả về
Date?

java.util.Date biểu thị thời điểm bắt đầu tra cứu DNS. null nếu ổ cắm được dùng lại (xem getSocketReused).

getPushEnd

abstract fun getPushEnd(): Date?

Trả về thời gian nhận được byte cuối cùng của công nghệ đẩy của máy chủ HTTP/2.

Giá trị trả về
Date?

java.util.Date biểu thị thời điểm nhận được byte cuối cùng của một công nghệ đẩy của máy chủ HTTP/2. null nếu không dùng tính năng đẩy từ máy chủ.

getPushStart

abstract fun getPushStart(): Date?

Trả về thời gian nhận được byte đầu tiên của thông báo đẩy máy chủ HTTP/2.

Giá trị trả về
Date?

java.util.Date biểu thị thời điểm nhận được byte đầu tiên của một công nghệ đẩy của máy chủ HTTP/2. null nếu không dùng tính năng đẩy từ máy chủ.

getReceivedByteCount

abstract fun getReceivedByteCount(): Long?

Trả về tổng số byte nhận được qua lớp truyền tải mạng hoặc null nếu không được thu thập. Số byte không bao gồm bất kỳ lệnh chuyển hướng nào trước đó.

getRequestEnd

abstract fun getRequestEnd(): Date?

Trả về thời gian khi yêu cầu hoàn tất.

Giá trị trả về
Date?

java.util.Date biểu thị thời điểm yêu cầu hoàn tất.

getRequestStart

abstract fun getRequestStart(): Date?

Trả về thời gian bắt đầu yêu cầu.

Giá trị trả về
Date?

java.util.Date biểu thị thời điểm yêu cầu gốc thực sự bắt đầu. Dấu thời gian này sẽ khớp với đồng hồ hệ thống tại thời điểm mà dấu thời gian đó biểu thị.

getResponseStart

abstract fun getResponseStart(): Date?

Trả về thời gian nhận được phần cuối của tiêu đề phản hồi.

Giá trị trả về
Date?

java.util.Date biểu thị thời điểm nhận được phần cuối của tiêu đề phản hồi.

getSendingEnd

abstract fun getSendingEnd(): Date?

Trả về thời gian khi yêu cầu gửi hoàn tất.

Giá trị trả về
Date?

java.util.Date biểu thị thời điểm gửi xong nội dung yêu cầu HTTP. (Nội dung yêu cầu được gửi sau khi tiêu đề yêu cầu được gửi.)

getSendingStart

abstract fun getSendingStart(): Date?

Trả về thời gian bắt đầu gửi yêu cầu.

Giá trị trả về
Date?

java.util.Date biểu thị thời điểm bắt đầu gửi tiêu đề yêu cầu HTTP.

getSentByteCount

abstract fun getSentByteCount(): Long?

Trả về tổng số byte được gửi qua lớp truyền tải mạng hoặc null nếu không được thu thập.

getSocketReused

abstract fun getSocketReused(): Boolean

Trả về việc ổ cắm có được dùng lại từ một yêu cầu trước đó hay không. Trong HTTP/2 hoặc QUIC, nếu các luồng được ghép kênh trong một kết nối duy nhất, thì hàm này sẽ trả về true cho tất cả các luồng sau luồng đầu tiên.

Giá trị trả về
Boolean

liệu yêu cầu này có sử dụng lại một ổ cắm từ yêu cầu trước đó hay không. Khi true, thời gian DNS, kết nối và SSL sẽ là null.

getSslEnd

abstract fun getSslEnd(): Date?

Trả về thời gian khi quá trình bắt tay SSL kết thúc. Đối với QUIC, thời gian này sẽ giống với getConnectEnd.

Giá trị trả về
Date?

java.util.Date biểu thị thời điểm hoàn tất quy trình bắt tay SSL. null nếu không dùng SSL hoặc nếu ổ cắm được dùng lại (xem getSocketReused).

getSslStart

abstract fun getSslStart(): Date?

Trả về thời gian bắt đầu bắt tay giao thức SSL. Đối với QUIC, thời gian này sẽ giống với getConnectStart.

Giá trị trả về
Date?

java.util.Date biểu thị thời điểm bắt đầu bắt tay SSL. null nếu không dùng SSL hoặc nếu ổ cắm được dùng lại (xem getSocketReused).

getTotalTimeMs

abstract fun getTotalTimeMs(): Long?

Trả về số mili giây giữa thời điểm bắt đầu và kết thúc yêu cầu, bao gồm cả trường hợp thất bại hoặc huỷ bỏ, hoặc null nếu không thu thập được. VIỆC CẦN LÀM(mgersh): Xoá sau khi API mới hoạt động http://crbug.com/629194

getTtfbMs

abstract fun getTtfbMs(): Long?

Trả về số mili giây giữa thời điểm bắt đầu yêu cầu và byte đầu tiên của tiêu đề phản hồi, hoặc null nếu không được thu thập. VIỆC CẦN LÀM(mgersh): Xoá sau khi API mới hoạt động http://crbug.com/629194