PerformanceEntry: entryType プロパティ
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2017年9月.
メモ: この機能はウェブワーカー内で利用可能です。
entryType プロパティは読み取り専用で、この項目が表すパフォーマンス指標の種類を表す文字列です。
対応している entryTypes はすべて、静的プロパティである PerformanceObserver.supportedEntryTypes を使用して得ることができます。
値
文字列です。返値は PerformanceEntry オブジェクトのサブタイプに依存します。一部のサブタイプには複数の entryType があります。
element-
要素の読み込み時間を報告します。
項目のインスタンスは
PerformanceElementTimingオブジェクトです。 event-
イベントの待ち時間を報告します。
項目のインスタンスは
PerformanceEventTimingオブジェクトです。 first-input-
first input delay (FID) を報告します。
項目のインスタンスは
PerformanceEventTimingオブジェクトです。 largest-contentful-paint-
画面で起動された要素の最大の描画を報告します。
項目のインスタンスは
LargestContentfulPaintオブジェクトです。 layout-shift-
ページ上の要素の動きに基づいて、ウェブページのレイアウトの安定性を報告します。
項目のインスタンスは
LayoutShiftオブジェクトです。 longtask-
長いタスクのインスタンスを報告します。
項目のインスタンスは
PerformanceLongTaskTimingオブジェクトです。 mark-
独自のパフォーマンスマーカーを報告します。
項目のインスタンスは
PerformanceMarkオブジェクトです。 measure-
独自のパフォーマンス指標を報告します。
項目のインスタンスは
PerformanceMeasureオブジェクトです。 -
文書のナビゲーションタイミングを報告します。
項目のインスタンスは
PerformanceNavigationTimingオブジェクトです。 paint-
ページ読み込み中の文書レンダリングの主要な瞬間(最初の描画、最初のコンテンツ描画)を報告します。
項目のインスタンスは
PerformancePaintTimingオブジェクトです。 resource-
文書内のリソースのタイミング情報を報告します。
項目のインスタンスは
PerformanceResourceTimingオブジェクトです。 taskattribution-
長いタスクに大きく貢献した作業タイプを報告します。
項目のインスタンスは
TaskAttributionTimingオブジェクトです。 visibility-state-
タブがフォアグラウンドからバックグラウンドへ、またはその逆へ変化したときなど、ページの表示状態が変化した時刻を報告します。
項目のインスタンスは
VisibilityStateEntryオブジェクトです。
例
>パフォーマンス項目を種類別に絞り込み
entryType プロパティは、固有のパフォーマンス項目を絞り込みする際に有益なものです。例えば、すべてのスクリプトリソースを調べたい場合、 entryType が "resource" で initiatorType が "script" であることをチェックしてください。
const scriptResources = performance
.getEntries()
.filter(
(entry) =>
entry.entryType === "resource" && entry.initiatorType === "script",
);
console.log(scriptResources);
パフォーマンス項目を種類別に取得
Performance と PerformanceObserver はどちらも、パフォーマンス項目を種類別に直接取得するメソッドを提供します。代わりに Performance.getEntriesByType() または PerformanceObserverEntryList.getEntriesByType() を使用することができます。
また、 PerformanceObserver で監視する場合、 observe() メソッドはオプションオブジェクトに entryTypes の配列を受け取り、そこで監視する項目の種類を決めることができます。
// この時点ですべてのリソース項目をログ出力
const resources = performance.getEntriesByType("resource");
resources.forEach((entry) => {
console.log(`${entry.name}'s duration: ${entry.duration}`);
});
// PerformanceObserver 版
// 利用できるすべてのリソース項目をログ出力
function perfObserver(list, observer) {
list.getEntriesByType("resource").forEach((entry) => {
console.log(`${entry.name}'s duration: ${entry.duration}`);
});
}
const observer = new PerformanceObserver(perfObserver);
observer.observe({ entryTypes: ["resource", "navigation"] });
仕様書
| Specification |
|---|
| Performance Timeline> # dom-performanceentry-entrytype> |
ブラウザーの互換性
Loading…