aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/api/performance/index.html
blob: ac6a83dc42504b7896234f837495d61deeea8422 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
---
title: Performance
slug: Web/API/Performance
tags:
  - API
  - Web パフォーマンス
  - インターフェイス
  - ナビゲーションタイミング
  - パフォーマンス
  - リファレンス
translation_of: Web/API/Performance
---
<p>{{APIRef("High Resolution Time")}}</p>

<p><strong><code>Performance</code></strong> インターフェイスは、現在のページのパフォーマンス関連情報へのアクセスを提供します。これはHigh Resolution Time API の一部ですが、Performance Timeline API、Navigation Timing API、User Timing API、および Resource Timing API によって拡張されています。</p>

<p>このタイプのオブジェクトは読み取り専用属性 {{domxref("window.performance")}} を呼び出すことで取得できます。</p>

<div class="note">
<p><strong><em>メモ</em>: </strong>このインターフェイスとそのメンバーは、以下に示されている場合を除き、<a href="/ja/docs/Web/API/Web_Workers_API">Web Workers</a> で利用可能です。 パフォーマンスマーカーと測定値はコンテキストごとにあることにも注意してください。メインスレッド (または他のワーカー) にマークを作成した場合、それを Worker スレッドには表示できません (その逆も同様)。</p>
</div>

<h2 id="プロパティ">プロパティ</h2>

<p><em><code>Performance</code> インターフェイスはプロパティを継承しません。</em></p>

<dl>
 <dt>{{deprecated_inline}} {{domxref("performance.navigation")}} {{readonlyInline}}</dt>
 <dd>ページがロードかリフレッシュか、リダイレクトの発生回数など、<code>timing</code> にリストされている時間に含まれる操作に関する有用なコンテキストを提供するレガシー {{domxref("PerformanceNavigation")}} オブジェクト。Worker では利用できません。</dd>
 <dt>{{deprecated_inline}}  {{domxref("performance.timing")}} {{readonlyInline}}</dt>
 <dd>待ち時間関連のパフォーマンス情報を含むレガシー {{domxref("PerformanceTiming")}} オブジェクト。Worker には利用できません。</dd>
 <dt>{{domxref("performance.memory", "performance.memory")}} {{Non-standard_inline}}</dt>
 <dd>Chrome で追加された<em>非標準の</em>拡張子で、このプロパティは基本的なメモリ使用量情報を持つオブジェクトを提供します。<em>この非標準の API を<strong>使うべきではありません</strong></em></dd>
 <dt>{{domxref("performance.timeOrigin")}} {{readonlyInline}} {{Non-standard_inline}}</dt>
 <dd>パフォーマンス測定の開始時刻のハイレゾリューションタイムスタンプを返します。</dd>
</dl>

<h2 id="メソッド">メソッド</h2>

<p><em><em><code>Performance</code> インターフェイス</em>はメソッドを継承しません。</em></p>

<dl>
 <dt>{{domxref("performance.clearMarks()")}}</dt>
 <dd>ブラウザのパフォーマンスエントリバッファから指定された<em>マーク</em>を削除します。</dd>
 <dt>{{domxref("performance.clearMeasures()")}}</dt>
 <dd>ブラウザのパフォーマンスエントリバッファから指定された<em>数値</em>を削除します。</dd>
 <dt>{{domxref("performance.clearResourceTimings()")}}</dt>
 <dd>ブラウザのパフォーマンスデータバッファから "<code>resource</code>" の {{domxref("PerformanceEntry.entryType","entryType")}} を持つすべての {{domxref("PerformanceEntry","performance entries")}} を削除します。</dd>
 <dt>{{domxref("performance.getEntries()")}}</dt>
 <dd>与えられた<em>フィルタ</em>に基づく {{domxref("PerformanceEntry")}} オブジェクトのリストを返します。</dd>
 <dt>{{domxref("performance.getEntriesByName()")}}</dt>
 <dd>指定された<em>名前</em><em>エントリタイプ</em>に基づいて {{domxref("PerformanceEntry")}} オブジェクトのリストを返します。</dd>
 <dt>{{domxref("performance.getEntriesByType()")}}</dt>
 <dd>与えられた<em>エントリタイプ</em>{{domxref("PerformanceEntry")}} オブジェクトのリストを返します。</dd>
 <dt>{{domxref("performance.mark()")}}</dt>
 <dd>指定された名前でブラウザの<em>パフォーマンスエントリバッファ</em>{{domxref("DOMHighResTimeStamp","タイムスタンプ")}}を作成します。</dd>
 <dt>{{domxref("performance.measure()")}}</dt>
 <dd>指定された2つのマーク (それぞれ<em>開始マーク</em><em>終了マーク</em>と呼ばれる) の間に、ブラウザのパフォーマンスエントリバッファ内に名前付き{{domxref("DOMHighResTimeStamp","タイムスタンプ")}}を作成します。</dd>
 <dt>{{domxref("performance.now()")}}</dt>
 <dd>参照時点から経過したミリ秒数を表す {{domxref("DOMHighResTimeStamp")}} を返します。</dd>
 <dt>{{domxref("performance.setResourceTimingBufferSize()")}}</dt>
 <dd>ブラウザのリソースタイミングバッファサイズを、指定された数の "<code>resource</code>" {{domxref("PerformanceEntry.entryType","タイプ")}} {{domxref("PerformanceEntry","パフォーマンスエントリ")}} オブジェクトに設定します。</dd>
 <dt>{{domxref("performance.toJSON()")}}</dt>
 <dd><code>Performance</code> オブジェクトを表す json オブジェクトを返す jsonizer です。</dd>
