Performance: getEntriesByName() メソッド
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2017年9月以降、すべてのブラウザーで利用可能です。
getEntriesByName() メソッドは、現在パフォーマンスタイムラインにある、指定された名前と型の PerformanceEntry オブジェクトの配列を返します。
特定の型のパフォーマンス項目だけに関心がある場合は、 getEntriesByType() を参照してください。すべてのパフォーマンス項目の場合は、 getEntries() を参照してください。
メモ:
このメソッドは新しいパフォーマンス項目を通知しません。このメソッドを呼び出した時点でパフォーマンスタイムラインに存在している項目のみを取得します。
利用できるようになった項目の通知を受け取るには、 PerformanceObserver を使用してください。
以下の項目型はこのメソッドではまったく対応しておらず、これらの型の項目が存在したとしても返されません。
"element"(PerformanceElementTiming)"event"(PerformanceEventTiming)"largest-contentful-paint"(LargestContentfulPaint)"layout-shift"(LayoutShift)"longtask"(PerformanceLongTaskTiming)
これらの型の項目にアクセスするには、代わりに PerformanceObserver を使用する必要があります。
構文
getEntriesByName(name)
getEntriesByName(name, type)
引数
name-
取得する項目の名前です。
type省略可-
"
mark" など、取得する項目の型。有効な項目型の一覧はPerformanceEntry.entryTypeにあります。
返値
指定された name と type を持つ PerformanceEntry オブジェクトの配列 (Array) です。
要素は項目の startTime に基づいて時系列に並びます。指定された基準を満たすオブジェクトがない場合は、空のリストが返されます。
例
>パフォーマンスマーカーをログ出力
次の例は、"debug-mark" という名前のオブジェクト PerformanceMark をすべてログ出力します。
const debugMarks = performance.getEntriesByName("debug-mark", "mark");
debugMarks.forEach((entry) => {
console.log(`${entry.name}'s startTime: ${entry.startTime}`);
});
仕様書
| 仕様書 |
|---|
| Performance Timeline> # dom-performance-getentriesbyname> |