2010-03-04 42 views
1

記錄基於restlet的webservice響應時間的最簡單方法是什麼?在基於restlet的webservice中記錄響應時間

我想確保我們的webservice具有合理的響應時間。因此,我希望能夠密切關注響應時間,並對請求花費太長時間做一些事情。

我能找到的最接近的是這個配方:http://www.naviquan.com/blog/restlet-cookbook-log,它解釋瞭如何更改日誌格式。但似乎沒有響應時間的參數,所以可能需要完全不同的方法。

回答

3

嗯,測井響應時間簡單方式,當然,通過你的Restlet結束通話System.getCurrentTimeMillis()在你的Restlet開始,然後再和記錄的差異。那當然不會給你框架開銷,我懷疑它比你以前更加天真和微不足道。

我張貼它,但是,因爲10天之後沒有人回答你,我懷疑這是因爲每個人的靜靜的思考

「你就不能使用System.getCurrentTimeMillis()?否,這肯定是一個愚蠢的答案;如果我這麼說,我會看起來像一個白癡,我只是等待其他人發表第一篇文章。「

+0

好吧,但我怎麼可以像這樣的例子結合這個LogService?我在哪裏添加代碼來啓動計數器? – amarillion 2010-03-20 20:21:10

+0

您可以獲取LogService正在使用的JDK記錄器的名稱,並將日誌消息寫入該JDK記錄器。另外,我注意到LogService確實有一個響應時間參數 - 從http://www.restlet.org/documentation/1.1/api/org/restlet/service/LogService.html參數13是「服務請求的時間(以毫秒爲單位)「 – 2010-03-24 02:51:34

0

我不認爲日誌是去這裏的方式,至少不是內置到Restlet或Java API中的任何類型的日誌記錄。這些程序旨在用於面向程序化調試的日誌記錄或訪問日誌記錄,旨在提供關於哪些資源正在使用以及由誰來使用的統計信息。但真正的問題是,你不會衡量你的用戶對你的服務的真實體驗。

如果你想測量你的用戶將會遇到的響應時間,那麼你真的需要有一個採樣方法,它位於你的應用程序棧之外,理想情況是在你的數據中心之外,以便儘可能地模擬儘可能讓您的用戶使用您的服務的真實條件。

如果您只需要測試相當直接的GETPOST請求的結果,像Pingdom這樣的服務可能就足夠了。如果您的服務比較複雜,那麼您可能需要編寫自己的採樣應用程序/腳本,它可以作爲Pingdom等的代理服務器,用於您的實際服務。您應該將採樣代理放置在與實際服務不同的服務器上。 Google的App Engine可能對此很方便。