measure()
メソッドは、マーク間、ナビゲーション開始時刻、または現在時刻の間に、ブラウザのパフォーマンスエントリバッファに名前付き timestamp
を作成します。2つのマーク間を測定するときは、それぞれ開始マークと終了マークがあります。名前付きタイムスタンプは、メジャーと呼ばれます。
measure
は、Performance
インターフェイスの1つで取得できます。(getEntries()
、getEntriesByName()
またはgetEntriesByType()
)
measure
の performance 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
- メジャーの開始マークの名前を表す
DOMString
。PerformanceTiming
プロパティの名前になることもあります。省略した場合は、開始時間がナビゲーション開始時間になります。 - endMark Optional
- メジャーの終了マークの名前を表す
DOMString
。PerformanceTiming
プロパティの名前になることもあります。省略した場合は、現在時刻が使用されます。
戻り値
- 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() の定義 |
勧告 | 基本的な定義 |
ブラウザの互換性
BCD tables only load in the browser
このページの互換性テーブルは構造化データから生成されます。データに貢献したい場合は https://github.com/mdn/browser-compat-data をチェックして、プルリクエストを送ってください。