measure() メソッドは、マーク間、ナビゲーション開始時刻、または現在時刻の間に、ブラウザのパフォーマンスエントリバッファに名前付き timestamp を作成します。2つのマーク間を測定するときは、それぞれ開始マーク終了マークがあります。名前付きタイムスタンプは、メジャーと呼ばれます。

measure は、Performance インターフェイスの1つで取得できます。(getEntries()getEntriesByName()またはgetEntriesByType())

measureperformance entry は、次のプロパティ値を持ちます。

  • entryType - "measure" に設定します
  • name - measure が作成されたときに指定された "name" に設定します
  • startTime - 開始マークに timestamp を設定します
  • duration - 小節の長さである DOMHighResTimeStamp に設定します (通常、終了マークのタイムスタンプから開始マークのタイムスタンプを引いたもの)
註: この機能は Web Workers 内で利用可能です。

構文

performance.measure(name);
performance.measure(name, startMark);
performance.measure(name, startMark, endMark);
performance.measure(name, undefined, endMark);

引数

name
メジャーの名前を表す DOMString
startMark Optional
メジャーの開始マークの名前を表す DOMStringPerformanceTiming プロパティの名前になることもあります。省略した場合は、開始時間がナビゲーション開始時間になります。
endMark Optional
メジャーの終了マークの名前を表す DOMStringPerformanceTiming プロパティの名前になることもあります。省略した場合は、現在時刻が使用されます。

戻り値

void
 

次の例は、ブラウザのパフォーマンスエントリバッファに measure() を使用して新しいメジャーパフォーマンスエントリを作成する方法を示しています。

const markerNameA = "example-marker-a"
const markerNameB = "example-marker-b"

// いくつかのネストしたタイムアウトを実行し、それぞれに対して PerformanceMark を作成します。
performance.mark(markerNameA);
setTimeout(function() {
  performance.mark(markerNameB);
  setTimeout(function() {

    // さまざまな測定値を作成します。
    performance.measure("measure a to b", markerNameA, markerNameB);
    performance.measure("measure a to now", markerNameA);
    performance.measure("measure from navigation start to b", undefined, markerNameB);
    performance.measure("measure from the start of navigation to now");

    // すべての測定値を引き出します。
    console.log(performance.getEntriesByType("measure"));

    // 最後に、エントリを整理します。
    performance.clearMarks();
    performance.clearMeasures();
  }, 1000);
}, 1000);

仕様

仕様書 ステータス コメント
User Timing Level 2
measure() の定義
草案 measure() 処理モデルを明確にします。
User Timing
measure() の定義
勧告 基本的な定義

ブラウザの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
measureChrome 完全対応 28
完全対応 28
未対応 25 — 28
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Edge 完全対応 12Firefox 完全対応 41IE 完全対応 10Opera 完全対応 33Safari 完全対応 11WebView Android 完全対応 46Chrome Android 完全対応 28
完全対応 28
未対応 25 — 28
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Firefox Android 完全対応 42Opera Android 完全対応 33Safari iOS 完全対応 11Samsung Internet Android ?

凡例

完全対応  
完全対応
実装状況不明  
実装状況不明
使用するには、ベンダー接頭辞または異なる名前が必要です。
使用するには、ベンダー接頭辞または異なる名前が必要です。

ドキュメントのタグと貢献者

このページの貢献者: silverskyvicto
最終更新者: silverskyvicto,