2016-09-23 14 views
0

gem HTTPartyとRuby Net :: HTTPで構築されているため、HTTPリクエストでタイミングの内訳が明らかになっていないようです。RubyでHTTPリクエストのタイミングを分析する方法はありますか?

たとえば、curlが公開:

を時間time_appconnect、秒単位で、それは、リモートホストへの接続/ハンドシェイクが完了したSSL/SSHの/ etcまで最初から取りました。 (7.19.0で追加)

time_connect開始からリモートホスト(またはプロキシ)へのTCP接続が完了するまでの時間(秒)。

time_namelookup開始から名前解決が完了するまでの時間(秒)。

time_pretransfer開始からファイル転送が始まるまでの時間(秒単位)。これには、関連する特定のプロトコルに固有のすべての事前転送コマンドおよびネゴシエーションが含まれます。

time_redirectすべてのリダイレクト手順に要した時間(秒)は、最終的なトランザクションが開始される前に名前検索、接続、事前転送、転送が含まれます。 time_redirectは、複数のリダイレクトの実行時間を示します。 (7.12.3で追加)

time_starttransfer開始から最初のバイトがちょうど転送されるまでの時間(秒)。これには、time_pretransferと、サーバーが結果を計算するために必要な時間も含まれます。

time_total完全な操作が持続した合計時間(秒単位)。時間はミリ秒の分解能で表示されます。

RubyやGemからDNS、TLS、SSL、ハンドシェークなどのタイミングを取得する方法はありますか?

答えて

0

いいえ、Net :: HTTPはこのような情報を公開しません。

可能性のある(あまり実用的ではありませんが)ソリューションは、各メソッド呼び出しのタイミングを取得するために、たとえばruby-profなどのスクリプトをプロファイルし、各フェーズの実行時間を決定することです。

関連する問題