RequestFinishedInfo.Metrics

abstract class RequestFinishedInfo.Metrics


単一のリクエストで収集された指標。これらの指標のほとんどは、リクエストのライフサイクル中のイベントのタイムスタンプです。これは、パフォーマンスを調査するための詳細なタイムラインの作成に使用できます。

イベントは次の順序で発生します。

  1. request start
  2. DNS start
  3. DNS end
  4. connect start
  5. SSL start
  6. SSL end
  7. connect end
  8. sending start
  9. sending end
  10. response start
  11. request end
プッシュの開始と終了を除き、開始時間はイベントが実際に発生した時間ではなく、リクエストがイベントでブロックを開始した時間として報告されます。指標が意味を持たない場合や利用できない場合(リクエストがそのステージに到達する前に終了した場合など)、開始時間と終了時間は null になります。イベントのブロックに時間が費やされなかった場合、開始時刻と終了時刻は同じになります。

リクエスト中にシステムクロックが調整されると、一部の java.util.Date 値が一致しないことがあります。タイムスタンプは、逆方向に進まないことが保証されているクロックを使用して記録されます。すべてのタイムスタンプは、リクエスト開始時のシステムクロックに対して相対的に正しく、2 つのタイムスタンプの差を計算すると、イベント間の正しい差が得られます。このプロパティを維持するため、リクエスト開始以外のイベントのタイムスタンプは、そのイベントが表す時刻のシステムクロックと一致するとは限りません。

ほとんどのタイミング指標は LoadTimingInfo から取得されます。このクラスは の情報を保持します。

概要

パブリック コンストラクタ

パブリック関数

abstract Date?

接続の確立が完了した時刻を返します。

abstract Date?

接続の確立が開始された時刻を返します。

abstract Date?

DNS ルックアップが完了した時間を返します。

abstract Date?

DNS ルックアップが開始された時刻を返します。

abstract Date?

HTTP/2 サーバー プッシュの最後のバイトを受信した時刻を返します。

abstract Date?

HTTP/2 サーバー プッシュの最初のバイトを受信した時刻を返します。

abstract Long?

ネットワーク トランスポート レイヤで受信した合計バイト数を返します。収集されていない場合は null を返します。

abstract Date?

リクエストが終了した時刻を返します。

abstract Date?

リクエストが開始された時刻を返します。

abstract Date?

レスポンス ヘッダーの終了が受信された時刻を返します。

abstract Date?

リクエストの送信が完了した時刻を返します。

abstract Date?

リクエストの送信が開始された時刻を返します。

abstract Long?

ネットワーク トランスポート レイヤを介して送信された合計バイト数を返します。収集されていない場合は null を返します。

abstract Boolean

ソケットが前のリクエストから再利用されたかどうかを返します。

abstract Date?

SSL handshake が完了した時刻を返します。

abstract Date?

SSL handshake が開始された時間を返します。

abstract Long?

リクエストの開始から終了までの時間(ミリ秒単位)を返します。失敗またはキャンセルも含まれます。収集されていない場合は null を返します。

abstract Long?

リクエストの開始からレスポンス ヘッダーの最初のバイトまでの時間(ミリ秒単位)を返します。収集されていない場合は null を返します。

パブリック コンストラクタ

指標

Metrics()

パブリック関数

getConnectEnd

abstract fun getConnectEnd(): Date?

接続の確立が完了した時刻を返します。

戻り値
Date?

TCP 接続が確立され、HTTPS を使用している場合は SSL ハンドシェイクが完了した後に、接続の確立が完了した時点を表す java.util.Date。QUIC 0-RTT の場合、これはハンドシェイク確認の時刻を表し、getSendingStart よりも遅くなる可能性があります。ソケットが再利用された場合は nullgetSocketReused を参照)。

getConnectStart

abstract fun getConnectStart(): Date?

接続の確立が開始された時刻を返します。

戻り値
Date?

接続の確立が開始された時刻を表す java.util.Date。通常は DNS の解決が完了した時刻です。ソケットが再利用された場合は nullgetSocketReused を参照)。

getDnsEnd

abstract fun getDnsEnd(): Date?

DNS ルックアップが完了した時間を返します。これと getDnsStart は、結果が DNS サーバーから取得されたかローカル キャッシュから取得されたかに関係なく、null 以外の値を返します。

戻り値
Date?

