PerformanceObserverEntryList: getEntriesByType() メソッド
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2020年1月.
getEntriesByType() は PerformanceObserverEntryList インターフェイスのメソッドで、指定されたパフォーマンス項目型の、明示的に監視されたパフォーマンス項目オブジェクトのリストを返します。リストのメンバーは、observe() メソッドを呼び出す際に指定された項目型の集合によって決定されます。 このリストは、オブザーバーのコールバック関数(コールバックの最初の引数)で利用できます。
構文
js
getEntriesByType(type)
引数
type-
取得する項目の型(
"mark"など)。有効な項目型は、PerformanceEntry.entryTypeに列挙されます。
返値
指定された型を持つ、明示的に監視された PerformanceEntry オブジェクトのリストです。 アイテムは、項目の startTime に基づいて時系列順に並びます。 指定された型を持つオブジェクトがない場合、または引数が指定されていない場合、空のリストが返されます。
例
>getEntries, getEntriesByName, getEntriesByType の扱い
次の例は、getEntries()、getEntriesByName()、getEntriesByType() の各メソッドの違いを示しています。
js
const observer = new PerformanceObserver((list, obs) => {
// すべての項目をログ出力
let perfEntries = list.getEntries();
perfEntries.forEach((entry) => {
console.log(`${entry.name} の時間: ${entry.duration}`);
});
// "debugging" という名前の "measure" 型の項目をログ出力
perfEntries = list.getEntriesByName("debugging", "measure");
perfEntries.forEach((entry) => {
console.log(`${entry.name} の時間: ${entry.duration}`);
});
// "mark" 型の項目をログ出力
perfEntries = list.getEntriesByType("mark");
perfEntries.forEach((entry) => {
console.log(`${entry.name} の開始時刻: ${entry.startTime}`);
});
});
// さまざまなパフォーマンスイベント型を監視
observer.observe({
entryTypes: ["mark", "measure", "navigation", "resource"],
});
仕様書
| Specification |
|---|
| Performance Timeline> # dom-performanceobserverentrylist-getentriesbytype> |