uhyohyo.net

JavaScript初級者から中級者になろう

十五章第三回 Performance Timeline

このページの最終更新日:

今回紹介するPerformance Timelineは、前回のNagivation Timingをある意味拡張したもので、またもや時間に関する話です。

前回は、performanceのtimingプロパティにPerformanceTimingプロパティが入っており、それでページの表示に要した時間の情報が得られるというものでした。

PerformanceEntry

実は、時間計測の情報をPerformanceオブジェクト(window.performance)から取得する方法は他にもあります。Performanceオブジェクトには時間計測の情報がPerformanceEntryオブジェクトの形で保存されています。普通は複数の計測が行われるため、複数のオブジェクトが登録されています。

全てのPerformanceEntryオブジェクトは以下のプロパティを持ちます。ものによってはさらに追加の情報を持ちます。

name
そのPerformanceEntryオブジェクトに付けられた名前です。
entryType
PerformanceEntryオブジェクトの種類です。
startTime
そのPerformanceEntryオブジェクトで最初に記録された時間です。
duration
そのPerformanceEntryオブジェクトでの一連の時間計測が終了するまでの時間です。

ここで、「時間」というのは数値で表されています。前回同様にこの数値はミリ秒単位で表されていますが、今回は数値が小数になる可能性があります。その精度は最大で0.001ミリ秒ですが、実際の精度はブラウザやハードウェアに依存するでしょう。

PerformanceEntryオブジェクトの例はとりあえず後回しにするとして、Performanceオブジェクトに登録されたPerformanceEntryオブジェクトを見る方法を紹介します。それには、PerformanceオブジェクトのgetEntriesメソッドを使用します。このメソッドは引数なしで、返り値は登録されているPerformanceEntry全ての配列です。

他に、引数に文字列を指定することでentryTypeによる絞り込みができるgetEntriesByTypeメソッドと、同じくnameによる絞り込みができるgetEntriesByNameメソッドがあります。さらにgetEntriesByNameメソッドの場合、第2引数によりentryTypeによる絞り込みもできます。

以上でPerformanceEntryオブジェクトの取得方法は分かりましたね。しかし、具体的にどんな種類のPerformanceEntryがあるのかを知らないと役に立ちそうにありません。というわけで、次回からはPerformanceEntryの種類を解説していきます。

短いですが導入編ということで、今回はこれで終わりです。