2016-11-25 57 views
2

我們正在處理定期進入的消息。我們使用codahale dropwizard度量''Timer'來測量處理它們所花費的時間。如何重置dropwizard指標的計時器?

我發現有人有同樣的問題here: 「與指數衰減水庫的問題是,如果沒有新的數據進來,這將繼續給予同樣的號碼所有的時間。例如,讓我們說你更新計時器與5和7(然後不放任何東西),然後無論你什麼時候看到(甚至在x小時後),定時器仍然會顯示平均值爲6,這不代表最後5分鐘的任何方式 所以,它只有在數據始終到達時纔有效。「

你可以用深藍色線看: enter image description here

但是,沒有任何建議,以解決這個問題。他們說它不會被執行:https://github.com/dropwizard/metrics/issues/399

如何正確地重置這些定時器,或者我應該如何可視化它,以免混淆?

回答

4
Note: It is too long for comment. 

使用SlidingTimeWindowReservoir將覆蓋大部分的用例。 但隨着this comment指出,有可能是根據事件的數量問題: 它保持在成爲在大量事件

不可接受的,我們可以做的更好的內存窗口中的所有測量?讓我們繼續搜索。如果我們很幸運,我們會發現this blog post。它描述了你的那種問題。有一個簡單的骯髒解決方案的鏈接。另外建議使用HdrHistogram

同樣在metrics mailing list上有幾條關於這個問題的消息。 對於example並且指向Marshall Pierce/hdrhistogram-metrics-reservoir。什麼是HdrHistogram以及爲什麼用它來測量延遲檢查項目描述。

最後經過一些挖掘,你也可以找到vladimir-bukhtoyarov/metrics-core-hdr 項目。它也使用HdrHistogram

因此,有兩個類似的庫使用相同的數據結構和索賠來解決您遇到的問題。

+0

你的答案比我的要詳細得多:) –

0

我剛剛用hdrhistogram-metrics-reservoir進行了一個快速測試,似乎工作正常。

現在我想知道爲什麼這不包括在Dopwizard的官方版本?有什麼想法嗎?