Performance: getEntries() メソッド

getEntries() メソッドは、現在パフォーマンスタイムラインにあるすべての PerformanceEntry オブジェクトの配列を返します。

特定の型や特定の名前を持つパフォーマンス項目だけに関心がある場合は、 getEntriesByType()getEntriesByName() を参照してください。

メモ: このメソッドは新しいパフォーマンス項目を通知しません。このメソッドを呼び出した時点でパフォーマンスタイムラインに存在している項目のみを取得します。 利用できるようになった項目の通知を受け取るには、 PerformanceObserver を使用してください。

以下の項目型はこのメソッドではまったく対応しておらず、これらの型の項目が存在したとしても返されません。

これらの型の項目にアクセスするには、代わりに PerformanceObserver を使用する必要があります。

構文

js
getEntries()

引数

なし。

返値

PerformanceEntry オブジェクトの配列 (Array)。要素は項目の startTime に基づいて時系列に並びます。

パフォーマンスマーカーと測定値をすべてログ出力

自分自身で PerformanceMark および PerformanceMeasure オブジェクトをコードの適切な配置に作成したと想定すると、次のようにすべてコンソールにログ出力したくなるかもしれません。

js
// Example markers/measures
performance.mark("login-started");
performance.mark("login-finished");
performance.mark("form-sent");
performance.mark("video-loaded");
performance.measure("login-duration", "login-started", "login-finished");

const entries = performance.getEntries();

entries.forEach((entry) => {
  if (entry.entryType === "mark") {
    console.log(`${entry.name}'s startTime: ${entry.startTime}`);
  }
  if (entry.entryType === "measure") {
    console.log(`${entry.name}'s duration: ${entry.duration}`);
  }
});

仕様書

Specification
Performance Timeline
# dom-performance-getentries

ブラウザーの互換性

BCD tables only load in the browser

関連情報