2016-09-23 43 views
0

gem HTTParty和構建在Ruby Net :: HTTP中似乎沒有公開HTTP請求中的時序分解。有沒有辦法在Ruby中獲取HTTP請求的時間細分?

例如,curl暴露:

time_appconnect的時間,以秒計,它從開始了,直至SSL/SSH /等連接/握手到遠程主機完成。 (在7.19.0中添加)

time_connect從開始到TCP連接到遠程主機(或代理)完成所花費的時間,以秒爲單位。

time_namelookup從開始到名稱解析完成的時間,以秒爲單位。

time_pretransfer從開始到文件傳輸即將開始的時間(以秒爲單位)。這包括特定於所涉及的特定協議的所有傳輸前命令和協商。

time_redirect所有重定向步驟所用的時間(包括名稱查找,連接,預轉移和最終事務開始前的傳輸)以秒爲單位。 time_redirect顯示多個重定向的完整執行時間。 (在7.12.3中增加)

time_starttransfer從開始到第一個字節即將被傳輸所用的時間,以秒爲單位。這包括time_pretransfer以及服務器計算結果所需的時間。

time_total完整操作持續的總時間(以秒爲單位)。時間將以毫秒分辨率顯示。

有沒有辦法從Ruby或寶石獲取時間,如DNS,TLS,SSL和握手?

回答

0

不,Net :: HTTP不公開此類信息。

一個可能的(雖然不是很實用)解決方案是使用例如ruby-prof來分析您的腳本以獲取每個方法調用的時間,並確定每個階段的執行時間。

相關問題