Timing APIシリーズは、W3CのWeb Performance Working Groupが策定している、ブラウザのパフォーマンス計測用APIである。
API
- User Timing API
- 任意のタイミングの時間計測
- Navigation Timing API
- ブラウザ表示に関する時間取得
- Resource Timing API
- リソースのロードに関する時間取得
- Frame Timing API
- フレーム表示に関する時間取得
- Server Timing API
- サーバが送信するヒント情報の取得
- High Resolution Time API
- マイクロ秒単位のタイムスタンプ
ストリーミング
HLSやMPEG DASHについては、メディアチャンクをHTTPによりダウンロードしており、Resource Timing APIにより詳細情報を取得することができる。
Resource Timing API
値が取れるタイミングは以下(時間順)
サンプル(単位はミリ秒)
また、全体の処理時間(responseEnd-startTime)は以下の変数に格納される
- duration
注意点
- クロスドメインの制限がある
- メディアサーバが、チャンクファイルの送信時にTiming-Allow-Originヘッダを付与しないとstartTimeとresponseEndの時間のみしか取得できない(値が0となる)
- タイミングデータは、それぞれのチャンクのダウンロード終了時に、グローバル変数(配列)に自動的に追加される。
- 同期的な処理を行うにはテクニックが必要