--- title: Long Tasks API slug: Web/API/Long_Tasks_API tags: - API - Experimental - Landing - Long Tasks API - Overview - Performance - PerformanceLongTaskTiming - Reference - TaskAttributionTiming - Web Performance translation_of: Web/API/Long_Tasks_API ---
{{DefaultAPISidebar("Long Tasks")}}
実験的な Long Tasks API(長いタスク API)により、50ミリ秒以上かかるタスクを可視化できます。 50ミリ秒のしきい値は、RAIL モデル、特に「Response: process events in under 50ms(応答: 50ミリ秒未満でイベントを処理、英語版を参照のこと)」のセクションから来ています。
50ミリ秒以上メインスレッドをブロックするタスクは、次のような問題があります。
Long Tasks API によって使用されるいくつかの重要な用語またはアイデア。
メイン UI スレッドが50ミリ秒以上ビジーである継続期間。 一般的な例は次のとおりです。
「犯人の閲覧コンテキストコンテナ(Culprit browsing context container)」、または略して「コンテナ」は、タスクが発生した最上位ページ、iframe、embed、object です。
タスクが発生したコンテナのリスト。 トップレベルページ内で発生しないタスクの場合、containerId
、containerName
、containerSrc
の各フィールドは、タスクのソースに関する情報を提供することがあります。
var observer = new PerformanceObserver(function(list) { var perfEntries = list.getEntries(); for (var i = 0; i < perfEntries.length; i++) { // 長いタスク通知を処理します // 分析とモニタリングについて報告する // ... } }); // 長いタスク通知用のオブザーバーを登録する observer.observe({entryTypes: ["longtask"]}); // この後スクリプトを長時間実行すると、オブザーバー内で // "longtask" エントリがキューに入れられ、受信されます。
仕様 | 状態 | コメント |
---|---|---|
{{SpecName('Long Tasks')}} | {{Spec2('Long Tasks')}} | 初期定義 |
PerformanceLongTaskTiming
{{Compat("api.PerformanceLongTaskTiming")}}
TaskAttributionTiming
{{Compat("api.TaskAttributionTiming")}}