DNS ルックアップが完了した時刻を表す java.util.Date。ソケットが再利用された場合は nullgetSocketReused を参照)。

getDnsStart

abstract fun getDnsStart(): Date?

DNS ルックアップが開始された時刻を返します。これと getDnsEnd は、結果が DNS サーバーから取得されたかローカル キャッシュから取得されたかに関係なく、null 以外の値を返します。

戻り値
Date?

DNS ルックアップが開始された時刻を表す java.util.Date。ソケットが再利用された場合は nullgetSocketReused を参照)。

getPushEnd

abstract fun getPushEnd(): Date?

HTTP/2 サーバー プッシュの最後のバイトを受信した時刻を返します。

戻り値
Date?

HTTP/2 サーバー プッシュの最後のバイトが受信された日時を表す java.util.Date。サーバープッシュが使用されていない場合は null

getPushStart

abstract fun getPushStart(): Date?

HTTP/2 サーバー プッシュの最初のバイトを受信した時刻を返します。

戻り値
Date?

HTTP/2 サーバー プッシュの最初のバイトが受信された時刻を表す java.util.Date。サーバープッシュが使用されていない場合は null

getReceivedByteCount

abstract fun getReceivedByteCount(): Long?

ネットワーク トランスポート レイヤで受信した合計バイト数を返します。収集されていない場合は null を返します。バイト数には、以前のリダイレクトは含まれません。

getRequestEnd

abstract fun getRequestEnd(): Date?

リクエストが終了した時刻を返します。

戻り値
Date?

リクエストが完了した日時を表す java.util.Date

getRequestStart

abstract fun getRequestStart(): Date?

リクエストが開始された時刻を返します。

戻り値
Date?

ネイティブ リクエストが実際に開始された時刻を表す java.util.Date。このタイムスタンプは、表す時刻のシステム時計と一致します。

getResponseStart

abstract fun getResponseStart(): Date?

レスポンス ヘッダーの終了が受信された時刻を返します。

戻り値
Date?

レスポンス ヘッダーの終了が受信された時刻を表す java.util.Date

getSendingEnd

abstract fun getSendingEnd(): Date?

リクエストの送信が完了した時刻を返します。

戻り値
Date?

HTTP リクエスト本文の送信が完了したタイミングを表す java.util.Date。(リクエスト ヘッダーの送信後にリクエスト本文が送信されます)。

getSendingStart

abstract fun getSendingStart(): Date?

リクエストの送信が開始された時刻を返します。

戻り値
Date?

HTTP リクエスト ヘッダーの送信が開始された時点を表す java.util.Date

getSentByteCount

abstract fun getSentByteCount(): Long?

ネットワーク トランスポート レイヤを介して送信された合計バイト数を返します。収集されていない場合は null を返します。

getSocketReused

abstract fun getSocketReused(): Boolean

ソケットが前のリクエストから再利用されたかどうかを返します。HTTP/2 または QUIC で、ストリームが単一の接続で多重化されている場合、最初のストリーム以降のすべてのストリームに対して true を返します。

戻り値
Boolean

このリクエストが前のリクエストのソケットを再利用したかどうか。true の場合、DNS、接続、SSL の時間は null になります。

getSslEnd

abstract fun getSslEnd(): Date?

SSL handshake が完了した時刻を返します。QUIC の場合、これは getConnectEnd と同じ時間になります。

戻り値
Date?

SSL handshake が完了した時刻を表す java.util.Date。SSL が使用されていない場合、またはソケットが再利用された場合(getSocketReused を参照)は null

getSslStart

abstract fun getSslStart(): Date?

SSL handshake が開始された時刻を返します。QUIC の場合、これは getConnectStart と同じ時間になります。

戻り値
Date?

SSL handshake が開始された時刻を表す java.util.Date。SSL が使用されていない場合、またはソケットが再利用された場合(getSocketReused を参照)は null

getTotalTimeMs

abstract fun getTotalTimeMs(): Long?

リクエストの開始から終了までの時間(ミリ秒単位)を返します。失敗またはキャンセルも含まれます。収集されていない場合は null を返します。TODO(mgersh): 新しい API が動作したら削除 http://crbug.com/629194

getTtfbMs

abstract fun getTtfbMs(): Long?

リクエストの開始からレスポンス ヘッダーの最初のバイトまでの時間(ミリ秒単位)を返します。収集されていない場合は null を返します。TODO(mgersh): 新しい API が動作したら削除 http://crbug.com/629194