--- title: performance.measure() slug: Web/API/Performance/measure tags: - API - Web Workers - Web パフォーマンス - メソッド - リファレンス translation_of: Web/API/Performance/measure ---
{{APIRef("User Timing API")}}

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

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

measure の {{domxref("PerformanceEntry","performance entry")}} は、次のプロパティ値を持ちます。

{{AvailableInWorkers}}

構文

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

引数

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

戻り値

void
 

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

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);

仕様

仕様書 ステータス コメント
{{SpecName('User Timing Level 2', '#dom-performance-measure', 'measure()')}} {{Spec2('User Timing Level 2')}} measure() 処理モデルを明確にします。
{{SpecName('User Timing', '#dom-performance-measure', 'measure()')}} {{Spec2('User Timing')}} 基本的な定義

ブラウザの互換性

{{Compat("api.Performance.measure")}}