</dl>

<h2 id="イベント">イベント</h2>

<p><code>addEventListener()</code> を使用するか、このインターフェイスの <code>on<em>eventname</em></code> プロパティにイベントリスナを割り当てることで、イベントを監視します。</p>

<dl>
 <dt><code><a href="/ja/docs/Web/API/Performance/resourcetimingbufferfull_event">resourcetimingbufferfull</a></code></dt>
 <dd>ブラウザの<a href="/ja/docs/Web/API/Performance/setResourceTimingBufferSize">リソースタイミングバッファ</a>がいっぱいになったときに発生します。<code><a href="/ja/docs/Web/API/Performance/onresourcetimingbufferfull">onresourcetimingbufferfull</a></code> プロパティからも利用できます。</dd>
</dl>

<h2 id="仕様">仕様</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">仕様</th>
   <th scope="col">ステータス</th>
   <th scope="col">コメント</th>
  </tr>
  <tr>
   <td>{{SpecName('Highres Time Level 2', '#the-performance-interface', 'toJSON()')}}</td>
   <td>{{Spec2('Highres Time Level 2')}}</td>
   <td><code>toJson()</code> メソッドを定義します。</td>
  </tr>
  <tr>
   <td>{{SpecName('Highres Time', '#the-performance-interface', 'Performance')}}</td>
   <td>{{Spec2('Highres Time')}}</td>
   <td><code>now()</code> メソッドを定義します。.</td>
  </tr>
  <tr>
   <td>{{SpecName('Navigation Timing', '#sec-window.performance-attribute', 'Performance')}}</td>
   <td>{{Spec2('Navigation Timing')}}</td>
   <td><code>timing</code><code>navigation</code> プロパティを定義します。</td>
  </tr>
  <tr>
   <td>{{SpecName('Performance Timeline Level 2', '#extensions-to-the-performance-interface', 'Performance extensions')}}</td>
   <td>{{Spec2('Performance Timeline Level 2')}}</td>
   <td><code>getEntries()</code> インターフェイスを変更します。</td>
  </tr>
  <tr>
   <td>{{SpecName('Performance Timeline', '#sec-window.performance-attribute', 'Performance extensions')}}</td>
   <td>{{Spec2('Performance Timeline')}}</td>
   <td><code>getEntries()</code><code>getEntriesByType()</code> および <code>getEntriesByName()</code> メソッドを定義します。</td>
  </tr>
  <tr>
   <td>{{SpecName('Resource Timing', '#extensions-performance-interface', 'Performance extensions')}}</td>
   <td>{{Spec2('Resource Timing')}}</td>
   <td><code>clearResourceTimings()</code><code>setResourceTimingBufferSize()</code> メソッド、そして <code>onresourcetimingbufferfull</code> プロパティを定義します。</td>
  </tr>
  <tr>
   <td>{{SpecName('User Timing Level 2', '#extensions-performance-interface', 'Performance extensions')}}</td>
   <td>{{Spec2('User Timing Level 2')}}</td>
   <td><code>mark()</code><code>clearMark()</code><code>measure()</code> および <code>clearMeasure()</code> インターフェイスを明確にします。</td>
  </tr>
  <tr>
   <td>{{SpecName('User Timing', '#extensions-performance-interface', 'Performance extensions')}}</td>
   <td>{{Spec2('User Timing')}}</td>
   <td><code>mark()</code>, <code>clearMark()</code>, <code>measure()</code> および <code>clearMeasure()</code> インターフェイスを定義します。</td>
  </tr>
 </tbody>
</table>

<h2 id="ブラウザの互換性">ブラウザの互換性</h2>

<div>
<div class="hidden">このページの互換性テーブルは構造化データから生成されます。データに貢献したい場合は <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックして、プルリクエストを送ってください。</div>

<p>{{Compat("api.Performance")}}</p>
</div>