PerformanceLongTaskTiming

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Giao diện PerformanceLongTaskTiming cung cấp thông tin về các tác vụ chiếm luồng giao diện người dùng trong 50 mili giây hoặc hơn.

Mô tả

Các tác vụ dài chặn luồng chính trong 50ms hoặc hơn gây ra, trong số các vấn đề khác:

  • Time to interactive (TTI) bị trì hoãn.
  • Độ trễ đầu vào cao/biến thiên.
  • Độ trễ xử lý sự kiện cao/biến thiên.
  • Hoạt hình và cuộn bị giật.

Một tác vụ dài là bất kỳ khoảng thời gian liên tục nào mà luồng giao diện người dùng chính bận rộn trong 50ms hoặc lâu hơn. Các ví dụ phổ biến bao gồm:

  • Các trình xử lý sự kiện chạy lâu.
  • Reflow và re-render tốn kém.
  • Công việc trình duyệt thực hiện giữa các vòng lặp sự kiện khác nhau vượt quá 50ms.

PerformanceLongTaskTiming kế thừa từ PerformanceEntry.

PerformanceEntry PerformanceLongTaskTiming

Thuộc tính phiên bản

Giao diện này mở rộng các thuộc tính PerformanceEntry sau cho các loại mục nhập hiệu suất long task timing bằng cách xác định chúng như sau:

PerformanceEntry.duration Read only Experimental

Trả về một DOMHighResTimeStamp đại diện cho thời gian đã trôi qua giữa điểm bắt đầu và kết thúc của tác vụ, với độ chính xác 1ms.

PerformanceEntry.entryType Read only Experimental

Luôn trả về "longtask"

PerformanceEntry.name Read only Experimental

Trả về một trong các chuỗi sau đây tham chiếu đến ngữ cảnh duyệt web hoặc frame có thể được gán cho tác vụ dài.

PerformanceEntry.startTime Read only Experimental

Trả về một DOMHighResTimeStamp đại diện cho thời gian khi tác vụ bắt đầu.

Giao diện này cũng hỗ trợ các thuộc tính sau:

PerformanceLongTaskTiming.attribution Read only Experimental

Trả về một chuỗi các phiên bản TaskAttributionTiming.

Phương thức phiên bản

PerformanceLongTaskTiming.toJSON() Experimental

Trả về một biểu diễn JSON của đối tượng PerformanceLongTaskTiming.

Ví dụ

Lấy các tác vụ dài

Để lấy thông tin timing tác vụ dài, hãy tạo một phiên bản PerformanceObserver và sau đó gọi phương thức observe() của nó, truyền "longtask" làm giá trị của tùy chọn type.

js
const observer = new PerformanceObserver((list) => {
  list.getEntries().forEach((entry) => {
    console.log(entry);
  });
});

observer.observe({ type: "longtask", buffered: true });

Thông số kỹ thuật

Specification
Long Tasks API
# sec-PerformanceLongTaskTiming

Tương thích trình duyệt

Xem thêm