PerformanceEntry

PerformanceEntry オブジェクトは、パフォーマンスタイムラインの一部である単一のパフォーマンスメトリックをカプセル化します。パフォーマンスエントリは、アプリケーション内の明示的な時点でパフォーマンス mark または measure を作成する (たとえば、mark() メソッドを呼び出すことによって) ことで直接作成できます。パフォーマンスエントリは、(イメージなどの) リソースのロードなどの間接的な方法でも作成されます。

PerformanceEntry インスタンスは常に次のサブタイプのいずれかになります:

注: この機能は Web Worker 内で利用可能です

プロパティ

PerformanceEntry.name 読取専用
PerformanceEntry.entryType プロパティによって返される値をさらに指定する値。両方の値はサブタイプによって異なります。有効な値についてはプロパティページを参照してください。
PerformanceEntry.entryType 読取専用
たとえば、"mark" などのパフォーマンスメトリックの種類を表す DOMString。有効な値についてはプロパティページを参照してください。
PerformanceEntry.startTime 読取専用
パフォーマンスメトリックの開始時間を表す DOMHighResTimeStamp
PerformanceEntry.duration 読取専用
パフォーマンスイベントの期間の時間値を表す DOMHighResTimeStamp

メソッド

PerformanceEntry.toJSON()
PerformanceEntry オブジェクトの JSON リプリゼンテーションを返します。

次の例では、すべての PerformanceEntry プロパティを調べて、ブラウザがそれらをサポートしているかどうかを確認し、サポートしている場合はそれらの値をコンソールに書き込みます。

function print_PerformanceEntries() {
  // getEntries() を使用してすべてのパフォーマンスエントリのリストを取得します。
  var p = performance.getEntries();
  for (var i=0; i < p.length; i++) {
    console.log("PerformanceEntry[" + i + "]");
    print_PerformanceEntry(p[i]);
  }
}
function print_PerformanceEntry(perfEntry) {
  var properties = ["name",
                    "entryType",
                    "startTime",
                    "duration"];

  for (var i=0; i < properties.length; i++) {
    // それぞれのプロパティをチェックします。
    var supported = properties[i] in perfEntry;
    if (supported) {
      var value = perfEntry[properties[i]];
      console.log("... " + properties[i] + " = " + value);
    } else {
      console.log("... " + properties[i] + " is NOT supported");
    }
  }
}

仕様

仕様書 ステータス コメント
Resource Timing Level 3 編集者草案  
Resource Timing Level 2 草案  
Resource Timing Level 1 勧告候補 PerformanceResourceTiming インターフェイスと entryTyperesource 値を追加します。
Navigation Timing Level 2 草案  
Navigation Timing 勧告 PerformanceNavigationTiming インターフェイスと entryTypenavigation 値を追加します。
User Timing Level 2 草案  
User Timing 勧告 entryTypemark および measure の値と同様に、PerformanceMark および PerformanceMeasure インターフェイスを追加します。
Frame Timing ドラフト PerformanceFrameTiming インターフェイスと entryTypeframe 値を追加します。
Performance Timeline Level 2
PerformanceEntry の定義
勧告候補 toJSON() シリアライザメソッドを追加しました。
Performance Timeline
PerformanceEntry の定義
勧告 初期定義

ブラウザの互換性

BCD tables only load in the browser